[RFC 0/2] Scheduled scan timeout and notify scheduled scan stop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux