WiFi Insider


A Brief Introduction to IEEE 802.11e

In IEEE 802.11e, two types of QoS are identified – prioritized QoS and parameterized QoS. Prioritized QoS is a weak requirement that enforces relative priority between traffic classes. Parameterized QoS, on the other hand, is a strict requirement expressed quantitatively in terms of the QoS parameters.

A new access mechanism (called as HCF – Hybrid Coordination Function) has been defined with EDCA for contention based and HCCA for contention free access methods. Please recall that DCF is contention based while PCF is contention free access methods in 802.11

A few additional mechanisms have been added to improve channel utilization and efficiency. These are “Block Acknowledgement”, “Direct Link Setup”, “Automatic Power Save Delivery” among others.

The 802.11 header has been modified to add a new field to classify the type of traffic. The TID (traffic ID) is used to select a UP (user priority) for prioritized QoS or a TSPEC (traffic specification) for parameterized QoS. TID values between 0 – 7 are considered user priorities and these are identical to the IEEE 802.1D priority tags. TID values between 8 – 16 refer to TSPECs.

A TSPEC between an AP and an STA is negotiated by means of new management commands – ADDTS Request, ADDTS Response and DELTS. After a TSPEC is successfully negotiated, an STA can get a TXOP by one of two ways:

  • Using EDCA, an STA can contend for the medium, and if it acquires the medium can use the medium for TXOP time limit. The STA must observe the TXOP time limit as specified in an IE in beacons.
  • During CP/CFP, an AP can grant an STA a TXOP using the QoS CF-Poll (called as “polled TXOP” in contrast to “EDCA TXOP”). The TXOP limit is specified in the CF-Poll frame. While the spec allows an AP to grant a “polled TXOP” to an STA during either CFP or CP, it is recommended that it not be issued during CFP, but only during CP for reasons of simplicity in implementation.

Wireless Media Extensions (WME)

Wireless Media Extensions (WME), also referred to as WiFi Multimedia (WMM), is an industry driven initiative to ensure that a basic subset of IEEE 802.11e QoS mechanisms are interoperable. As such, WME supports only EDCA but not HCCA. Without HCCA, parametererized QoS can not be supported. As mentioned earlier, prioritized QoS identifies four traffic classes (or Access Categories) with differing priorities. The 8 user priorities of 802.1D map to these 4 ACs. Also, the Atheros code maps TOS fields in IP headers to these 4 ACs.
AC Number Name Description
0BEBest effort
1BKBackground
2VIVideo
3VOVoice

Atheros’ MAC uses the following parameters to set QoS priorities. The parameters CWmin, CWmax and AIFS together control the priority of the 4 ACs. The parameter TxOp lets the AP take control of the medium for an extended time so as to transmit data frames in quick succession and this is sometimes referred to as frame bursting.
QoS Parameter Default Value Valid Range Description
CWmin AC-BE 4 0 - 15 Minimum size of contention window
AC-BK 4
AC-VI 3
AC-VO 2
CWmax AC-BE 6 0 - 15 Maximum size of contention window
AC-BK 10
AC-VI 4
AC-VO 3
TxOp AC-BE 0 0 - 8192 Transfer opportunity limit in units of 32 microseconds. A value of 0 implies one MPDU.
AC-BK 0
AC-VI 3008
AC-VO 1504
AIFS AC-BE 3 0 - 15 Arbitration Inter Frame Space
AC-BK 7
AC-VI 1
AC-VO 1
NoAckPolicy 0 0 - 1 When set, 802.11 ACKs are disabled
U-APSD 1 0 - 1 Unscheduled Automatic Power Save Delivery



U-APSD

UAPSD enables an STA to retrieve unicast QoS traffic buffered in the AP by sending trigger frames. During association/re-association, an STA indicates (in the QoS Info field) which Access Categories are UAPSD enabled. For non-UAPSD enabled ACs, an STA shall continue to use legacy mechanisms, namely PS-Polls, as a means to retrieve the legacy power-save buffered frames.

WMM Power-Save Advertisement

The UAPSD enabled AP advertises its capability by setting the UAPSD (bit 7) of the QoS Info field in either the WMM Information Element or the WMM Parameter Element. This capability is advertised in Beacons, Probe Responses and (Re)Association Responses.

U-APSD enabled STA Association

The QoS Info field in the Association request from STA indicates which ACs shall use the UAPSD mechanism. It also specifies the maximum SP length which indicates the number of buffered frames the AP may send per service period. As WMM/WME does not support parametrized QoS, these parameters can only be negotiated during (re)association time.

STA sets Power Management

An STA sets the PM bit in the frame control field to indicate that it is in power-save mode. The AP will then start to buffer frames of delivery enabled ACs in the UAPSD queue and non-delivery enabled ACs in legacy power-save queue. The AP will not buffer frames for an STA in Active mode, as indicated by a 0 in the PM bit.

STA sends UAPSD Trigger

An STA in power-save mode can send a QoS NULL or QoS Data frame to trigger the AP to send buffered frames. The AP acknowledges the trigger and then follows it up with up to "maxSP" number of frames. The last frame transmitted in the SP will have the EOSP bit set. All transmitted frames will have MORE bit set with the exception of the last frame that has the EOSP set. The last frame will have the MORE bit set only if there are more buffered frames in the delivery enabled queue. If there are no buffered frames on the AP when the trigger is received, the AP will respond with a QoS NULL frame with EOSP set to end the current Service Period.

QoS Commands for Atheros 802.11 based radios

As of now, there is no support for parameterized QoS or HCCA for Atheros based radios. Accordingly, features of prioritized QoS are only described.


Enable WMM:
iwpriv ath0 wmm 1 

Disable WMM:
iwpriv ath0 wmm 0 

Query WMM setting:
iwpriv ath0 get_wmm
Configuring and Querying EDCA Parameter Set
Set CW¬¬min
iwpriv ath0 cwmin  0 
ac = 0, 1, 2, 3
cwmin = 0 - 15

Set CW¬¬max
iwpriv ath0 cwmax  0 
ac = 0, 1, 2, 3
cwmax = 0 - 15

Set TxOp Limit
iwpriv ath0 txoplimit  0 
ac = 0, 1, 2, 3
txop = 0 - 8192

Set AIFS
iwpriv ath0 aifs  0 
ac = 0, 1, 2, 3
aifs = 0 - 15

Query CW¬¬min
iwpriv ath0 get_cwmin  0
ac = 0, 1, 2, 3

Query CW¬¬max
iwpriv ath0 get_cwmax  0
ac = 0, 1, 2, 3

Query TxOp Limit
iwpriv ath0 get_txoplimit  0
ac = 0, 1, 2, 3

Query AIFS
iwpriv ath0 get_aifs  0
ac = 0, 1, 2, 3

Query all WMM Parameters
Wlanconfig ath0 list wme
Configuring Other 802.11e Parameters
Set NoAckPolicy
iwpriv ath0 noackpolicy  0 
ac = 0, 1, 2, 3
enable = 1, disable = 0

Query NoAckPolicy
iwpriv ath0 get_noackpolicy  0
ac = 0, 1, 2, 3

Enable U-APSD
iwpriv ath0 uapsd 1

Disable U-APSD
iwpriv ath0 uapsd 0

Query NoAckPolicy
iwpriv ath0 get_uapsd
Simple Test to Verify QoS The ICMP application “ping” may be used to set TOS in IP headers and may be used to quickly verify QoS functionality. The following command can be issued to send the ICMP packets with appropriate TOS settings. ping –Q –C tos = 0 or 96 (AC-BE), 32 or 64 (AC-BK), 128 or 160 (AC-VI), 192 or 224 (AC-VO)