[PATCH 1/2] Allow scanning while in authenticated only state
maximlevitsky at gmail.com
Mon Nov 2 18:17:01 EST 2009
On Sun, 2009-11-01 at 22:10 +0200, Jouni Malinen wrote:
> On Sat, Oct 31, 2009 at 12:33:16PM +0200, Maxim Levitsky wrote:
> > How about putting this in wpa_supplicant, and end all trouble with this
> > for once?
> > This is a workaround/hack, but at least it works....
> Could you please add a comment pointing that out and explaining that the
> deauth in disassoc is there due to mac80211's inability to handle
> multiple APs in authenticated-but-not-associated state?
I resend this patch with proper comment.
> > diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> > static int wpa_driver_nl80211_disassociate(void *priv, const u8 *addr,
> > int reason_code)
> > - return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DISASSOCIATE,
> > +
> > + err = wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DISASSOCIATE,
> > + reason_code);
> > + if (err)
> > + return err;
> > + return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DEAUTHENTICATE,
> > reason_code);
> There should be no need for doing both disassoc and deauth; just send
> deauth only if that is needed. This will save one extra frame
> transmission and speeds up roaming a bit.
> Though, is this enough to handle the roaming cases where wpa_supplicant
> may not try to send either disassociation or deauthentication?
Currently wpa_supplicant sends only disassociation.
deauthentication is send only in rare cases, usually due to [suspected]
Other that that I don't know, what I need is a clear statement about how
things should work that is:
* Should kernel allow authentication while in authenticated? I guess yes
To same AP? To different APs?
* What should kernel do if it done authentication to several APs?, but
should it timeout, or let wpa_suplicant do it?
Currently it allows 4 (or 3) such APs, and then then bugs out with
* Should kernel allow scanning while in authenticated but not associated
I have send patch to do so, I hope it will be accepted.
While 3 (or more if I didn't find all of them) problems remain, this
workaround is the only solution.
More information about the HostAP