Re: The 15 seconds scanning interval too long for ipw2200.



On Mon, 2006-09-11 at 11:37 -0400, Leon Bottou wrote:
> On Monday 11 September 2006 09:02, Dan Williams wrote:
> > How long does it take when you do 'iwlist scan' before results are returned?  
> > My ipw2200 takes less than a second before returning some results.
> 
> It easily takes 2-3 seconds to get all the relevant results.
> Sometimes I get nothing for 2 seconds, then all the networks appear almost at once.
> Maybe it has to do with the beacon frequencies and the way ipw2200
> cycles over the channels while scanning (if it cycles at all..)
> Note that I have no problems with that!
> 
> My problem is that network-manager only waits .25 seconds 
> to get the results, then waits 20 seconds before rescanning.
> Results from the previous scan are no longer available then.
> I tried making the wait longer or adaptive with mixed results.
> Then I reduced the scanning interval to 10 seconds, 
> and everything works nicely and reliably.
> 
> I reduced both NM_WIRELESS_SCAN_INTERVAL_INIT and NM_WIRELESS_SCAN_INTERVAL_ACTIVE. 
> The first was 15 seconds, and the latter was 20 seconds.
> I suspect now that only the 20 second interval is a problem. 
> The 15 seconds interval should be okay most of the time.
> 
> > What version of the ipw2200 drivers and the ieee80211 layer do you have?
> 
> I have been tracking this malfunction for a long time.
> I am currently using ipw-1.1.1 and ieee80211 git-1.1.7 from the stock ubuntu kernel.
> In the past I tried ipw-1.1.4m and ieee80211-1.1.13 from the sourceforge site
> but that did not change anything.
> 
> > The driver should be keeping access points that are actually in-range in
> > its scan list.  If it's culling ones that are in range,
> > there's something really odd going on in the driver.  
> 
> Successive calls to iwlist as non-root show them with increasing
> intervals since the last beacon (Extra: Last beacon: 200ms ago) 
> They disappear when this interval reaches 15 seconds.
> Then the list stays empty or solely contains whatever access 
> point the driver auto-associated with.

Right, NM doesn't care what happens non-root, since it uses root
privileges to do scanning.  It's somewhat odd that ipw doesn't report
the full list of scan results to non CAP_NET_ADMIN users, but whatever,
that's not a problem for NM.

What do successive runs if iwlist scan do for _root_?  That's what NM is
doing.  A possible workaround to this is to backport the netlink code
from HEAD that triggers scan events and waits for an SIOCGIWSCAN to come
back from the driver, and then grab the scan results.  If after _that_
you don't get any results, the driver is clearly at fault.

Dan

> > Does this problem just happen on startup or resume?
> > i.e. does it happen on the first few scans from the ipw card, or on every scan? 
> 
> The first connection (after reboot and login) usually works okay (not always though).
> Further connections were causing lots of trouble (after a suspend/resume, after a logout/login).
> This might have to do with the difference between NM_WIRELESS_SCAN_INTERVAL_INIT 
> and NM_WIRELESS_SCAN_INTERVAL_ACTIVE. 
> 
> My workaround was to 'rmmod ipw2200; modprobe ipw2200; sleep 10' 
> until restoring the connection.
> 
> 
> > Does the driver eventually return a full scan list?  
> 
> Procedure:
> 
> Load the driver with the associate=0 option.
> $ modprobe ipw2200 associate=0
> 
> Open a *NON ROOT* shell and type
> $ while true ; do echo ========================== ; date ; iwlist eth1 scan ; done | tee log
> 
> While this is running, open another shell as ROOT and type
> $ iwlist eth1 scan
> to request the scan.
> 
> The log file shows nothing at first. Networks appear shortly after the scan request.
> They disappear when the time since the last beacon reaches 15 seconds (not 12!!!!).
> Then the list stays empty until we initiate a new scan.
> 
> > Is your access point set to not broadcast its SSID? 
> 
> No. 
> 
> Thanks.
> 
> - L.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]