HSMM-Pi is available now!

The HSMM-Pi project is now available for download from the Github project: https://github.com/urlgrey/hsmm-pi

I have finished the core set of features, namely the creation of mesh gateway and internal mesh nodes.  I’ll soon post some photos and videos showing my own mesh setup.  In the meantime, you can view a screencast showing the different areas of the HSMM-Pi administration web app:


25 thoughts on “HSMM-Pi is available now!

    • Hi Richard,

      I’ve done my testing of HSMM-MESH with the latest version (0.4.3). It uses an older version of the Open Link State Routing Daemon (OLSRD), which is the critical component for setting up the mesh routing table. The HSMM-Pi project uses the current stable version of OLSRD (0.6.4). The version of the secure plugin for OLSRD bundled with HSMM-MESH is incompatible with the current version of OLSRD. So, the only current incompatibility between the two is in the secure plugin of OLSRD. This will only be a problem if you’re using the secure plugin to restrict access to the mesh. Hopefully the HSMM-MESH project will upgrade OLSRD soon since there are several security fixes to the OLSRD daemon, including updates to the secure plugin.

      I hope this helps, and thanks for your interest in the HSMM-Pi project!

  1. Hi ,
    I am trying hsmm-pi with v1. The pi can see my 2 V1 nodes after changing the SSID but the V1 nodes are not seeing the pi except very randomly and rarely.
    W5/F6CNB Remi

    • Hi Remi,

      Thanks for jumping in and trying HSMM-Pi! Would you please provide some more details on your setup?

      Which wireless adapter are you using?
      Which 802.11 b/g/n channel are you using?
      Which version of HSMM-Mesh are you using?
      Can you ping the HSMM-Mesh nodes from the Pi, and vice-versa? Do the ping response times look reasonable?
      Are there any other wireless networks in the area that might operate on the same channel as your mesh network?

      –Scott Kidder/KK6DCI

  2. Scott,
    I am using a Chinese adaptor based on the REALTEK 8188. It is on channel 1 but I am in a crowded environment in the Paris suburb. The Linksys nodes are using the b270 version of broadbandHamnet-v1.
    The ping is very erratic. It looks like it is a radio issue as sometimes it is detected and sometimes there is no detection of the Linksys side for a few hours. Also most of the time I got only the IP address on the pi side and not the host name.

    I am going on vacations for a few days and I’ll resume the testing next Thursday.

    Thanks for the script, it is very useful for the pi and also to add hsmm to other Linux based devices.

    I forgot a small problem. It does not like my US W5/F6CNB or W5-F6CNB callsign.

    73s Remi F6CNB or W5/F6CNB

    • Hi Remi,

      Thanks again for the details. I was not aware of the Raspbian Wheezy build from late July. I’ll install it on a Pi this weekend and see check whether I get the same results. I’m sorry about the callsign being rejected through the Web interface. The webapp embeds the callsign in a shell script that announces your callsign periodically using ping. The callsign string must fit in a single ICMP packet, so the length must be restricted. I’ll updated the app soon to accommodate longer callsign strings (i.e. W5-F6CNB). Lastly, you’re right that HSMM-Pi is not just limited to just the Raspberry Pi; I imagine it would work on any Debian-like system (i.e. Ubuntu).

  3. Just installed hsmm-pi with my Alfa AWUS036NH for the WiFi. It appears to be mostly working. The pi sees all of my v1 WRT54G nodes and their names. The WRT54G nodes only show the IP address for the Pi node, not the node name.

    Also, I cannot access the Pi node web interface through the mesh, it just keeps trying to load.

    The one big issue I found is one that burns my butt every time I run into it, don’t tell me how long my password has to be! It is MY node and I will decide what I want for a password!

    • Thanks for the feedback on the Alfa USB adapter working. Regarding the node names not showing in the WRT54G nodes: I have an HSMM-MESH WRT54G node running in my mesh network and it’s able to resolve all of the Pi nodes through DNS. Are the WRT54G nodes able to route traffic to/from the Pi?

      Did you try to access the Pi web interface using the root path (i.e. http://(ip)/)? I pushed a fix to Github a few minutes ago to make sure that requests to the root path are redirected to /hsmm-pi/. You can get that change by pulling the latest on your Pi (cd ~pi/hsmm-pi/; git pull). Are there any other areas you can provide feedback on?

      As for the password length, I think that enforcing a minimum password length is a good thing as it encourages people to operate their networks with good security practices. However, this is open-source software, so you’re welcome to bypass the password length restriction should you choose. Modify the /home/pi/hsmm-pi/src/var/www/hsmm-pi/Model/User.php file, line 9, to use your chosen min/max lengths for the password (default is between 8 & 20 characters). Save the file, and you’re good to go.

      Thanks again,
      –Scott Kidder

      • Yes, I was trying to access it at the root. By default, the HSMM-MESH uses port 8080 for access to the node web interface. This makes sense so that the standard port 80 for other services running on the node. It also affords a minimal amount of security by obscurity.

        I am able to access the web interface through the mesh by using the /hsmm-pi path on port 80. I am also able to ssh to the pi node through the mesh.

        This leaves the issue of not getting the node name. I noticed that BroadbandHamnet is using olsr version and hssm-pi is using version Looking at the olst links/topology page on the WRT nodes, I see that under Neighbors, the pi node shows MPR as YES and Willingness as 7 where the WRTs show MPR as NO and Willingness as 3.

        I am also seeing frequent connection resets on the web interface to olsr info page on the pi node.

      • Good point about the port, I’ll consider changing it to 8080 in the future. As for the OLSRD willingness value and other settings, you can find that value set in the olsrd.conf.template file under hsmm-pi/src/var/www/hsmm-pi/webroot/files. Edit that template, click Save in the web UI, then reboot. I’m interested in hearing if that fixes things for you.

  4. I honestly don’t know for sure that it is what fixed the node name issue, but I changed Willingness to 3 and MprCoverage to 5 in the olsrd.conf.template file and rebooted. The WRT nodes are now properly getting the node name for the Pi node.

  5. Scott,
    The latest version is working on my 2 rpi (and 2 linksys). The one with the REALTEK 8188 has poor radio performances (internal antenna) which probably explained the previous issues. The one with an external antenna (and same adaptor as yours) is working perfectly.

    I am now configuring a small fit2PC running debian based on your script;

    73s Remi F6CNB or W5/F6CNB

  6. Got it working on my Raspberry Pi. Was able to mesh with my two Linksys WRT54{G,L} nodes running the latest HamnetBroadband-V1. I was able to do this using any of my 3 USB WiFi dongles (the use Ralink chipsets RT2870, RT3071, and RT5370). Cool. Still lots to learn.

  7. I finally had some time this weekend to work on the backlog of projects, and was able to get HSMM-Pi installed. After changing the SSID and configuring the HSMM-Pi node joined the three WRT nodes in my mesh.

    A few items:

    1. In addition to the node name (callsign-SSID), the WRT firmware recognizes a tactical name for each node (for example, “W6GSW-101 / LAX-ARES1”). HSMM-Pi does not display these tactical addresses for WRT nodes, nor appear to recognize them when naming a Pi node.

    2. One of the WRT nodes advertises a “Winlink RMS Telnet” gateway but does not offer a link on the mesh status page. The HSMM-Pi status page displays the advertised service, but it is not associated with (displayed next to) the appropriate WRT node. The Pi status page also creates a web link which, being undefined on the WRT node, fails.

    3. I have the wired port configured for LAN, NAT mode, IP, mask, DHCP server, start 5 and end 25. This matched the default configuration of HSMM-MESH 4.3, which I continue to use with BBHN 1.0. However, a device connected to the Ethernet port does not connect to the HSMM-Pi node, nor does it appear to receive an IP address. I need to look at this further; maybe it is a problem with my configuration. Suggestions will be appreciated from anyone who has been successful at getting this configuration to work.

    Thanks for all the great work on developing this for the Pi,

    Happy Labor Day to all!

    • Hi Kenny, I haven’t tried running HSMM Pi on a Pi that’s also configured as a TNC-Pi node, but it seems like they should be able to coexist. Are you volunteering? :). If anyone does get the two working on a single Pi, please post here or on the Google Plus community.

  8. I understand that in order to avoid conflicting IP addresses, HSMM-MESH installations use an IP address determined from running a calculation based on a portion of the device’s unique MAC address. In the HSMM-Pi, it appears that the IP address assignment is left to the user. Is that correct? If so, how does HSMM-Pi avoid conflicting IP addresses?

  9. Scott,

    Thanks for the great work. I have the node software installed and apparently working although I see no nodes. I have a v1.0 running a few feet away. The wifi I am using IS listed on the validated Pi list but states it could have issues. I am waiting for one with a “real” antenna to arrive next week and will see if that fixes it. Doing a scan shows no other wifi around and as I stated there is another node plus my house router. I do see the wifi device, Netgear WNA1000M, in dmesg. Any thoughts?

    • Scott,
      On a followup… I got another USB wifi with external antenna but I am not having any luck finding the other nodes. The other nodes I have are all 1.0. Any pointers would be helpful.

      Kirk – N6SXR

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s