Linux wpa_supplicant roaming
The hostap project documents FT with PSK, EAP and SAE, PMKSA caching on by default with OKC off, neighbor report requests, BSS transition management on by default, and a background scan you configure yourself, and its code wants a new access point 1 to 5 dB stronger before it roams, a margin it adjusts for throughput.
- Vendor or body
- hostap project
- Model or version
- wpa_supplicant 2.12 (released 2026-08-07) and the development branch, as used on Linux and many embedded systems; values hold only when wpa_supplicant makes the roaming decision, not when the driver selects the access point itself
- Last verified
- Oct 8, 2026
- Sourced values
- 11
Values
| Parameter | Value | Condition |
|---|---|---|
| Fast transition (802.11r) | FT-PSK, FT-EAP and FT-SAE, set in key_mgmt1 | Also FT-EAP-SHA384 and FT with FILS. Since v2.8 it prefers FT-SAE over SAE and over FT-PSK when both are enabled |
| FT over the air or over the DS | Over the air and over the DS (nl80211)2 | Added in v0.7.2; wpa_cli ft_ds requests an over-the-DS transition to a given BSS |
| PMKSA caching and OKC | PMKSA caching on; OKC off unless okc=11 | OKC can also be set per network with proactive_key_caching=1; PMKSA caching with FT-EAP is off by default (ft_eap_pmksa_caching=0) |
| Neighbor reports (802.11k) | Neighbor report requests supported (v2.4 and later)3 | wpa_cli neighbor_rep_request asks the AP for a report on the current or a given SSID. The configuration reference does not say whether reports narrow the roam scan |
| BSS transition management (802.11v) | Supported, on by default (disable_btm=0)1 | Added in v2.1 and improved in v2.4 and v2.12. The simple background scan module can send BTM queries before it scans |
| What starts a roam scan | A bgscan signal threshold you set1 | The simple module scans at a short interval below the threshold and a long interval above it; the reference's example uses -45 dBm. No default threshold is given, and bgscan="" turns background scanning off |
| Margin to roam within one SSID | New AP 1 to 5 dB stronger, adjusted for throughput4 | 1 dB when the current signal is below -85 dBm, rising to 5 dB at -70 dBm or stronger; the margin moves by up to 10 dB with estimated throughput and also with band. Does not apply when the driver selects the AP itself |
| Background scan | bgscan, short interval below threshold, long above1 | Example bgscan="simple:30:-45:300"; the experimental learn module avoids channels the network does not use |
| Scan channel list | scan_freq can limit the channels scanned1 | Set per network as a list of frequencies in MHz, so scans skip channels the network does not use |
| Bands and standards | Wi-Fi 7 (EHT) support, more complete in v2.122 | This entry covers the supplicant; the bands a Linux client uses belong to its radio and driver, which are not recorded here |
| Wi-Fi security | WPA2 and WPA3; SAE, Suite B 192-bit, OWE1 | WPA3-Personal-only mode is ieee80211w=2 with key_mgmt=SAE; Suite B 192-bit is key_mgmt=WPA-EAP-SUITE-B-192 |
Sources
- wpa_supplicant.conf (example configuration and parameter reference). Read Oct 8, 2026.
- ChangeLog for wpa_supplicant. Read Oct 8, 2026.
- wpa_cli.c (wpa_supplicant command line client source). Read Oct 8, 2026.
- events.c (wpa_supplicant source). Read Oct 8, 2026.
About this page
Built from 5 sources: 5 vendor documents. Researched and drafted with AI assistance. How pages are made
- First published
- Last updated
Change history (1)
- First published
Cite this page
Plain
Ben Rutter. "Linux wpa_supplicant roaming." OT Wireless, published October 8, 2026. https://otwireless.com/requirements/linux-wpa-supplicant/
APA 7
Rutter, B. (2026, October 8). Linux wpa_supplicant roaming. OT Wireless. https://otwireless.com/requirements/linux-wpa-supplicant/
BibTeX
@misc{rutter2026linuxwpasupplicant,
author = {Rutter, Ben},
title = {{Linux wpa\_supplicant roaming}},
year = {2026},
howpublished = {\url{https://otwireless.com/requirements/linux-wpa-supplicant/}},
organization = {OT Wireless},
}