-   Linux - Wireless Networking (
-   -   Obtaining periodic AP receive signal strength measurements (

wood@addanc 06-23-2007 02:48 PM

Obtaining periodic AP receive signal strength measurements
I need to periodically obtain signal strength readings for a group (probably up to four) AP. The obvious solution is to use the wireless extensions interface for scanning viz:

# iwlist wlan0 scanning

However this method is quite slow, since channels are scanned where I know there isn't any AP. Are there any native Linux wireless drivers/hardware combinations that support a directed scanning, i.e. where I can specify the channel on which to perform the AP scan? Has anybody got any alternative ideas for cycling through four AP in less than a second? Any ideas will be greatly appreciated.

unSpawn 06-24-2007 09:50 AM

I think this functionality is solely dependant on the capabilities of the "wireless tools" package. Check "man iwlist", look under "scan[ning]", then the answer is in the last line (at least my version): "Also, this command is supposed to take extra arguments to control the scanning behaviour, but this is currently not implemented".

With an Atheros cards and (currently) 3 AP's in range I get:

time iwlist ath0 scan >/dev/null

real    0m0.251s
user    0m0.000s
sys    0m0.000s

...which doesn't seem that slow to me.

wood@addanc 06-24-2007 11:43 AM

On my laptop I get the following for a scan:


# time iwlist wlan2 scan >/dev/null

real    0m3.065s
user    0m0.000s
sys    0m0.008s

I'm currently using ndiswrapper to get a D-Link DWL-G630 PCMCIA/cardbus card working under openSuSE 10.2. D-Link card chipset: RaLink RT2561/RT61 rev B 802.11g. I would be really interested in the timings for the scan with the native Linux driver if anybody has that setup, I guess that the 3 second time to complete the iwlist could be down to long timeouts in the windows driver.

The Wireless Extension documentation appears quite pessimistic about many driver/hardware combinations supporting the option "essid" to the "iwlist wlan0 scanning" command.

All times are GMT -5. The time now is 09:08 AM.