[PATCH 00/11] Initial sched_scan support in wpa_supplicant

Luciano Coelho coelho
Tue Sep 27 12:21:28 PDT 2011


I think this is ready for inclusion now.  I didn't get any comments to
my RFC, so that can only mean tha my approach was ok. ;)

Since my RFC, I've done the following changes:

* Changed max_sched_scan_ssids type from size_t to int
* Added scheduled scan capability flag
* Added filter support
* Check whether scheduled scan is supported before calling it
* Added P2P and WPS extra IEs to the probe requests

Known issues:

* I have implemented a rather simple algorithm that is used when we
  need to scan for more than the maximum SSIDs supported by the
  driver.  In this case, we need to eventually stop the sched_scan and
  start a new one with the remaining SSIDs.  In this implementation, I
  always start with a timeout of max_sched_scan_ssids * 2 seconds and
  an interval of 2 seconds.  After the timeout, I double the scan
  interval and halve the timeout.  This backing off algorithm is used
  because the SSIDs are supposedly sorted in order of importance, so
  we spend less time and with longer intervals when scanning lower
  priority SSIDs.

  => I think this is good enough for now and can be changed in the
     future if someone comes up with a better algorith.

* We only perform sched_scans when the wpa_supplicant is starting and
  when a connection fails or we disconnect.  We don't perform
  scheduled scans yet when the SSID list is changed, an SSID is
  enabled or on other scan scenarios.  This should be fairly simple to
  add, but I want to maturize the current use-case first.

  => I'll send a patch in the near future to address the other scan
  scenarios.  For now, the most important use-cases are handled and,
  in any case, most of the other scenarios should work indirectly.


Luciano Coelho (11):
  wpa_s: add scheduled scan driver operations
  nl80211: add scheduled scan support
  wpa_s: use sched_scan in driver init
  wpa_s: Increase number of SSIDs per scan
  wpa_s: check if sched_scan is supported before using it
  nl80211: check if sched_scan is supported in wiphy info
  wpa_s: add filter support to scheduled scans
  nl80211: add support for sched_scan filtering
  wpa_s: reorganize P2P and WPS scan code
  wpa_s: add delayed scheduled scan request
  wpa_s: add extra IEs for P2P and WPS in scheduled scan probe reqs

 src/drivers/driver.h              |   40 ++++-
 src/drivers/driver_nl80211.c      |  178 +++++++++++++++++
 wpa_supplicant/driver_i.h         |   17 ++
 wpa_supplicant/events.c           |   17 ++-
 wpa_supplicant/scan.c             |  394 +++++++++++++++++++++++++++++-------
 wpa_supplicant/scan.h             |    4 +
 wpa_supplicant/sme.c              |    1 +
 wpa_supplicant/wpa_supplicant.c   |   12 +-
 wpa_supplicant/wpa_supplicant_i.h |   10 +
 9 files changed, 591 insertions(+), 82 deletions(-)

More information about the Hostap mailing list