Search the field guide, causes, requirements, and glossary

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

ParameterValueCondition
Fast transition (802.11r)FT-PSK, FT-EAP and FT-SAE, set in key_mgmt1Also 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 DSOver the air and over the DS (nl80211)2Added in v0.7.2; wpa_cli ft_ds requests an over-the-DS transition to a given BSS
PMKSA caching and OKCPMKSA caching on; OKC off unless okc=11OKC 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)3wpa_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)1Added 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 scanA bgscan signal threshold you set1The 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 SSIDNew AP 1 to 5 dB stronger, adjusted for throughput41 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 scanbgscan, short interval below threshold, long above1Example bgscan="simple:30:-45:300"; the experimental learn module avoids channels the network does not use
Scan channel listscan_freq can limit the channels scanned1Set per network as a list of frequencies in MHz, so scans skip channels the network does not use
Bands and standardsWi-Fi 7 (EHT) support, more complete in v2.122This entry covers the supplicant; the bands a Linux client uses belong to its radio and driver, which are not recorded here
Wi-Fi securityWPA2 and WPA3; SAE, Suite B 192-bit, OWE1WPA3-Personal-only mode is ieee80211w=2 with key_mgmt=SAE; Suite B 192-bit is key_mgmt=WPA-EAP-SUITE-B-192

Sources

  1. wpa_supplicant.conf (example configuration and parameter reference). Read Oct 8, 2026.
  2. ChangeLog for wpa_supplicant. Read Oct 8, 2026.
  3. wpa_cli.c (wpa_supplicant command line client source). Read Oct 8, 2026.
  4. 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},
}