Wi-Fi Roaming Introduction
Wi-Fi roaming mechanism allows a wireless client device to automatically and smoothly switch from the coverage area of one AP to another within the same wireless network (having the same SSID and security credentials), ensuring that the network session is not interrupted.
Wi-Fi Client Roaming Diagram
Wi-Fi Roaming Protocols Support
802.11k
The 802.11K standard introduces wireless measurement and neighbor reporting features that allow APs and STAs to exchange information about surrounding BSSs and channel conditions. This facilitates faster and more accurate discovery and assessment of candidate APs during roaming.
Capability |
Requester |
Responder |
Description |
|---|---|---|---|
Beacon Measurement |
AP |
STA |
The access point (AP) initiates a measurement request for the station (STA) to evaluate the wireless environment on designated channels, SSIDs, or BSSIDs. This enables the STA to report surrounding signal quality metrics, supporting more informed roaming decisions and network-directed handoff strategies.。 Request Modes: 1.Passive: Only listens for Beacon frames on the specified channel without sending any Probe Requests. 2.Active: Sends Probe Requests on the specified channel and collects both Probe Responses and Beacon frames. |
Neighbor Report |
STA |
AP |
The STA requests the AP to provide a list of neighboring APs within the same ESS along with relevant information, helping the STA to select a roaming target more quickly and reliably. |
802.11v
The 802.11v standard introduces network-assisted roaming features, including BSS Transition Management, where APs proactively deliver candidate AP lists and transition strategies to STAs. This mechanism enhances roaming efficiency and supports dynamic load balancing across the wireless network.
Capability |
Requester |
Responder |
Description |
|---|---|---|---|
BSS Transition(BTM) |
STA/AP |
STA/AP |
BTM is a mechanism where the AP sends a “roaming guidance” request to an associated STA, providing a list of candidate APs and transition policies to encourage the STA to proactively switch to a more suitable AP. |
802.11r
The 802.11r standard introduces Fast BSS Transition (FT), which allows STAs to switch between APs during roaming without repeating the full four-way handshake process. By leveraging a pre-established key hierarchy, FT significantly reduces authentication latency and improves roaming performance.
Capability |
Description |
|---|---|
FT using PSK |
In a pre-shared key (PSK) environment, enable 802.11r to achieve fast roaming. |
FT using SAE |
In a WPA3-Personal environment, authentication is performed using SAE, while 802.11r is enabled to support fast roaming. |
FT over IEEE Std 802.1X(WPA2-Enterprise) |
In enterprise networks, 802.11r is combined with 802.1X/EAP to enable fast roaming. |
Active Roaming
Active roaming is triggered when the STA detects a degraded link quality with the associated AP and proactively scans for better APs within the same ESS to switch.
Note
For active roaming application example, please refer to wifi roaming plus.
Active Roaming Procedure
After the device initially connects successfully, it waits for 10 seconds to ensure the RSSI is stable before starting a loop to monitor the real-time RSSI of the connected AP.
If the connected AP RSSI is detected to be below the configured threshold (RSSI_ROAMING_THRESHOLD) for two consecutive checks, a roaming scan is triggered to search for a better AP within the same ESS.
If a candidate AP is found whose RSSI exceeds the current AP by more than the configured threshold (FIND_BETTER_RSSI_DELTA), the device will attempt to roam to this AP.
Regardless of whether the roaming attempt succeeds or fails, the device will continue to monitor the RSSI of the connected AP in a loop.
Active Roaming Procedure
Active Roaming Acceleration Mechanism
Fast connect: The device stores complete information of the lastest connected AP (including the PMK). This enables fast connection upon startup and allows roaming transitions to reuse the stored PMK, thereby saving time.
Scan special channel: During roaming, the device first scans specific channels, such as those provided by 11k or 11v neighbor reports, or channels previously recorded (from previously connected APs within the same ESS). If scanning these special channels fails, a full channel scan is performed.
Fast roaming(802.11r): Roaming connections use a streamlined FT (Fast Transition) handshake instead of a full authentication exchange, significantly reducing handoff latency.
Fast DHCP: The device stores the IP address obtained from the connected AP. When roaming back to a known AP, it attempts to renew the previous IP lease via a DHCP Request, skipping the DHCP Discovery phase.
Active roaming acceleration mechanism
Active Roaming Configurable Parameters
Parameter |
Description |
Default |
|---|---|---|
RSSI_ROAMING_THRESHOLD |
When the connected AP RSSI falls below this threshold for two consecutive checks, a roaming scan is triggered to search for a better AP within the same ESS. |
-70dBm |
FIND_BETTER_RSSI_DELTA |
If a candidate AP RSSI discovered during roaming scan exceeds the connected AP by more than this threshold, the device will attempt to roam to the candidate AP. |
8dB |
SUPPORT_SCAN_5G_CHANNEL |
Indicates whether 5G is supported; if supported, the roaming scan will include 5G channels. |
0 |
MAX_STORED_CH_NUM |
Maximum number of channels that can be stored for previously connected APs within the same ESS. During roaming scans, these channels are prioritized to reduce scanning time. |
13 |
MAX_STORED_IP_NUM |
Maximum number of IP addresses the device can store from previously connected APs. When roaming to a new AP, if a stored IP for that AP exists, the device can use the fast DHCP mechanism. |
16 |
Active Roaming Usage Guide
If you want to enable the Fast DHCP, enter the directory
{SDK}/amebadxxx_gcc_project, execute./menuconfig.py.Locate , select .
(Top) -> CONFIG LWIP ----Configuration---- (X)Enable Fast DHCP ( )Enable NAT REPEATER ( )Enable LWIP IPV6
If you want to enable the 802.11kvr, enter the directory
{SDK}/amebadxxx_gcc_project, execute./menuconfig.py. Locate , select , , 。(Top) -> CONFIG WIFI ----Configuration---- (X)Enable WIFI ---> CONFIG WIFI MODE ---> (X) Enable 11K (X) Enable 11V (X) Enable 11R
According to the current wireless environment, set adjustable parameters such as RSSI_ROAMING_THRESHOLD and so on(document path:
{SDK}/component/example/wifi/wifi_roaming_plus/example_wifi_roaming_plus.c).Execute
./build.py -a wifi_roaming_plusto generate firmwares.Use the image tool to download firmwares to the development board.
Passive Roaming
Passive roaming (11v) refers to the process where the AP, based on the client’s status and network load, recommends or guides the STA to switch to a more suitable AP. The STA then decides whether to accept and execute the roaming based on its own policies, enabling network-driven optimization of the handoff process.
Passive Roaming Procedure
The AP proactively sends a BTM Request, providing a list of candidate APs and suggesting that the STA switch to a more suitable AP. (The STA can also initiate a query to request roaming candidates and transition recommendations from the AP to assist in its decision-making.)
The STA processes and responds to the BTM Request, deciding whether to initiate a transition.
If the STA decides to roam, it initiates a re-association process with the target AP and completes the 4-way handshake.
Passive Roaming Procedure
Passive Roaming Acceleration Mechanism
Fast roaming(802.11r): Similar to active roaming, roaming connections can utilize FT re-association (FT Authentication + Reassociation) to reduce interruption latency.
Passive Roaming Acceleration Mechanism
Passive Roaming Usage Guide
In the directory
{SDK}/amebadxxx_gcc_project, execute./menuconfig.py.Locate , select . (If you want to enable 11k and 11r simultaneously, select , )
(Top) -> CONFIG WIFI ----Configuration---- (X)Enable WIFI ---> CONFIG WIFI MODE ---> (X) Enable 11K (X) Enable 11V (X) Enable 11R
Execute
./build.pyto generate firmwares.Use the image tool to download firmwares to the development board.