Wireless Access

Guest Blogger

ARM Micro-computer Roaming Shenanigans

Maybe it's my recent lack of sleep, maybe I'm just being picky, or maybe I'm not seeing this correctly but I'm sitting here tonight reading through some driver documentation on an ARM microcontroller with built in Wi-Fi I may want to snag for a project. I glanced across the section detailing how the roams are calculated, the triggers and thresholds and such. I noticed some numbers that seem like they could potentially be a bit troublesome at first glance and if they are I may end up trying to tweak them a bit if I end up getting the device. Before I go messing with the chipset drivers though I want to grab some other opinions if possible.


The documented defaults for the driver's roaming mechanism  are:


  • RSSI Upper Threshold: -40dBm (initiate background scan for roam candidate if RSSI falls below this)
  • RSSI Lower Threshold: -65dBm (initiate roam to best AP if RSSI is falls below this)
  • RSSI Tolerance Threshold: -10dBm (delay roaming if the difference in RSSI between the current AP and the best roam target AP)

First, no matter what when the RSSI drops below -40dBm, start building a table of the candidate APs.

Next, when the RSSI drops below -65dBm, roam to the best AP in the table where the cadidate AP RSSI is -10dB or more meaning an RSSI of -66dBm will cause a roam if any candidate is a -55dBm or more.

Finally, the client will refuse to roam if no candidate in the table exceeds that -10dB threshold.


-40dBm? To me that seems a tad excessive and will cause issues if I'm trying to maintain a stable connection because the thing will pretty much always be in background scanning mode. I don't even know if I can hit that value without putting this thing directly on top of an access point. And that doesn't even take into account the damaging overhead added to the tiny CPU.


Is the -65dBm lower threshold for triggering a roam, based on current design guides from pretty much every vendor out there (-67dBm minimum for voice) this thing is going to want to start roaming before I even reach a cell edge.


The -10dB buffer leads me to beleive this thing will be a sticky client no matter what I do.


If I were to change the values to one based on new info released by Apple (I'm not putting them on a pedestal or anything, just as a reference) the values would be:


  • RSSI Upper Threshold: -70dBm
  • RSSI Lower Threshold: -70dBm
  • RSSI Tolerance Threshold: -8dBm (-12dBm if idle w/ screen off)

They also do it a bit differently, only initiating the scan when the client is actually ready to roam, not just looking for the sake of looking while sitting there with incredible signal strength..


First, am I off-base here? If I am, please enlighten me. If not... second, based on the values at the top and my interpretation, would you change these values? And third, has anyone tweaked something like this to correct any poorly designed drivers?

Ryan M. Adzima
@radzima - http://techvangelist.net

Guru Elite

Re: ARM Micro-computer Roaming Shenanigans



If you can obtain the device and see how it actually measures the RSSI compared to other devices, you can make a true comparison.  Those numbers might be just numbers unless you determine the RF characteristics of that device.


There is another question about what it would be used for and how often you would be roaming, at all..   Is it a fast-moving device like on a forklift, where you would genuinely be concerned about roaming?  Or is it a device that would probably just sit on a table, where there is little chance of roaming?  If it is the former, I wonder how big that roaming table is and how it is aged...


Either way, once you get it in your hands you would be able to see for yourself how the RSSI compares to other devices' measurements to determine if you have to adjust anything.

*Answers and views expressed by me on this forum are my own and not necessarily the position of Aruba Networks or Hewlett Packard Enterprise.*
ArubaOS 8.3 User Guide
InstantOS 8.3 User Guide
Airheads Knowledgebase
Airheads Learning Videos
Guest Blogger

Re: ARM Micro-computer Roaming Shenanigans

Thanks Colin, I know having it and measuring it is the real key here. I guess that's another reason why I asked. For all I know these could be common numbers among linux drivers.


The use case for this device is sort of IoT/wearable/whatever you can hack toagether. In my case, wearable and moving so roaming is an issue.

Ryan M. Adzima
@radzima - http://techvangelist.net

Guest Blogger

Re: ARM Micro-computer Roaming Shenanigans

Just thought I'd give an update quick. I got my hands on one of the little devices and i'm finding there to be a 3-4dBm difference between what my 802.11ac MacBook Air and it report. I'm looking through the driver guide and seeing what is/isn't adjustable but with the numbers being what they are I think I'm going to have some tweaking to do. 

Ryan M. Adzima
@radzima - http://techvangelist.net

Search Airheads
Showing results for 
Search instead for 
Did you mean: