This RFC patchset contains changes to address the issue with WLAN drivers, which may not stop the initiated scheduled scans, or to provide results on them. This has been noticed to happen with sprd-wlan driver on MT6762 chipset. The symptom is that when the scheduled scan is started none of the upper layer components relying on the scanning property status notified by wpa_supplicant can initiate their own scan until the scan is stopped. In this case, the scan seems to never stop, scanning status remains on, no updates are received and any of the WLAN networks can be connected anymore. In short the chain of events can be shown with the following log with timestamps using MSGDUMP log level: Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: No suitable network found Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: State: INACTIVE -> SCANNING Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: Beginning of SSID list Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: Starting sched scan after 0 seconds (no timeout) Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wpa_supplicant_start_sched_scan notify scanning 1 Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: nl80211: sched_scan request Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: nl80211: Passive scan requested Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: nl80211: Scan extra IEs - hexdump(len=24): 7f 0b 00 00 0a 02 01 40 40 00 00 01 20 72 00 dd 07 50 6f 9a 16 03 01 03 Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: nl80211: Sched scan requested (ret=0) Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: nl80211: Event message available Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: nl80211: Drv Event 75 (NL80211_CMD_START_SCHED_SCAN) received for wlan0 Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: wlan0: nl80211: Sched scan started Dec 02 20:53:57 JollaC2 wpa_supplicant[16425]: dbus: org.freedesktop.DBus.Properties.GetAll (/fi/w1/wpa_supplicant1/Interfaces/1/BSSs/7) [s] Dec 02 20:56:42 JollaC2 wpa_supplicant[16425]: wlan0: BSS: Remove id 5 BSSID xx:xx:xx:xx:xx:x5 SSID '' due to wpa_bss_flush_by_age Dec 02 20:56:42 JollaC2 wpa_supplicant[16425]: dbus: Unregister BSS object '/fi/w1/wpa_supplicant1/Interfaces/1/BSSs/5' Dec 02 20:56:42 JollaC2 wpa_supplicant[16425]: wlan0: BSS: Remove id 2 BSSID xx:xx:xx:xx:xx:x2 SSID 'NAME2' due to wpa_bss_flush_by_age Dec 02 20:56:42 JollaC2 wpa_supplicant[16425]: dbus: Unregister BSS object '/fi/w1/wpa_supplicant1/Interfaces/1/BSSs/2' Dec 02 20:56:42 JollaC2 wpa_supplicant[16425]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 Dec 02 20:57:02 JollaC2 wpa_supplicant[16425]: wlan0: BSS: Remove id 7 BSSID xx:xx:xx:xx:xx:x7 SSID 'NAME7' due to wpa_bss_flush_by_age Dec 02 20:57:02 JollaC2 wpa_supplicant[16425]: dbus: Unregister BSS object '/fi/w1/wpa_supplicant1/Interfaces/1/BSSs/7' Dec 02 20:57:02 JollaC2 wpa_supplicant[16425]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 Therefore, a similar timeout to regular scans was implemented here to mitigate the issue. Also, the end of the scheduled scan is added in the other patch, with some, hopefully helpful debugging messages. In the internal testing this has shown to solve the issue, but without the detailed knowledge whether this is a correct approach or not, the changes should receive more comments on how to do this properly. On well behaving drivers this does not seem to be an issue, so might these changes be better serving their purpose as an option configurable on build time instead of being like presented here. Jussi Laakkonen (2): nl80211: Implement support for scheduled scan timeout wpa_supplicant: Notify scheduled scan stop, add notify logging src/drivers/driver_nl80211.h | 3 ++ src/drivers/driver_nl80211_event.c | 11 +++++- src/drivers/driver_nl80211_scan.c | 59 ++++++++++++++++++++++++------ wpa_supplicant/scan.c | 8 ++++ 4 files changed, 69 insertions(+), 12 deletions(-) -- 2.39.2 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap