Why do some devices stick to one AP and not roam?
One of the biggest issues with wireless over the last 10 years is that devices don’t seem to use all the Access Points in your network, often remaining connected to an AP somewhere down the corridor you passed on the way in, why is this?
The first thing to say about roaming and wireless is that you won’t always be connected to the nearest AP, its way more complicated than that!
Basic Roaming Behaviour
When wireless was first released, the one thing that people wanted was to find the nearest AP and then stick with it for as long as possible.
What they didn’t want was devices jumping between APs every few seconds as the concept of roaming was slow and should be avoided until necessary.
Therefore, the way the standards were written, which is still true today, is that it’s the device and the way that its drivers are configured that decides when the device will roam and where it will go - not the wireless network and the controllers.
Over the years the controller technology has become more astute and features have emerged to influence this situation and effectively offer certain APs as more attractive to roam to than others, but the end device still holds the final decision.
Devices behave differently
There are two parts to this, the antenna and the drivers.
The way a device sees the wireless coverage will depend on the antenna technology it’s using. Your laptop could have a wireless antenna that runs around the side of your display, in which case it’s going to be pretty good at receiving wireless and reporting the status to its drivers.
However, a hand held device in a factory or a PDA has nothing like the antenna of your laptop and therefore may report the same wireless signal as several dB less for exactly the same spot in the building. We have completed surveys using 3 or 4 different devices and seen a difference of 12dB being reported for the same locations on exactly the same network.
To put this in context 3dB represents half the coverage, so 12dB means a device seeing 1/16th the signal strength of another device.
Based on this information, a hand held factory or PDA device is going to behave differently to your laptop, and so it should! This problem is actually growing as new laptops are getting better at roaming, whilst many factory devices and smaller PDAs although still useful, their wireless technology is stuck 4+ years in the past.
Surveys are still one of the most useful tests we do at Full Control Networks, if your coverage is inconsistent or poor, then there are going to be issues no matter what. However, one of the things we’ve learnt to do is offset the coverage results based on the devices the that are going to be used, not on the device you do the survey with.
We use AirMagnet SurveyPRO which has recently removed all restrictions on the wireless NIC cards you can use for surveys, the concept here is use a device as close to the real thing as possible.
Once you’ve performed the survey there is an offset facility to allow you to get a better understanding of how the network looks to each device type you think will be connecting.
Next, when the standards were written, the discussion was around how the devices behave, the actual process of roaming, how the MAC addresses were passed around etc, but critically not the signal strengths at which these decisions were made.
So, even today, by design, your Windows, Apple and Android devices are programmed to start the roaming processes at different signal strength values, based on what those manufacturers believe to be the best values – and which we know from experience can vary by 10-12dB. These values are forever changing too, we know (because it’s on their support pages) Apple IOS and MacOS use different values, Windows CE 7 and 10 are also written to behave differently. To put it bluntly, they are designed to behave differently!
Coverage is not the only consideration
Signal coverage is the single best place to start gathering data, hence most wireless jobs do start with a survey. However, the wireless drivers are programmed to take more information in that just signal strength.
All the driver sets we’ve seen also look at the difference (sometimes called delta) between the signal strength of the AP they are connected to and the other APs they could roam to. This delta value is not fixed, each driver set uses its own but typically its around 12dB (the lowest we’ve seen is 8dB, the highest we know of is 20dB - which is huge!).
What this means is that there might be an AP offering a stronger signal for your device to roam to, but the drivers won’t jump to it unless its significantly better than the one it’s on. In the case of a 12dB delta setting that means a 16 times stronger signal! That’s a lot!
Just printing out the standard output from any Survey software product will not be enough. You may need to look the data and work out the jumps to the surrounding APs to understand the deltas to see if the differences are big enough for the devices to actually roam. Remember, just being better is not enough. Or ask us to do it for you!
Technology is addressing this, if your controller and end devices are new enough
The issue of roaming and “stickiness” has been around for a number of years and the standards have attempted to address it in the later revisions, usually referenced by their letters, 802.11 k, r, and v.
However, for these to help both ends, the wireless network and the end device need to support these and this is (at the time of writing) still pretty patchy. 11 k and r are really about speeding up the roaming process once it’s started, 11v is about getting devices to roam earlier based upon the fact that the controller offers a different AP for you to roam to early and the end device (after looking at certain metrics) agrees and makes the move.
Newer devices from Windows 10 and IOS 10 support these standards and seem to work well. Check if your wireless network also supports them, in a number of networks we’ve seen these options are not enabled by default, you’ve got to find the options and tick the box. This is another reason why devices will behave differently as they move around your network.
Roaming is a sticky subject, mostly due to the fact the devices decide when and where they are going to roam to, and each device’s driver sets are configured to act on different numbers. Add to this the differences in antenna technology, it becomes less of a surprise that issues occur but more of a frustration that your beautifully designed wireless network isn’t working the way you intended.
The things you can control are:
- Make sure you have accurate survey data (such as AirMagnet SurveyPRO) or NetAlly EtherScope with AirMapper app).
- Survey using something similar to the end devices that will be connecting. Your data should reflect the antenna technology of your real life devices not some perfect world external adaptor (such as NetAlly EtherScope with AirMapper app or AirMagnet SurveyPRO).
- Don’t just review the coverage reports, SNR and the jumps between APs are key factors too.
- Understand your end devices and how they see the network. Do they display their RSSI value and if so, can you access this information? The NetAlly AirCheck and EtherScope can both show this value - they also have standard Windows chip sets and their antenna are not too sensitive so give more realistic values.
- Look at the options in your controller for the fast roaming technologies and see what you can enable.
- If in doubt, disconnect from the wireless, count to 5 and reconnect. This resets the BSSID list and the device should pick the strongest AP it can see. Yes, turn it off and on again actually works for solving wireless roaming issues !!