Tools

When building a network, you will frequently need to use special diagnostic and management tools. This section describes the tools that are available and their use cases.

This section describes tools that are used to diagnose individual links, both at the Layer 1 and Layer 2 levels.

Horst

http://br1.einfach.org/tech/horst/

Horst is a diagnostic tool that displays Layer 1 information about the link. You can see the signal strength of the link. Use this when pointing your antenna. You can also see what frames your router can overhear. Use this to determine how quiet or loud a particular channel is. This will help you choose a frequency for this link.

This tool uses ncurses to display the information. It also has history and summary screens.

Horst is available in the OpenWRT repositories. It is not available in the Ubuntu repositories at this time, (XXX At least, not 10.04. Could it be available later?) but the source code is available, and compiles in Ubuntu just fine.

If you have Horst running on your router, you can either display the ncurses info screens over ssh, or you can run it in server mode, and run a local client to draw the ncurses screens (use this option if you're diagnosing a slow link, and the ncurses is updating slowly over ssh).

MTR

http://www.bitwizard.nl/mtr/

MTR (My Traceroute) is a tool that continuously runs traceroutes and shows the latency at each hop of the path. Use this if you have a slow link somewhere, and don't know which link it is.

In the Ubuntu repositories, the mtr package that is available presents a gtk interface. You might prefer the mtr-tiny package, which provides an ncurses interface. mtr can be run on your client machine, or run directly on the router.

The tools mentioned by Jim Gettys

(XXX the tools mentioned by Jim Gettys).

Tools to manage the network

It is fun and informative to have a map of where each node on the network is physically located, and also a map of the network topology. It is very useful for a network to have this software. This is a summary of the state of these tools.

Freifunk's approach

The Freifunk firmware has a Wizard built in that asks users to put in some registration information when they first set up their router. For example, they can pick their location from the map (openstreetmap). This data is sent to a (XXX central server) that is running a custom Django application to keep track of this information. Users of nodes can then look at their router's webpages and download a KML file generated by the Django app, and have it displayed in Google Earth or Google Maps (or any other application that understands KML).

The Freifunk firmware is available in the OpenWRT repositories. Freifunk's custom Django app is not available, and has been abandoned.

The Freifunk firmware also has network topology visualization tools, but they only work with OSLR.

nodewatcher

However, the maintainer of this Freifunk's custom Django app has abandoned the project, and Freifunk is looking to transition to the nodewatcher software, developed for wlan slovenia in Slovenia.

nodewatcher (also a Django app) is a more comprehensive software. It serves two purposes: To display network data and to manage the network. It is capable of building firmware for various configurations, over the web interface. It also has a network topology visualizer, which - again - currently only supports OLSR.

nodewatcher currently has a bunch of code that is specific to the wlan slovenia setup. However, the effort is underway to make nodewatcher useful for any network. To this end, they have set up a Trac server and a mailing list (in English). The code is currently available through a Mercurial repository. More information is available under http://dev.wlan-si.net/.