Regarding data rates

I spent the bulk of my career in hospitality wireless technical support, installation, engineering and design. Surprisingly I learned very little about WiFi in this time. Sure I learned how to blame a wireless client for not working when so many others were. I also learned how to reboot an AP, which seemed to fix a variety of client issues – at least for a little while.

It wasn’t until around year 6 that I started to just barely scratch the surface of the depth and complexity of wireless LANs. I learned some cool tricks that just seemed to make networks run smoother overall. Such as implementing static channel plans, implementing static transmit power levels, and setting minimum data rates. By implementing these techniques I was able to consistently improve overall wireless performance and user experience.

The data rates trick was one of the most effective and easiest to implement. There was all of this talk of sticky clients and here was found a solution to force them to roam to the best AP. It was like magic. The network admin was now winning against these “poorly designed” clients with “piss-poor roaming algorithms”. I was on my soapbox. Our wireless vendor of choice made it quite easy to implement using a command “bss-minrate”. Other, more fancier, vendors would actually let us check and uncheck data rate boxes within a wireless profile.

We would set the minimum basic rate to 12(Mbps) and ‘magically’ the AP would no longer allow stubborn clients from staying connected to a low signal at a low data rate and clients would roam better.

(It should be mentioned that another significant benefit to disabling lower data rates is the reduction in management frame overhead & airtime. Faster management frame transmission results in more airtime & TXOPs for the BSS and ESS.)

Turns out there is much more to this story. The reality is these settings are only setting “legacy” data rates. Data rates are dependent on the PHY(sical layer) and available modulation and coding methods. Modulation is essentially how much data we can pack into the signal while coding methods balances the amount of redundancy present in the data so there are less chances of data being lost in transmission.

So what are “legacy” data rates? These include 802.11a (OFDM PHY), 802.11b HR-DSSS PHY, and 802.11g. 802.11a and g use OFDM modulation methods, while 802.11b uses spread spectrum (DSSS and HR-DSSS) modulation methods. (HR-)DSSS data rates include 1,2,5.5, and 11 Mbps. OFDM data rates include 6,12,18,24,48, and 54. Using my trusty bss-minrate command of ’12’ effectively dropped all 802.11b clients (long Tx time!) from my networks and forced 802.11a and 802.11g clients to associate at a minimum of 12Mbps.

So why all of the confusion? Well these “legacy” data rates I’m disabling are only affecting clients using “legacy” wireless PHYs. We haven’t even mentioned 802.11n (WiFi 4) yet and beyond. So why haven’t these later PHYs been mentioned yet? It is because 802.11n introduced MIMO which is the use of multiple antennas for Tx and Rx. This turned legacy data rates on their head and introduced MCS rates. MCS rates are a product of the PHY, modulation, coding, signal strength, and number of wireless spatial streams. These MCS rates are NOT affected by the methods outlined above.

Honestly we’re better off not messing with these MCS rates, but it is important to understand which PHYs and clients were are affecting when we manipulate what rates are available on a wireless network. And if you were not aware of this distinction before reading this I hope it makes more sense now and you won’t be surprised (like I was) when you find a client using 5.5Mbps on your network set minimum basic rate of 12Mbps.

Leave a comment