The purpose of this FAQ is to address some of the most common questions and misconceptions that keep coming up in roaming related discussions.
WLAN Roaming FAQ
What is roaming?
Simply put, roaming is the act or process by which a client device transitions from one cell (BSS) to another.
Is roaming a feature of the infrastructure (APs, controller, etc.)?
No. In the 802.11 standard (a.k.a Wi-Fi), roaming decisions are left to the client device and does not specify any criteria for determining when and where to roam to. All the wireless infrastructure can do is leverage standards-based and/or proprietary mechanisms to try to influence client device roaming behavior and maybe provide for reduced roaming times. But that doesn’t always work well.
How does a client device decides when and where to roam?
Different vendors use different criteria differently. Most of them take into account received signal strength, data rates (PHY rates), frame retry rates, and other metrics in their roaming algorithms. More often than not, roaming criteria isn’t properly documented if at all. In the consumer space, iOS devices are the best documented ones.
Here’s the link to Apple’s iOS roaming KB: https://support.apple.com/en-us/HT203068
What roaming times are acceptable?
Whatever suits the intended application. If client devices are mostly used for web browsing, streaming content, email, etc. then even a roaming delay of a couple of seconds or more would be acceptable and sometimes even unnoticeable to the user. On the other hand, if the primary use is for realtime and delay-sensitive applications like voice, then roaming times should be kept under 150ms.
What could be the cause of poor roaming experience?
The single most common cause of poor roaming experience is a bad wireless network design or lack thereof. This includes too high of a Tx power setting on APs, not enough cell overlap, incorrect data-rate settings, ect. Good roaming begins at layer 1 (RF). Also, features like MinRSSI (as currently implemented) and bandsteering can also cause issues. Another thing that must not be overlooked is buggy client device drivers which isn’t uncommon. Lastly, using WPA2-Enterprise (802.1X/EAP) severely increases roaming times.
What is 802.11r (Fast BSS Transition)?
It is an amendment to the 802.11 standard which mostly addresses authentication and key management optimizations in order to significantly reduce roaming times in networks with 802.1X/EAP (WPA2-Enterprise) implemented. It eliminates the need for the client device to authenticate against the RADIUS server every time it roams from one cell to another, effectively bringing roaming times closer to those of a WPA2-PSK network and thus below the 150ms mark.
Is UniFi’s Fast Roaming the same as 802.11r?
No. UniFi’s Fast Roaming “feature” is an optimization done in the background that doesn’t require client device support. Ubiquiti hasn’t made any specifics public but, in a properly designed and configured WPA2-PSK network, roaming delays should be negligible.
Do I need 802.11r (Fast BSS Transition)? Should I enable it if/when available?
The answer to both questions will almost always be “no”. Unless of course you need to support realtime/delay-sensitive applications (e.g. voice) on a WPA2-Enterprise wireless network or your application/client vendor recommends enabling it. Another very important fact is 802.11r requires client devices that either support or are aware of it. Older/outdated devices (e.g. barcode scanners, printers) will have issues connecting to a wireless network with this functionality enabled, so it can end-up creating more issues for you.
But isn’t 802.11r supposed to solve my roaming problems?
No. If you are experiencing roaming issues or excessive delays with a WPA2-PSK network, the root of the problem will most likely be some of the reasons listed above having to do with design and (possibly) configuration, faulty client drivers, and/or environmental issues none of which 802.11r can do anything about.
What about 802.11k (Radio Resource Management) and 802.11v (Wireless Network Management)?
The mechanisms introduced with these two amendments help client devices make better roaming decisions which can help improve roaming experience in a properly designed and implemented network. Neither will do anything to fix the most common causes for poor roaming which lie at layer 1 (RF) as explained above.
How about Zero Handoff?
Zero Handoff is an overhyped, largely misunderstood and misused buggy implementation of what is called a “Single Channel Architecture”. It never came out of beta and it is only supported in the first generation of UniFi access points (e.g. UAP, UAP-LR) which no one should be buying/deploying today.
See here, here, and here for more information on what Zero Handoff is and how it works.
What can I do to improve or fix roaming in my business network?
As pointed out before, the best way to ensure a good roaming experience is by having a solid layer 1 (RF) design. It requires a good understanding of how Wi-Fi works and how client devices behave. That’s what qualified WLAN consultants/engineers are for. Save yourself a lot of trouble and headaches by hiring one to help you.
But I’m a Home/SOHO user, what can I do to improve roaming?
Probably the best thing you can do is going with a solution/product intended for your use-case. That is to say AmpliFi, Eero, Orbi, Luma, etc. These tend to work reasonably well in home settings.
The Roaming RSSI Threshold is by default -65 dBm. If the actual signal strength is less than the threshold value, then the device will search for another AP to attempt roaming. The lower the given signal strength (like -70 dBm or -75 dBm), the longer the device will stay connected to the current AP.
The Roaming RSSI Difference is by default 10 dB. A possible new AP must be so much stronger than the actual AP’s signal strength before roaming to that new AP is attempted. This is to prevent roaming to an AP which is only marginal stronger then the current AP.