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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html