Roaming problems

Dan Williams dcbw at redhat.com
Wed Apr 23 09:53:03 EDT 2008


On Wed, 2008-04-23 at 13:12 +0200, Johannes Berg wrote:
> > The below patch makes sure that we drop the BSSID when we disassociate.
> 
> > --- a/ieee80211_sta.c	Wed Apr 23 10:14:30 2008
> > +++ b/ieee80211_sta.c	Wed Apr 23 08:41:23 2008
> > @@ -479,6 +479,9 @@ static void ieee80211_set_associated(str
> >  		netif_carrier_off(dev);
> >  		ieee80211_reset_erp_info(dev);
> >  		memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN);
> > +
> > +		// make sure no association start before we got a new BSSID
> > +		ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
> 
> I don't think that patch makes sense, after all, userspace could request
> to disassociate and afterwards re-request to associate by setting the
> SSID and not setting the BSSID again, which would lose the fixed BSSID
> without userspace interaction.
> 
> However, I'm not sure how to fix this.

Enhance roaming support in wpa_supplicant I'd expect.  If you set the
BSSID explicitly, which wpa_supplicant does, then the driver should not
roam to any other BSSID until userspace sends SIOCSIWAP
00:00:00:00:00:00 or sets whatever the 'disabled' flag is.  Such is
WEXT.

I'm not actually sure why wpa_supplicant sets the BSSID explicitly, but
I also haven't looked into it much.

Dan




More information about the HostAP mailing list