Some quick points

1) villagetelco isn't for profit at all. They are GPL. They happen to sell pre flashed devices sure.

2) bmx6 won the last battlemesh competition. Its quite well documented at bmx6.net. Generally it would be combined with batman-adv. So one would distribute v6 address blocks down to batman-adv "clouds/cells" and then end clients would be able to roam between access points and not drop connectivity.

3) Yes I'm well aware of the firmware projects and that they spin openwrt a certain way. Unfortunately most of them don't push changes back upstream or use openwrt features to make integration easier (like feeds).

4) qmp is used by guifi.net. They are the largest mesh network in the world with 15k+ nodes.

5) Yes unfortunately libremesh.org is having some issues lately.

6) Actually nodeshot is pretty much the standard for mapping, used by pretty much all the mesh projects as a map/dashboard system.

I've been in the mesh space for over 10 years. I've seen many abandoned projects and people who didn't think about the numerous issues that arise with network operations. Qmp (and its successor libre-mesh) are built by people who very much know what they are doing and operate under the model of rough consensus and working code. Nodeshot is pretty awesome (I believe that is what you guys are currently using?). A few other popular pieces exist and are in wide use.

I would like to know the particular features you are looking for, thoughts about the network architecture, planned usage levels etc. I've built several wired and wireless networks and would love to help however I can.

In KC, the FNF is actively assisting a local non profit with the planning/testing of a network that serves about 1k people. Its a combination mesh and point to point network.

Currently running airos/meraki (donated gear), will be switching to one of the off the shelf firmwares wherever possible. For backbone (ptp) nodes, openwrt+bmx6 seems to be the way to go. Access layer, qmp seems best.

Many variables to take into account of course. Lets share notes/ideas/experiences and save many others lots of effort. :)

Also checkout openwisp.



Marc Juul <marcjc@gmail.com> wrote:
On Wed, Jul 10, 2013 at 4:21 PM, Charles N Wyble <charles@thefnf.org> wrote:
Oh no. Not another firmware project. Please work with qmp or libremesh or villagetelco.

I find this statement odd. In my opinion it doesn't make sense for different mesh projects to share a firmware project. These "firmwares" are all just OpenWRT with extra packages pre-installed and a bit of mesh-specific default configuration... sometimes some custom web gui stuff. Most of this will vary based on what the mesh project is trying to achieve.

New work in the form of additional features for OpenWRT should be put into OpenWRT or released in the form of OpenWRT packages. Useful configuration files and web guis can be shared, but will likely need to be adapted by the different groups

Let's have a look at these projects anyway:

  qmp does not support all of the devices we are using. It uses bmx6 which as far as I can tell is based on the now-abandoned batmand, and so runs in userland (ah!) and is layer 3. On top of that bmx6 it seems to have a worryingly small amount of documentation. qmp has a few tools that may be interesting, like a node map, but then again all mesh groups seem to have their own node map and little helper tools.

  libre-mesh.org is giving me a 502 bad gateway and archive.org does not have a copy of the site. Looking at the git repo it seems to consist of a few make files, a bit of addition to the openwrt web gui and a bit of configuration. It oddly installs both bmx6 _and_ batman-adv on all routers (we have lots of 4mb flash routers. space is an issue).

  villagetelco seems to be a for profit company (?). They support only their own hardware and two models of tp-link. It bundles SIP stuff and its goals seem to be very different from ours.

I'm sure someone who just wants an easy to deploy mesh solution and doesn't care too much about the specifics of the firmware could be happy with these solutions, but given our goals, basing our firmware on either of these projects would likely set us back more than it would help.

In my opinion, the correct solution for building a mesh firmware is to begin by identifying what the needs of the mesh project are, identify what functionality the firmware must have in order to best fulfill those needs, then find the best tools from OpenWRT or other mesh projects for the required functionality and finally combine them into a custom firmware.

--
Charles N Wyble (818) 280-7059
CTO/Cofounder Free Network Foundation
http://www.thefnf.org