Hack 30. Monitor Wireless Links in Linux with Wavemon

Monitor radio parameters in real time using Wavemon, a text-based tool for Linux.

When using Linux, the Wireless Tools provide a wealth of status information. These tools get their information from the standard kernel interface /proc/net/wireless. While ideal for providing accuracy in measuring signal strength and noise data, these tools are not designed to give an indication of performance over time.

Wavemon (http://freshmeat.net/projects/wavemon) is a terrific little tool that does precisely this. It polls /proc/net/wireless many times each second to give you a rolling report of how your wireless connection is performing. Its simple curses interface keeps the code quite small and is ideal for including in embedded distributions (such as Pebble [Hack #70]) to get real-time link data from remote access points.

Ubuntu users can install the package with an apt-get install wavemon command. Contributed RPM packages appear to be available at http://rpm.pbone.net for distributions such as Fedora and RedHat. Alternatively, compiling from source is straightforward. Unpack the source code, and use standard compile commands:

./configure make make install

The main interface provides a nice graphical representation of the current link state, as shown in Figure 2-31.

All of the statistics are updated in real time, making it ideal for monitoring point-to-point links and fine-tuning antennas on long distance shots. For an even easier to read display, press F2 to bring up the Level Histogram shown in Figure 2-32.

Figure 2-31. Wavemon in action

Figure 2-32. Scrolling histogram

This display is easy to read on a laptop, even in bright sunshine, making it an ideal tool for outdoor work. The histogram sweeps to the left, giving you a history of the last few moments of wireless connectivity. Since Wavemon runs in a terminal, you can easily run more than one instance to monitor multiple radio links simultaneously.

When you need a high-performance signal and noise meter for Linux, Wavemon is hard to beat.

Категории