[PATCH] fix rogue disconnect issues w/WPA2 Enterprise networks
Hendrik Beijeman
hbeijeman
Tue Sep 21 07:54:45 PDT 2010
Hello everyone,
My university's WPA2 enterprise network kept disconnecting me after a
random period ranging from seconds to minutes. Close examination of
wpa_supplicant output would show these lines on the exact moment the
connection got dropped;
RTM_NEWLINK: operstate=1 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
RTM_NEWLINK: operstate=1 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b15 len=24
Wireless event: new AP: 00:00:00:00:00:00
Disassociation notification
Attempt to scan while wpa_state >= WPA_ASSOCIATED aborted!
Try BSSID 00:1a:1e:91:5f:e0 into blacklist
CTRL-EVENT-DISCONNECTED bssid=00:1a:1e:91:5f:e0 reason=0
The disassociation was being forced in wpa_driver_wext_event_wireless()
upon receiving event SIOCGIWAP;
disabling that piece of code (see patch below) made the problem go away
entirely, and I'm now enjoying a stable connection.
This is an ugly hack though, and I have absolutely no idea what I'm
doing. If someone is interested in making a more permanent solution,
please let me know how and if I can help,
Kind regards,
Hendrik
diff against 0.7.3
--- /tmp/wpa_supplicant-0.7.3/src/drivers/driver_wext.c 2010-09-07
17:43:39.000000000 +0200
+++ ./wpa_supplicant-0.7.3/src/drivers/driver_wext.c 2010-09-20
07:46:55.413397935 +0200
@@ -466,12 +466,14 @@ static void wpa_driver_wext_event_wirele
os_memcmp(iwe->u.ap_addr.sa_data,
"\x44\x44\x44\x44\x44\x44",
ETH_ALEN) ==
0) {
+ /*
os_free(drv->assoc_req_ies);
drv->assoc_req_ies = NULL;
os_free(drv->assoc_resp_ies);
drv->assoc_resp_ies = NULL;
wpa_supplicant_event(drv->ctx,
EVENT_DISASSOC,
- NULL);
+ NULL);*/
+ wpa_printf(MSG_DEBUG, "Ignoring disassoc
attempt");
} else {
wpa_driver_wext_event_assoc_ies(drv);
More information about the Hostap
mailing list