Search Linux Wireless

Re: Comparison of wpa_supplicant with -Dnl80211 and -Dwext, WEP and WPA

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

 



On Tue, 2009-09-22 at 12:58 +0200, Holger Schurig wrote:

> >  0.00000  0.00000: Initializing interface ...
> >  0.08801  0.08801: Setting scan request: 0 sec 100000 usec
> >  0.25167  0.16365: ioctl[SIOCGIWSCAN]: Resource temporarily unavailable
> 
> This is because wpa_supplicant very early - in
> wpa_driver_wext_finish_drv_init() - calls
> wpa_driver_wext_disconnect(). This in turn sets a random 32
> character long ESSID, as a desparate means to disconnect.
> 
> Now that an essid is set, the calling chain in the kernel
> 
>    cfg80211_netdev_notifier_call(), case NETDEV_UP
>    cfg80211_mgd_wext_connect()
>    __cfg80211_connect()
>   cfg80211_conn_scan(
> 
> get's executed. This starts a scan.
> 
> Later, when wpa_supplicant tries to get a scan result, it will
> only get an -EBUSY because of net/wireless/scan.c, function
> cfg80211_wext_siwscan():
> 
>         if (rdev->scan_req) {
>                 err = -EBUSY;
>                 goto out;
>         }
> 
> 
> 
> However, I'm wondering: if several scan commands are
> supposed to add up into the BSS list anyway (and each BSS list
> entry by default pruned after 15 seconds), why is it an error
> to access the current state of the BSS list while a scan is
> in progress?

Because the scan request contains info on how to do the scan.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


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