scheduled scan api

Luca Coelho luca
Mon May 26 04:54:34 PDT 2014

Hi Arend,

I'm replying to this since I've been "somewhat" involved in the
implementation. ;)

I think it will make more sense if you check the nl80211 doc:

 * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more
 *	sets of attributes to match during scheduled scans.  Only BSSs
 *	that match any of the sets will be reported.  These are
 *	pass-thru filter rules.
 *	For a match to succeed, the BSS must match all attributes of a
 *	set.  Since not every hardware supports matching all types of
 *	attributes, there is no guarantee that the reported BSSs are
 *	fully complying with the match sets and userspace needs to be
 *	able to ignore them by itself.
 *	Thus, the implementation is somewhat hardware-dependent, but
 *	this is only an optimization and the userspace application
 *	needs to handle all the non-filtered results anyway.
 *	If the match attributes don't make sense when combined with
 *	the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
 *	is included in the probe request, but the match attributes
 *	will never let it go through), -EINVAL may be returned.
 *	If ommited, no filtering is done.

Especially the second paragraph.  This means that for the SSIDs, a
broadcast SSID means that everything goes through, there is no filtering
of SSIDs.  You can use that for RSSI-only matches with a single RSSI
match attribute (so you don't need to specify an RSSI attribute for
every SSID you need to match).

This is a bit unclear, but it's due to some confusion that was
introduced when the RSSI match attribute was added.


On Wed, 2014-05-07 at 13:57 +0200, Arend van Spriel wrote:
> Hi Johannes,
> I received a couple of reports from people who got problem with brcmfmac 
> when a scheduled scan is requested, without any ssid specified. 
> Currently, brcmfmac basically rejects the request. So what are valid 
> usage scenarios for scheduled scans with respect to the n_ssid, 
> n_channels, and n_matchsets. In the kernel doc below it says a 
> zero-length ssid means 'no match'. I suppose it means any ssid which 
> signal is above RRSI threshold will match.
> Regards,
> Arend
> ---8<----------------------------------------------------------
> /**
>   * struct cfg80211_match_set - sets of attributes to match
>   *
>   * @ssid: SSID to be matched; may be zero-length for no match (RSSI only)
>   * @rssi_thold: don't report scan results below this threshold (in s32 dBm)
>   */
> _______________________________________________
> HostAP mailing list
> HostAP at

More information about the Hostap mailing list