openwrt/package/wpa_supplicant/patches/110-roaming.patch

53 lines
2.0 KiB
Diff

This patch decreases the timeouts for assoc/auth to more realistic values. Improves roaming speed
Index: wpa_supplicant-0.6.6/wpa_supplicant/events.c
===================================================================
--- wpa_supplicant-0.6.6.orig/wpa_supplicant/events.c 2008-02-23 03:45:24.000000000 +0100
+++ wpa_supplicant-0.6.6/wpa_supplicant/events.c 2008-07-09 15:13:37.000000000 +0200
@@ -807,7 +807,7 @@
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
} else if (!ft_completed) {
/* Timeout for receiving the first EAPOL packet */
- wpa_supplicant_req_auth_timeout(wpa_s, 10, 0);
+ wpa_supplicant_req_auth_timeout(wpa_s, 3, 0);
}
wpa_supplicant_cancel_scan(wpa_s);
Index: wpa_supplicant-0.6.6/wpa_supplicant/scan.c
===================================================================
--- wpa_supplicant-0.6.6.orig/wpa_supplicant/scan.c 2008-02-23 03:45:24.000000000 +0100
+++ wpa_supplicant-0.6.6/wpa_supplicant/scan.c 2008-07-09 15:13:37.000000000 +0200
@@ -145,6 +145,7 @@
return;
}
+ wpa_drv_flush_pmkid(wpa_s);
if (wpa_s->use_client_mlme) {
ieee80211_sta_set_probe_req_ie(wpa_s, extra_ie, extra_ie_len);
ret = ieee80211_sta_req_scan(wpa_s, ssid ? ssid->ssid : NULL,
@@ -157,7 +158,7 @@
if (ret) {
wpa_printf(MSG_WARNING, "Failed to initiate AP scan.");
- wpa_supplicant_req_scan(wpa_s, 10, 0);
+ wpa_supplicant_req_scan(wpa_s, 3, 0);
}
}
Index: wpa_supplicant-0.6.6/wpa_supplicant/wpa_supplicant.c
===================================================================
--- wpa_supplicant-0.6.6/wpa_supplicant/wpa_supplicant.c-old 2008-09-20 22:37:09.000000000 -0400
+++ wpa_supplicant-0.6.6/wpa_supplicant/wpa_supplicant.c 2008-09-20 22:37:43.000000000 -0400
@@ -1118,10 +1118,10 @@
if (assoc_failed) {
/* give IBSS a bit more time */
- timeout = ssid->mode ? 10 : 5;
+ timeout = ssid->mode ? 5 : 2;
} else if (wpa_s->conf->ap_scan == 1) {
/* give IBSS a bit more time */
- timeout = ssid->mode ? 20 : 10;
+ timeout = ssid->mode ? 7 : 3;
}
wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
}