Re: Scan trigger failed: ret=-22 (Invalid argument)

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

 



Arend, did you see this? I just came across it due to the follow-up,
looks like I missed it over Christmas too :)

> I use wpa_supplicant in Debian GNU/Linux unstable.
> I have stuck in a problem with wpa_supplicant 2.6. After upgrading
> wpa_supplicant from 2.4 to 2.6 my laptop (MacBook Air with wifi chip
> "Broadcom Limited BCM4360 802.11ac Wireless Network Adapter
> [14e4:43a0] (rev 03)",
> with broadcom-sta's wl kernel module) fails to start scanning AP repeatedly
> with the following (-ddd) messages:


broadcom-sta is fair game for breaking to me, but others will obviously
disagree ;-)



> 
> It looks like the current wl kernel module does not accept a Probe Request
> frame with at least some part of the Extended Capabilities element.

That's really strange, why would wl.ko code care about the extended
capabilities that are fully implemented by hostapd anyway?

> wpas_ext_capab_byte function in wpa_supplicant/wpa_supplicant.c unconditionally
> sets WNM-related values. Disabling the code like this
> 
> --- a/wpa_supplicant/wpa_supplicant.c    2017-12-16 10:21:25.000000000 +0900
> +++ b/wpa_supplicant/wpa_supplicant.c    2017-12-23 14:23:41.244680071 +0900
> @@ -1428,13 +1428,16 @@
>          break;
>      case 2: /* Bits 16-23 */
>  #ifdef CONFIG_WNM
> -        *pos |= 0x02; /* Bit 17 - WNM-Sleep Mode */
> -        *pos |= 0x08; /* Bit 19 - BSS Transition */
> +        if (0) { /* FIXME switch depending on the kernel module */
> +            *pos |= 0x02; /* Bit 17 - WNM-Sleep Mode */
> +            *pos |= 0x08; /* Bit 19 - BSS Transition */
> +        }
>  #endif /* CONFIG_WNM */
>          break;
>      case 3: /* Bits 24-31 */
>  #ifdef CONFIG_WNM
> -        *pos |= 0x02; /* Bit 25 - SSID List */
> +        if (0) /* FIXME switch depending on the kernel module */
> +            *pos |= 0x02; /* Bit 25 - SSID List */
>  #endif /* CONFIG_WNM */
>  #ifdef CONFIG_INTERWORKING
>          if (wpa_s->conf->interworking)
> 
> my machine restores to work well as before:
[...]
> Likewise a CONFIG_MBO block (several lines below the patch) would also need to
> be disabled, which I have not tested yet because Debian's .config does not set
> this option.
> 
> While one of my collegues uses Lenovo Thinkpad laptop, with Intel's iwlwifi
> kernel module, which works with normal wpa_supplicant 2.6 without any problems.
> So it should switch depending on the kernel module used.

Not really. The kernel should just not reject this... but I also realize
we have little influence over wl.ko.

johannes


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



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

  Powered by Linux