MWavelan is a kernel network device driver for the WaveLAN/IEEE wireless network card, which supports signal strength reading from all the access points in range, plus some more features.
All three drivers lack the ability to provide the signal strength measurement from all the access points reachable from a card. Although this information should be available as the signal strength measurements are required to determine the access point to associate to, this information has been hidden from the device drivers. Moreover, since Lucent Client Manager for Windows provides such information, and Lucent says that their Linux driver has all the feature of the Windows driver, then again, there must be a way to get the signal strength measurement from the card. I started to hack the Lucent driver (wavelan2_cs) to get all the information collected by the Lucent Client Manager for Windows.
Of course, having the signal strength measurements from all access points can help in site design and in some methods of location determination on which a number of location-aware applications can be built.
Here are some key features of "MWavelan":
· Provide all the information available from the Lucent Client Manager for Windows (e.g. Signal Level, Noise Level, ...) using active scanning- see IEEE802.11 standard.)
· Scanning can be done automatically or under user control.
· Corrected the 'iwspy' part to return the correct statistics. Currently, when 'iwspy' is given a MAC address for an access point, it returns the statistics measured from the access point which the card is associated with (this is because the driver has only access to data packets.)
· First driver to implement the 'iwspy' option 'ap' which returns the list of access points reached from the card.
· Added 'iwpriv' command to enable/disable automatic active scanning. By disabling automatic scanning (enabled by default) you can gain performance if you do not need the scanning feature. However, you can issue a scanning command using 'iwpriv' (see the examples below.)
· Added the 'iwpriv' command to allow for user control over scanning.
· There is a general API that can interface with the driver to get this information to user applications.