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

​Here is the format of the frame:

The trigger frame is a broadcast frame and you can use this filter to fidn it in Wireshark: wlan.fc == 0x2400.

It has the following characteristics:

  • Type: Control (wlan.fc.type == 1)
  • Sub-Type: 2 (wlan.fc.subtype == 2)


Here is what you see in the packet capture:

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 is the structure of 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)


​Here is an example of a common field:

In this example we can see that we will be using a 20MHz wide channel, 2x LFT + 1.6us GI for the multi-user communication. The AP used a combined transmit power of 21dBm to send the trigger frame.

The User Info Field

The User Info field provides details on each client devices participating in the same upcoming OFDMA transmission.

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)

​Here is an example of a common field:

In this example, we can see that 2x STA will be sharing the 20MHz channel in 2x 106-tones Ressource Units.
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:

​​
Thank you for reading!

written by François Vergès

Leave a Reply

Your email address will not be published. Required fields are marked *