WPA supplicant log from current libertas-2.6 head
Dan Williams
dcbw at redhat.com
Wed Jun 6 08:18:12 EDT 2007
On Wed, 2007-06-06 at 08:15 +0200, Holger Schurig wrote:
> > ap_scan=1
>
> Do you mean this? With ap_scan=1, wpa_supplicant does the
> scanning & roaming. With ap_scan=2, the WLAN driver does it.
Yes, I mean ap_scan = 1. ap_scan has always been a bitch to figure out
which you need, but AFAIK the rule of thumb was that ap-scan=2 is only
used for ad-hoc and non-SSID-broadcasting networks.
If you use ap_scan=2, you have to know _exactly_ what options the AP
needs for the GTK and PTK, with ap_scan=1 wpa_supplicant can make some
intelligent choices about what to use.
> This is from wpa_supplicant's documentation:
>
> --------------------------------------------------------
>
> AP selection depends on ap_scan configuration:
>
> ap_scan=1:
>
> - %wpa_supplicant requests scan with SIOCSIWSCAN
> - driver reports scan complete with wireless event SIOCGIWSCAN
> - %wpa_supplicant reads scan results with SIOCGIWSCAN (multiple
> call if a larget buffer is needed)
> - %wpa_supplicant decides which AP to use based on scan results
> - %wpa_supplicant configures driver to associate with the
> selected BSS
> (SIOCSIWMODE, SIOCSIWGENIE, SIOCSIWAUTH, SIOCSIWFREQ,
> SIOCSIWESSID, SIOCSIWAP)
>
> ap_scan=2:
>
> - %wpa_supplicant configures driver to associate with an SSID
> (SIOCSIWMODE, SIOCSIWGENIE, SIOCSIWAUTH, SIOCSIWESSID)
>
> --------------------------------------------------------
>
> So, which ioctl from wpa_supplicant isn't Libertas? And wouldn't
> it be an option to simply add this ioctl? After all, an
> unmodified wpa_supplicant run's with a huge range of different
> cards via the -Dwext driver ...
Haha. Not really. It only does that because I ported half the
in-kernel drivers (and a few external ones) to WEXT so that they _would_
run with wpa_supplicant for both WPA, WEP, and unencrypted. And when
NetworkManager started requiring the 'wext' driver, only then did
madwifi, linux-wlan-driver, and others actually implement WE-19 so that
they would work with the 'wext' driver and WPA too. There are still
problems with a lot of drivers though.
The problem is that wpa_supplicant was originally built for hostap. For
example, not many drivers implement PRIVACY_INVOKED and
RX_UNENCRYPTED_EAPOL (basically just hostap and madwifi), and I can't
find anywhere in libertas to implement that. That's the same for airo,
orinoco, atmel, etc. But if the driver doesn't silently accept that,
wpa_supplicant sets the association timeout to 5s even though the driver
succeeds.
It feels really, really wrong to have a bunch of cases that just return
NULL; wpa_supplicant should be more flexible in what constitutes a
required setting and what doesn't before dropping the association
timeout from 60s -> 5s just because one of the ioctls is unsupported.
Dan
More information about the libertas-dev
mailing list