Jul 172008

iwspy is a linux utility to check the link quality by checking against an IP Address or a Hardware address (MAC-Address) or DNS hostname (resolved through DNS) that is attached to the same Wireless network as the host itself. The reason being it depends on the ARP cache on the system. So, if there is an addresses not in the ARP cache you can then ping once before trying. iwlist can help you to set upto 8 addresses which can be monitored and read back the quality of the link.

This utility is again based on the driver support and the /proc/net/wireless where the quality of link, signal strength and noise levels are updated each timea packet is received. This means, more the number of addresses montiored the more is the overhead on the driver. I didn’t have much of a luck with my Intel 3945 wireless card with Compat drivers.

The syntax is

iwspy [interface]
iwspy interface [+] DNSNAME | IPADDR | HWADDR […]
iwspy interface off
iwspy interface setthr low high
iwspy interface getthr

For instance

opensuse11:~ # iwspy wlan0


opensuse11:~ # iwspy wlan0 00:11:22:33:44:55

To turn off monitoring

opensuse11:~ # iwspy wlan0 off

Set/Get Signal threshold values

To display the current threshold values

opensuse11:~ # iwspy wlan0 getthr

To set the value

opensuse11:~ # iwspy wlan0 setthr <low> <high>