"scan stuck" with if_iwi(4)
sam at errno.com
Wed Jul 26 20:28:17 UTC 2006
Henrik Brix Andersen wrote:
> On Wed, Jul 26, 2006 at 11:07:36AM -0700, Sam Leffler wrote:
>> Sure, it was for others.
> Ah :)
>> Which version are you looking at? The numbers in iwi are from the code
>> in linux-2.6.17; maybe it's been changed again in the code on
> I was looking in the ipw2200.h header file from ipw2200-1.1.2 - but
> the values are the same in version 1.1.1 of the driver, which is
> present in linux-2.6.17.
> #define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8
> #define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 3*IPW_MB_ROAMING_THRESHOLD_DEFAULT
If I recall the first is used to trigger a bg scan to look for a better
ap. If that fails and the 2nd number is seen then the driver shuts
down. So I guess this amounts to disconnecting from the current ap on
the 2nd number but I'm not sure how you can do the bg scan and still get
the firmware to keep counting up to the larger number (it resets it's
internal counter on channel change from what I recall). But it's been a
while. Regardless you've got a knob now so you can set it to whatever
you want. You shouldn't be missing beacons in such large numbers; it's
a likely indicator of some other problem but since we don't know what
exactly a bmiss means it's hard to say (e.g. the firmware may report a
bmiss when the rssi of the received beacon frame is below a threshold in
which case there may be a problem with the threshold setting).
>> The one thing the linux driver does differently is scan for a new ap
>> _before_ roaming which the current net80211 code cannot do.
>> Unfortunately the code to do that has been sitting outside the tree
>> for a long time and it's unclear if it'll ever come in...
> Oh? Sounds interesting, where can I find these patches?
The work has always been in perforce.freebsd.org; look in the sam_wifi
branch. The code will not hit head until folks show up to fix legacy
drivers that use net80211. I got stuck holding the bag when I committed
the wpa support and it ain't going to happen again.
More information about the freebsd-stable