XO (88W8388) roaming issues

Dan Williams dcbw at redhat.com
Wed Mar 27 11:44:46 EDT 2013


On Wed, 2013-03-27 at 12:21 -0300, Franco Miceli wrote:
> Great news then.
> 
> We will be deploying F18 builds which include wpa_supplicant 1.0.

I think even with 1.0 and F18 you'll want the patch I attached.
Actually, it's likely I'll just add the patch to the Fedora builds
anyway, since the upstream defaults here are pretty clearly wrong for
most drivers.

Dan

> At this instance we will test the roaming feature and see if it improves.
> 
> Thanks for the info. Will report back the results.
> 
> BR,
> 
> 
> 
> 
> 2013/3/27 Dan Williams <dcbw at redhat.com>
> 
> > 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