How the mesh works

Many people have picked up on the Meraki Mesh idea, but people seem to be confused as to what a Mesh Network actually is. Here is the Wikipedia definition of a Mesh Network:

Mesh networking is a way to route data, voice and instructions between nodes. It allows for continuous connections and reconfiguration around broken or blocked paths by “hopping” from node to node until the destination is reached. A mesh network whose nodes are all connected to each other is a fully connected network.

The truth is that the Mesh Network is not really a Mesh but a Mobile Ad-Hoc Network. This means it has the properties of a mesh, but it’s mobile! For those who are interested, here’s the link to how this works from wikipedia:

ExOR Wireless Network Protocol

This should explain the basics of how this works, which is what Wikipedia is really good for. The Routing protocol that is being used is SrcRR, which what was used in Roofnet. This is an open-source protocol, and can be used in anything that has an Atheros Radio.

The nice thing about the Meraki Hardware is that it makes it accessible to people who want a finished product. It could be possible to mesh with the Linksys WRT54G using Optimized Link State Routing, but then there’s the problem of forcing the radio into Adhoc mode because Broadcom has a more closed design than Atheros. It also could have been done with Netgear WGT634Us and the new Linksys WRT150N, but these devices are twice as expensive.

Also, I find myself warming a bit to the Dashboard. It doesn’t allow people to configure custom spash pages per node, which would be nice functionality, nor does it allow for very much customization of the spash page. I think that this will be added down the road by Meraki since a lot of
people seem to be asking for this. Also, I find that it’s an interesting project working with a group of people who have admin on the nodes.

We’re definitely learning as we go along, and that’s what makes this interesting.

Mesh Wireless goes to the Mainstream, (maybe)

I have a hobby of hacking the firmware on the Linksys WRT54G. I originally started doing it because I wanted to learn about how Embedded Linux worked, and I thought it was cool that it could run Linux. That’s how I got introduced to the Community Wireless movement.

Basically, the problem with the DIY Community Wireless hacking is that you’d have to either take off the shelf routers, flash them (and void your warantee) and then hope that you got something working. Then you can write applications for it like WifiDog, or various Mesh Networking Applications such as Optimised Link State Routing. This was great, but it ran into two big problems:

  1. It’s hard to convince someone to run a hacked Linksys router in their home, because it looks sketchy
  2. You’re at the whim of the manufacturer, who may not like that you can extend your hardware, or may change the hardware randomly or End of Life(EOL) it because they can make something that is cheaper.

In fact, the original Linksys WRT54G was changed after Version 4.0 to run vxworks because it took less processing power, voltage and memory to do what they wanted than they needed from their prior cookie-cutter design. Also, Netgear also discontinued the WGT634U because of similar logic. The reason I mention the WGT634U router is because that is what MIT Roofnet originally used to build the prototypes for what is now Meraki Mesh.

After BarCamp and talking to Boris at Bryght, I decided to buy some Meraki hardware. Now, I was expecting some unmarked boxes, and the devices to be large, but I was very suprised to find a branded box, like what you would find in FutureShop, and a very small device. Not only that, but it is extremely user friendly. I was also impressed with the range of the device. I put one in my Window at my apartment, and it seems to have a 100m (about 300 ft) range. Now, this is important, since the way mesh works is that you put a bunch of mesh nodes out into the world, and they route between each other to the nearest gateway node, the node with the least latency.

When I compare the Meraki out-of-the-box solution to the alternative, which is the Freifunk OLSR, there’s really no comparison for how easy it is to use. I think that Meraki has a very interesting project and it’s worth testing out. The main advantage of us testing out mesh is obvious, since we can facilitate a test bed for Ajax components in mobile devices right outside our window. With the release of the iPhone and the iPod touch (more importantly the iPod Touch, since we’re in Canada), content that is dynamic, and takes advantage of both geography, as well as the various user agents, is critical to providing a user experience like nothing else.

With more and more mobile devices equipped with Wifi for mass adoption, it just makes sense to at least play with the stuff. I’ll have pictures up here soon of us playing with the hardware!