Re: [PATCH RFC] wpa_s: use proper channel to send SAE AUTH frames

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

 



Hello Jouni,

> > SAE connection fails if CSA occured during any previous connection
> > since the start of current wpa_supplicant runtime.
> >
> > The root cause is as follows. If STA channel changes due to CSA,
> > then bss->freq is updated in mlme_event_ch_switch. However this
> > value is not cleared between connections. So later it will be
> > used during SAE AUTH frame exchange.
> 
> I'd guess this is referring to use of SAE authentication offload or some
> other special case since I don't see how bss->freq would have an impact
> of SAE authentication when using NL80211_CMD_AUTHENTICATE.

You are right. I apologize for misleading commit message. The issue
affects only SAE authentication offload, e.g. FullMAC drivers that
implement only cfg80211 connect command.

> > By the way, it looks like cleaning up bss->freq field would be a better
> > option. But so far I could not figure out a good place for this kind of
> > cleanup. Any suggestions are welcome.
> 
> Yeah, I think I'll rather do that and also update bss->freq in station
> mode after association. Setting drv->first_bss->freq to 0 in
> nl80211_mark_disconnect() is likely going to handle most, if not all,
> the needed cases. If that does not fix this for your case, please share
> a wpa_supplicant debug log showing the exact sequence in which bss->freq
> ends up getting used to select incorrect channel for SAE authentication
> frames.

This works just fine, the following fixup also resolves the problem:

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 60934fb..7b3281f 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -307,6 +307,7 @@ void nl80211_mark_disconnected(struct wpa_driver_nl80211_data *drv)
                os_memcpy(drv->prev_bssid, drv->bssid, ETH_ALEN);
        drv->associated = 0;
        os_memset(drv->bssid, 0, ETH_ALEN);
+       drv->first_bss->freq = 0;
 }

Regards,
Sergey

_______________________________________________
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