I have already blogged about the Raspberry Pi (the $35 single board computer that runs XBMC or Linux). For this project the Pi would run Raspian which is a custom version of Debian. Raspbian uses the standard apt-get repos to keep track of all of the usual tools that run on platforms like Ubuntu. One the most useful of these tools is iperf.
I have blogged about iperf in the past so I’m not going to go into the details here. Imagine if you will, a tool that fits in the palm of your hand, powered by a battery or a 5V USB charger. It has a single push button on the top that tells the tool to start its test. The tool has an Ethernet connector that you plug into the customer’s network connection.
When you power up the tool the first of the LED’s lights up. When the OS is finished it’s initialization, the second LED lights up. When the tool has acquired an IP address from the customers network, the third LED lights up. When the tool has established a VPN connection to a centralized network server, the forth LED lights up. Four LED’s means the tool is ready to perform a test. Press the button on the tool and it runs a series of UDP and TCP network tests to characterize the customers network for available bandwidth in each direction, detecting and documenting policers and traffic shapers and most importantly packet loss.
It’s easy for the tester to know if there is a problem as the LED’s will indicate the step where the problem exists. If you can’t get an outbound VPN tunnel for example, LED4 will not light up. If you can’t get an IP address, LED3 will not light up.
The tool builds a report and sends it to the tester’s laptop or mobile phone via email. The tester can then forward the email to the customer or salt it away to compare against future tests when the customer says that your equipment has stopped working. The tool needs no monitor, keyboard or mouse and could perform a complete network analysis in a couple of minutes. It can be shipped to the customer site where anyone who can press a button, can perform the test.
The Raspberry Pi is the ideal platform for such a tool as it contains all of the interfaces and software to perform the bulk of the tests. There are Java and Python tools to bring the whole thing together and GPIO pins to detect the button push and drive the LED’s. Once the software is installed, the hardware cost should be in the $70 range (includes memory and a case).