XO (88W8388) roaming issues

Dan Williams dcbw at redhat.com
Wed Mar 27 09:42:27 EDT 2013


On Wed, 2013-03-27 at 09:37 -0300, Franco Miceli wrote:
> That could be the case, since we are using wpa
> _supplicant-0.6.8-10.fc14.i686.
> 
> But from another mal exchange with you I got the impression that wpa_supplicant
> did not take part in roaming on the XO laptop (Libertas-Thick Firmware).

I looked again at the libertas kernel driver and I believe that the
supplicant does actually control the roaming with this firmware.  Some
older hardware (orinioco, airo) does do all the roaming in firmware, but
the libertas lets the supplicant control that.  Most of the rest of it
is thick-firmware style though :)

> Can I expect changes from using wpa_supplicant with version higher than 0.7
> on the XO laptop?

You could try to apply the following patch to the 0.7 supplicant, or you
could try 1.0 or later, but even with later versions, you may need a
patch like the following.

Dan

---
diff -up wpa_supplicant-0.7.3/wpa_supplicant/events.c.foo wpa_supplicant-0.7.3/wpa_supplicant/events.c
--- wpa_supplicant-0.7.3/wpa_supplicant/events.c.foo	2012-06-12 12:03:36.172962193 -0500
+++ wpa_supplicant-0.7.3/wpa_supplicant/events.c	2012-06-12 12:03:51.388771973 -0500
@@ -871,16 +871,14 @@ static int wpa_supplicant_need_to_roam(s
 
 	min_diff = 2;
 	if (current_bss->level < 0) {
-		if (current_bss->level < -85)
-			min_diff = 1;
-		else if (current_bss->level < -80)
-			min_diff = 2;
-		else if (current_bss->level < -75)
-			min_diff = 3;
-		else if (current_bss->level < -70)
+		if (current_bss->level < -75)
 			min_diff = 4;
+		else if (current_bss->level < -70)
+			min_diff = 6;
+		else if (current_bss->level < -65)
+			min_diff = 8;
 		else
-			min_diff = 5;
+			min_diff = 15;
 	}
 	if (abs(current_bss->level - selected->level) < min_diff) {
 		wpa_printf(MSG_DEBUG, "Skip roam - too small difference in "





More information about the libertas-dev mailing list