The 802.11ax Trigger Frame
In 802.11ax communications, the trigger frame is used for multiple purposes. One of them is to allocate ressources for a specific multi-user OFDMA transmission.
In this article, we are going to take a deeper look at some of the interesting fields we will find in this trigger frame. For more details, you can look at section “9.3.1.22 Trigger frame format” of the 802.11ax-D4 IEEE draft.
THE FRAME FORMAT
It has the following characteristics:
- Type: Control (wlan.fc.type == 1)
- Sub-Type: 2 (wlan.fc.subtype == 2)
Two information fields are very interesting:
- The Common Info
- The User Info
Let’s take a deeper look at what they contain.
THE COMMON INFO FIELD
Here are some of the interesting sub-fields:
- UL Length: it indicates the length of the expected response frame (filter = wlan.trigger.he.ul_length)
- UL BW (Up Link Bandwidth): it indicates the bandwidth of the transmission (filter = wlan.trigger.he.ul_bw)
- 0 means 20MHz
- 1 means 40MHz
- 2 means 80MHz
- 3 means 80+80MHz or 160MHz
- GI and LTF Type: it indicates which guard interval and long training field will be used for the transmission (filter = wlan.trigger.he.gi_and_ltf_type)
- 0 means 1x HE-LFT + 1.6us GI will be used
- 1 means 2x HE-LFT + 1.6us GI will be used
- 3 means 4x HE-LFT + 3.2us GI will be used
- AP TX Power: when the AP sends the trigger frame, it will provide the Tx Power used to transmit the frame (filter = wlan.trigger.he.ap_tx_power)
THE USER INFO FIELD
Here are some of the interesting sub-fields:
- Association ID: indicates the association ID of the addressed STA (filter =
wlan.trigger.he.user_info.aid12)
- RU Allocation: indicates the size and location of the ressource unit allocated for the addressed STA (filter = wlan.trigger.he.ru_allocation)
- UL MCS: indicates which MCS is expected the STA to use (filter = wlan.trigger.he.mcs)
- SS Allocation: indicates the number of spatial streams to be used by the addressed STA. You will have to minus 1 to the number. (filter = wlan.trigger.he.ru_number_of_spatial_stream)
- Target RSSI: indicates the the expected RSSI of the PPDU to be sent on the RU (filter = wlan.trigger.he.target_rssi)
Both client devices are expected to be using MCS 11, 1 spatial streams. And their PPDUs is expected to be received with a RSSI of -30dBm.
SOME ADDITIONAL RESOURCES
Here are a couple of interesting articles you can read to learn more about it:
- UL OFDMA Basic Trigger Frame and Multi-STA-BlockACK From Gjermund Raeen: https://gjermundraaen.com/2019/08/26/ul-ofdma-basic-trigger-frame-and-multi-sta-blockack/
- LENGTH – The Underestimated Parameter in 802.11 by Gjermund Raeen: https://gjermundraaen.com/2019/11/19/length-the-underestimated-parameter-in-802-11/
- 802.11ax remote packet captures: https://www.semfionetworks.com/blog/80211ax-remote-packet-captures-using-the-jetson-nano
- Clear To Send Podcast Series on 802.11ax: http://cleartosend.net/ax
- Identifying 802.11ax support using Wireshark by Rowell Dionicio: https://rowelldionicio.com/identifying-802-11ax-support-wireshark/
Thank you for reading!
Can you share the PCAP files
Can you share the PCAP files which you used in this article.