Roaming problems

Lars Ericsson Lars_Ericsson
Wed Apr 23 01:39:32 PDT 2008


I think I have found the problem.

When the wpa_supplicant configure the device it issues a number of ioctls.
Some of them, ieee80211_ioctl_siwgenie()
ieee80211_ioctl_siwessid() and ieee80211_ioctl_siwap() initiates a
If there is a valid BSSID, ieee80211_sta_req_auth() will post a authenticate

First roaming attempt, no problem since we do not have any valid BSSID.
All following roaming will have the old BSSID when the wpa_supplicant start
preparing for next AP.

So any of the ieee80211_ioctl_siwgenie() or ieee80211_ioctl_siwessid() will
force the mac80211 to start associate with the old BSSID. First when the
ieee80211_ioctl_siwap() arrives, mac80211 knows which AP to use.

If, by timing, the erroneous first association success before the real AP
arrives, the real one may fail, with an infinite 'timed out' as a result.

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
 		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;
 	wrqu.ap_addr.sa_family = ARPHRD_ETHER;
 	wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL);

-----Original Message-----
From: linux-wireless-owner at
[mailto:linux-wireless-owner at] On Behalf Of Lars Ericsson
Sent: den 22 april 2008 17:09
To: linux-wireless at; hostap at
Subject: Roaming problems


I'm currently running a number of sites using the RT61 WLAN chipset.

More information about the Hostap mailing list