Introduction
You probably have seen references to WMM (Wi-Fi Multimedia) in the specs and feature descriptions of many wireless LAN products. Typically, they say something like "Support for WMM provides improved QoS over wireless connections for better video and voice performance".
But have you ever seen "better video and voice performance" from using WMM? Or even known if you were using it? Well, if your answer is "No", then we’re in the same boat. However, I’m finally going to try to answer the question posed up there at the top of the page. But first, a little background.
WMM Basics
WMM is a subset of IEEE 802.11e (MAC Enhancements for Quality of Service) that came into being in 2004 as 11e was slowly wending its way to becoming a standard (which happened in mid-2005). The Wi-Fi Alliance took a subset of 11e—more accurately a profile of 11e—created a Certification test suite and called it Wi-Fi Multimedia or WMM.
The Alliance’s Wi-Fi CERTIFIED for WMM white paper presents a good overview of the topic and I have drawn most of the following explanation from it. It also contains this important starting point for understanding WMM.
The WMM Checklist
To take advantage of WWM functionality in a Wi-Fi network, three requirements have to be met:
(1) the access point is Wi-Fi CERTIFIED for WMM and has WMM enabled;
(2) the client (device) that the application is running on must be Wi-Fi CERTIFIED for WMM; and
(3) the source application supports WMM. [emphasis mine]
As indicated by the bold italics, it turns out that the third point is the weak link in the path to all the QoS goodness promised by WMM. But let’s come back to that later.
According to the white paper, WMM defines four access categories (ACs) derived from 802.1d, which correspond to priority levels (Table 1). The 802.1d tags are also used by 802.1p.
Table 1: WMM Access Categories
from Wi-Fi CERTIFIED for WMM
WMM specifies a protocol used by the AP to communicate the policy to QoS-enabled clients and by the clients to send transmit requests. WMM does not, in itself set the priority policy;that is the job of application or device that is sending the data.
The white paper contains a handy visual aid (Figure 1) to illustrate how three properly-prioritized data streams should behave with and without WMM. These throughput vs. time plots should be familar to regular SNB readers. They are similar to the IxChariot plots we use to show wireless product throughput stability and other performance parameters.
Figure 1: WMM in action
The top plot in Figure 1 shows WMM maintaining a smooth 10 Mbps rate for a video stream when data streams with lower priority cause total bandwidth to be exceeded. The Video stream is left with as much bandwidth as it needs, while the lower-priority streams are slowed to provide the required bandwidth.
The lower plot, which shows what happens when WMM is not in effect, shows all streams dropping back in speed when the third stream again causes available bandwidth to be exceeded.
The Wi-Fi white paper goes into a bit more detail on the mechanics of how all this is accomplished. But the explanation above is enough for us to know what we should be looking for to see if WMM is working.
WMM Controls
So before we can start testing, we need to ensure that the first two requirements in the WMM checklist are met. My current router, a D-Link DIR-655, has its WMM certification and its WMM enable is found on the Advanced Wireless settings page (Figure 2).
Figure 2: DIR-655 with WMM Enabled
Note that the DIR-655, and most of the D-Link router line, also has automatic QoS using Ubicom’s StreamEngine technology. The 655 also has the wireless form of StreamEngine, known as WISH (Wireless LAN Intelligent Stream Handling). But neither of those has anything to do with WMM.
It’s also easy to find wireless clients that are WMM Certified. All three notebooks that I used in my WMM testing had WMM Certified adapters: Intel PRO/Wireless 2915ABG;Intel WiFi Link 5100 AGN ; and Intel WiFi Link 5300 AGN.
Finding the WMM controls on the adapters is harder, however. The only WMM control that I could find was for AdHoc mode (Figure 2) on the 5100 AGN and 5300 AGN. And the 2915 AGN didn’t even have that control.
Figure 2: WMM Ad Hoc control
But this Intel article says that WMM is enabled by default in the 2915 AGN. The 2915 AGN also supports an Intel Throughput Enhancement control for uplink throughput enhancement. But it is overridden if the adapter is associated with an AP that has WMM enabled.
The article also says that the Intel Throughput Enhancement control is supported in PROSet/Wireless Software 9.0 and later. So since all three adapters were running version 12.2.0.11, I guess that they all have WMM enabled by default.
However, it turns out that there is another switch that needs to be thrown to enable WMM. I have always been curious about the QoS Packet Scheduler in Windows XP and Vista that appears in the Network Connection properties of all network adapters (Figure 3). So I asked the Wi-Fi Alliance if it had to be enabled for WMM to work and they said yes. So make it so if you want WMM to work its magic.
Figure 3: Make sure the QoS Packet Scheduler is on for WMM
So that completes two of the WMM Checklist items. What about the third? It turns out that the story there is not so simple, so I’ll save it for Part 2.