[PATCH] Currently the DBus Interface.Scan API is counter-intuitive. It issues ProbeRequests when doing passive scans when channels are specified, and does not issue ProbeRequests for broadcast active scans.
Dan Williams
dcbw
Wed Oct 6 15:53:22 PDT 2010
On Wed, 2010-10-06 at 15:26 -0700, Daniel Kurtz wrote:
> This patch updates DBus API .Scan() logic per the test cases listed below:
Yeah, that patch looks like the right thing to do.
Dan
> 1) Interface.Scan({'Type':'passive'})
> Request: Passive scan (all channels)
> Should be: No ProbeRequests; Passive Scan results for all channels
> Previous: 1 ProbeRequest on all channels for both broadcast SSID and selected network (scan_ssid=1)
> This Patch: --No change--: 1 ProbeRequest on all channels for both broadcast SSID and selected network (scan_ssid=1)
>
> 2) Interface.Scan({'Type':'passive', 'Channel':(2412, 20)})
> Request: Passive scan (1 channel)
> Should be: No ProbeRequests; Passive Scan results for 1 channel (plus overlapping channels)
> Previous: 1 broadcast ProbeRequest on specified channel
> This Patch: --Fixed--: No ProbeRequests; Passive Scan results for 1 channel (plus overlapping channels)
>
> 3) Interface.Scan({'Type':'active'})
> Request: Active scan with no SSIDs (all channels)
> Should be: 1 broadcast ProbeRequest on all channels
> Previous: No ProbeRequests; passive scan results for all channels
> This Patch: --Fixed--: 1 broadcast ProbeRequest on all channels
>
> 4) Interface.Scan({'Type':'active', 'Channel':(2412, 20)})
> Request: Active scan with no SSIDs (1 channel)
> Should be: 1 broadcast ProbeRequest on specified channel
> Previous: No ProbeRequests; Passive scan results for specified channel (plus overlapping channels)
> This Patch: --Fixed--: 1 broadcast ProbeRequest on specified channel
> ---
> wpa_supplicant/dbus/dbus_new_handlers.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c
> index e2b5e50..da39fa1 100644
> --- a/wpa_supplicant/dbus/dbus_new_handlers.c
> +++ b/wpa_supplicant/dbus/dbus_new_handlers.c
> @@ -1260,14 +1260,16 @@ DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,
> "passive scan");
> goto out;
> } else if (params.freqs && params.freqs[0]) {
> - /* wildcard ssid */
> - params.num_ssids++;
> wpa_supplicant_trigger_scan(wpa_s, ¶ms);
> } else {
> wpa_s->scan_req = 2;
> wpa_supplicant_req_scan(wpa_s, 0, 0);
> }
> } else if (!os_strcmp(type, "active")) {
> + if (!params.num_ssids) {
> + /* Add wildcard ssid */
> + params.num_ssids++;
> + }
> wpa_supplicant_trigger_scan(wpa_s, ¶ms);
> } else {
> wpa_printf(MSG_DEBUG, "wpas_dbus_handler_scan[dbus]: "
More information about the Hostap
mailing list