Saturday, August 10, 2013

HSMM-MESH on Raspberry PI

Recently John Wiseman, GM8BPQ of Scotland wrote a good starting guide (full documentation is still being prepared) on how to use the Raspberry Pi for Broadband-Hamnet/ High Speed Multi-media Mesh networking. John's message was posted on the Amateur Radio Experimenters Corner and Raspberry Pi 4 Ham Radio yahoo groups.

Dongles

I've tried it with several, including a 1 Watt unit with option for an external antenna. (http://www.amazon.co.uk/gp/product/B003JTM9JY/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1) . It is worth adding that to power the 1 watt dongle you need a version 2 PI, and a pretty high current PSU.

Installation

As there seems to be quite a bit of interest, I've put together some preliminary installation instructions. More technical info, build detail, etc will follow.

Download latest Rasbian image from http://www.raspberrypi.org/downloads and write to an SD Card in the usual way. (2GB is enough, but larger can be used). Leave card in PC.

Download https://dl.dropboxusercontent.com/u/31910649/meshautoconf0.4.3.zip and unzip, You should end up with a folder meshautoconf0.4.3.

Check that you have folders lib, proc, sys, dev, etc, bin, files, OpenWRTFiles, PIFiles. I've sometimes had problems with winzip not creating empty folders.

Open the boot partition of the SD card, and copy all the files and folders from meshautoconf0.4.3 into it.

Unmount the SD card, install in PI, and power up, If you have a monitor it is worth connecting it so you can see what is going on.

The PI should boot 3 times. The first time it uses the boot partition as the root partition, and copies a few files to the main partition on the PI. This takes a few seconds. The second time it uses the rc.local file just installed to install some packages (from the boot partition, so no internet is needed). and configure the node. This can take several minutes. It then boots again to activate the MESH configuration.

The files are set up to work the same as a WRT54 node - the LAN port is configured as 172.27.0.1, with DHCP enabled - so you can connect a PC and configure the node in the usual way (web browser to localnode:8080). Sometimes I've found the PC doesnt get an IP address the first time. If this happens, rebooting the PI should fix it.

I've found it easier to configure the LAN port with an address on my LAN, so I don't have to unplug the PC and connect it to the PI. You can edit file "interfaces" to set an address on your LAN instead of the 172.27 address. If you do this, remember to set the same address when you configure the Node. or you will loose access. You'll need to connect to the IP address:8080 to configure.

73,
John

(Footnote: The userid/password is the standard HSMM-MESH root/hsmm)

KK6DCI also has a project for building a BBHN node ("Broad Band Ham Net", the new name that replaces HSMM-MESH) on a RasPi at https://github.com/urlgrey/hsmm-pi. It has been used with a 1 watt Alfa AWUS036 USB wireless adapter (using the aircrack-ng driver for the rtl chip in the Alfa).

So what is the advantage of rolling your own this way, you may be asking?

The real advantage is that you can drive a cheap, relatively high-power USB wireless device, like the 2 watt Alfa AWUS036NH... Also the Alfa devices use the Atheros chipset, instead of the Broadcom chipset used in the WRT54.. devices. Atheros devices can be programmed to work outside of the normal Part 15 overlapping channels.

In addition utilizing different supported-rates, you can take advantage of the different channels with minimal or no overlapping. You may also be able to fit a ham only channel in in band segments not shared with Part 15, resulting in a lower noise floor.

The WRT54 and other embedded devices have a limited amount of on board memory and processor power. This is not an issue if you roll your own using a Raspberry Pi. The Pi will also be able to easily support many running services, like FTP, IRC, etc.

1 comment:

KD8TEK said...

The install per this guide ran fine, and while my existing WRT54G nodes can see the Pi, it does not see them.

Thoughts?

73

KD8TEK