wpa_supplicant: stuck in DISCONNECTED after a single timeout/rejection
Jacob Grigg
jacob.grigg at maxmine.com.au
Wed Oct 14 00:07:09 PDT 2026
Hello,
I have discovered an issue with wpa_supplicant 2.12 where is becomes
stuck in a DISCONNECTED state after a single timeout or rejection.
I believe this issue was introduced by commit bbcc1adbc0de "Try the
next AP from scan results if connection attempt fails" and that
wpa_supplicant 2.11 is not affected.
My environment is Buildroot 2026.05.3, kernel 7.0.14, QCA988X with
ath10k, using the nl80211 driver. I have attached a sanitised copy of
the configuration.
The following must occur for the issue to manifest:
- standalone wpa_supplicant. No Networkmanager, etc
- Two or more networks configured
- scan_res_valid_for_connect >0
- wpa_supplicant attempts to connect a network and fails due to MAC
address blocking or weak signal
I replicated this in our office by setting up two SSIDs. One with a
higher priority and MAC address blocking. The second network had no
filtering and a lower priority.
After attempting to connect to the first network, wpa_supplicant 2.12
sits in a DISCONNECTED state until manual intervention.
wpa_supplicant 2.11 attempts to connect to the first network, fails,
then connects to the second network and continues to scan as required.
I believe the expected behaviour is that wpa_supplicant should
continue SCANNING when necessary, attempt a connection to other BSSIDs
of the first network, then attempt a connection to the second network.
Attached is the redacted debug log of 2.12 getting stuck, followed by
the commands manually run to recover:
wpa_cli -i wlan-production set scan_res_valid_for_connect 0
wpa_cli -i wlan-production scan
wpa_cli -i wlan-production status
Someone else has reported the same issue here:
https://github.com/DevomB/KryptikOS/pull/398
Please let me know if you would like any more info.
Thanks and regards,
Jacob Grigg
-------------- next part --------------
ctrl_interface=/var/run/wpa_supplicant
bgscan="simple:30:-70:300"
freq_list=
network={
ssid="<SSID_1>"
psk=<PSK_1>
id_str="<SSID_1>"
priority=4
}
network={
ssid="<SSID_2>"
psk=<PSK_1>
id_str="<SSID_2>"
priority=3
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wpa_supplicant-2.12-hang-excerpt.redacted.log
Type: text/x-log
Size: 95508 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/hostap/attachments/20261014/918daeef/attachment-0001.bin>
More information about the Hostap
mailing list