TU BRAUNSCHWEIG
Informatikzentrum

WLAN Measurements

AuthorDr. Oliver Wellnitz
KeywordsWLAN 802.11 Measurement Messungen RSSI Signal Strength Rate
CategoriesResearch, Software

To make measurements in WLAN IEEE 802.11 networks easier, Dr. Oliver Wellnitz has created some software patches that allow the measurement of signal strength (or RSSI) with Linux. Additionally, a simple ping(1) program has been extended to use this feature.

Software patches

To use this software you have to patch three pieces of software. Firstly, the Linux kernel's skbuff has to be extended to hold additional information (signal strength and data rate) when a packet is received. Additionally, an interface to access this information from userspace has to be created. Secondly, the WLAN driver has to be extended to store this information in skbuffs. Finally, a userspace program must gather this new information and show it to the user.

1. Linux Core Patch
Linux WLAN-SigRate PatchThe general WLAN-SigRate Linux Patch for 2.6.19.1
Linux WLAN-SigRate PatchThe general WLAN-SigRate Linux Patch for 2.6.16.20
2. Linux Driver Patches
Orinoco Driver PatchLinux Kernel Patch for the Orinoco WLAN driver (Linux 2.4)
MadWifi-NG Driver PatchLinux Kernel Patch for the MadWifi-NG driver (Linux 2.6)
3. Application Patches
Ping PatchPatched ping (iputils-20020124)

Example

On a patched system, you can easily use the ping program to show signal strength and data rate for each received ICMP reply. Please notice that you need superuser rights to use the patched ping program.
# ./ping 134.169.35.129
PING 134.169.35.129 (134.169.35.129) from 134.169.35.227 : 56(84) bytes of data.
64 bytes from 134.169.35.129: icmp_seq=1 signal=23 rate=12 ttl=64 time=17.9 ms
64 bytes from 134.169.35.129: icmp_seq=2 signal=26 rate=11 ttl=64 time=3.84 ms
64 bytes from 134.169.35.129: icmp_seq=3 signal=23 rate=12 ttl=64 time=1.11 ms
64 bytes from 134.169.35.129: icmp_seq=4 signal=27 rate=11 ttl=64 time=3.42 ms
64 bytes from 134.169.35.129: icmp_seq=5 signal=28 rate=11 ttl=64 time=9.79 ms
[...]

API - How to access signal strength and data rate information?

Signal strength and data rate information from received packet can be gathered via the IP_PKTINFO socket option. struct in_pktinfo has been extended to store signal and rate variables. For further information take a look at ping_common.c in the ping patch above.


last changed 2007-07-19, 09:39 by Dr. Oliver Wellnitz Printable version
hoch zum Seitenanfang