It is now easy for anyone to setup and install a wireless network for their neighborhood or apartment complex for just a few dollars per dwelling (often about 10!). Even better, you can share a single DSL with 25 or so neighbors, reducing the cost per user per month to about $1. It should take you no more than a few minutes to do it, even if you consider the extent of your technical skills to be no more than turning on your computer and checking your email.
The magic that makes this work is the RO.B.IN firmware running on a very low-cost (about $40) “smart” box about the size of a pack of cards that can spread a single DSL across multiple rooms and buildings. We say “smart” as it does all the work of figuring out how to route the wireless signals. All you have to do is plug it in! RO.B.IN routers are based completely on open source software, so they are also easy to customize. We'll get into that more later…
When we say “easy”, we really mean it. As you progress through this document, you will see some “technical” information. But those sections are completely optional and are not needed in any way to get your network up and running! We'll let you know when you get to these sections.
So let's get started…
| Network: | A group of computers that can talk to each other – in our case, wirelessly. |
| Gateway: | The Open-Mesh router that is connected to the internet (usually a DSL connection). |
| Repeater: | An Open-Mesh router that is not connected to the DSL and “repeats” the signals from local computers and other nodes to the gateway. |
| Node: | A generic name for an Open-Mesh router which can be either a Gateway or a Repeater. |
In a traditional network (like you might have at home or the office), each computer has to be connected to the internet via a hard-wired cable. The expense and inconvenience to residents of retrofitting apartment buildings (let alone neighborhoods) with cabling is usually prohibitive. The Open-Mesh router solves this problem by spreading a wireless signal across many rooms and buildings - far beyond the range of a single wireless router (even 802.11n routers) that you might find at a computer store.
This document grew out of experiences researching and finally deploying a network for low-income communities. We had several requirements for the network:
RO.B.IN routers are not the only system we were able to find to meet all of these goals - the Meraki Mini is also a great solution. However, the RO.B.IN routers have the advantage of being open source. This means you are not dependent upon one vendor and you can easily customize them should you want to do so in the future. Meraki works out-of-the-box without the need to configure (and understand) any technology. RO.B.IN routers can also come “preflashed” so they are ready to plug them in, or you can “reflash” a Meraki or FON 2200 to run the RO.B.IN firmware.
If you have a pre-flashed RO.B.IN router, the only thing you need to know is where to plug them in, and that is what this next section is all about:
The first step is to figure out where you will get your internet connection. Usually this will be a DSL. Cable is also available, but check with your cable provider. We have been told by some cable providers (and DSL providers, too) that they do not allow their customers to “share” their connection with others outside their home or office. You will want a provider that DOES allow sharing. Many DSL companies now allow this, but you should always check with their “terms of service” agreement before starting. We use Covad DSL, locally.
If you only have a single internet connection feeding your mesh network, it is desirable to have the Gateway be as central to the are you want to cover as possible. The reason for this is that for each Repeater you pass through to get to the Gateway the maximimum speed is cut roughly in half. So if most of your Repeaters have a direct (or single “hop”) connection to the Gateway, speed is maximized. The easiest way to accomplish this is to put your DSL connection as close to the middle of the area you want to cover (an apartment complex, for example) as possible. Another way is to have multiple DSL's. In fact, it is often better to have multiple lower-speed DSL's feeding your Network than a single high-speed DSL. If one DSL were to go down, your network will switch-over to the other DSL keeping your network up, if a bit slower. Plus, by having multiple DSL's spread throughout your network, you minimize the speed loss of “hopping” the signal over several Repeaters to get from internet to user.
If you are using the routers in apartments, we recommend that you have one for every 2-4 apartments that you want to cover, on average. This will vary depending upon the type of construction used for the apartments. If concrete/brick/stone or other “dense” materials, you may need one for every 1 or 2 apartments. For wood frame construction, 3-4 seems about right.
If you are using the routers in a residental neighborhood, we recommend that each house have its own Mini as houses are typically larger than apartments and yards separate the Minis much more than in apartments. And if the houses are especially large, you can even add multiple Minis to the house to provide excellent coverage in every room.
Indoor vs outdor nodes? Some things to keep in mind:
So why are outdoor nodes used? Historically they were used as mesh repeaters were expensive so you wanted to install as few as possible. This meant big antennas to both broadcast and be able to pickup tiny incoming wireless signals. Other cases are where you want to create point-to-point connections over large distances.
With the advent of very low cost mesh technology, this often isn't necessary any more. Let's face it - you typically don't care about outdoor wireless. You want it indoors. So we suggest turning the historical installation approach “inside out” and instead use a greater number of very low cost devices indoors (where the people and computers are) and save money on installation (which goes to nearly zero $). By deploying densely indoors (eg, one indoor device for 2-4 apartments), your total cost is lower and you will have better indoor performance.
We usually don't do outdoor installations. In many situations they aren't needed and the $ they consume is often better spent in more densely deploying indoor nodes. Before installing an outdoor node, please ask yourself if this is needed. You'll often save yourself time, money and grief by deploying indoor, where possible.
Currently, pre-flashed (flashing is the process of putting the RO.B.IN software onto the router) routers don't exist. We hope to have some in the next few weeks (February 2008), but for now if you want to test, you'll need to flash a FON 2200 or Meraki Mini router using RO.B.IN firmware. NOTE: If you re-flash an existing device, you will lose all your settings on that device and may not be able to restore it to its normal operation. So ONLY do this if you have devices to spare!
Flashing a FON 2200 or Meraki Mini (the Meraki Outdoor is NOT supported) is pretty straighforward, but you will need a linux computer (a “live CD” is ok, so you won't need to install Linux on a computer). Flashing instructions are available here
OK, so you have your DSL and your RO.B.IN routers. Now you just need to plug them in. It's easy! For this example, let's take a hypothetical 20-unit apartment complex with a central community center / rental office building. We'll use 5 nodes (one Gateway and 4 Repeaters). Remember that a Gateway node is simply the one that is plugged into our DSL (in the Rental Office in this case), and is marked as
. Repeaters are shown as
.
In the above diagram, the Gateway node is in the Rental Office. If the Rental Office already has a DSL, this means that you can share that connection with residents for NO additional cost. Here are some important installation suggestions:
Before you install the routers in individual apartments or hallways, it is a good idea to write down where you are putting each one. This is so that later if you get notification of an outage, you'll be able to know where that particular router is!
We like to plan before we install and write (using a Sharpie pen that can write on plastic) the location on each router before we go out to the installation site. So, in the above hypothetical apartment example, we'd write ”#3”, ”#9”, ”#13”, ”#19” and “Rental Office” on the back of the 5 routers we are going to install. This makes sure we get the right one in the right place.
The easiest way to test your network is to take a laptop into each apartment and see how well it works to browse the internet.
The first thing to do is to set the laptop to look for an SSID of only “open-mesh”. On Windows XP, this is done by right-clicking on the wireless network icon in the taskbar “notification area” (the small icons near the date/time display on the right). Then select “View Available Wireless Networks” from the pop-up Menu. Next a dialog like this will appear:
Click on the “Change the order of preferred networks” link on the left and you'll see:
For the purposes of this test, you'll want to make sure it can't connect to anything except the SSID you set so remove any SSIDs that appear in this list by clicking “remove” until the list is empty then click “add” to add “open-mesh”. Next click on “OK” twice to save and close these settings.
Now you are ready to test!
It is important that as you wander around, you turn off, then on the wireless adapter on the laptop (most laptops have a switch for this so they can be used on airplanes where wireless isn't allowed). As you enter a new apartment or room that you want to test, turn the wireless switch to the “off” position, wait a second or two, then turn it on again. It will usually take a few moments to find the network again and once it says “connected” in the taskbar (if you are using a Windows Laptop), then you are ready to test. RO.B.IN wireless networks default to an SSID of “open-mesh”, so this is what you'll want to be looking for (you can change this and we'll cover that a bit later).
Why do you have to do this? Wireless adapters in computers like to stay “locked” onto the wireless access point (in our case, one of the open-mesh routers) unless the signal gets really bad. Since you are wandering around, and open-mesh networks have many such access points, if you don't switch off then on your wireless adapter, you'll get false results as it may be trying to talk to a router that is now farther away then another which would have a better signal. Users typically don't wander like this, so by turning off then on your wireless, you'll see what a stationary user would see.
At each location, it's a good idea to refresh a page with lots of graphics a few times. You can use http://www.yahoo.com as it typically has several images. You should see each page load in under 5 seconds with no missing images if it is working well.
If you have some areas that don't work or don't work well, try moving the closest router to a location closer to the Gateway or add a Repeater and retest.
Or, if you'd like to make certain your network is working well without having to manually test each location, you can use the open-mesh “Monitoring” site (the next section of this document) to gain a clear understanding of how it is working and setup alerts if something goes wrong. This is the best way to make sure everything is working well.
This starts the Completely Optional part of the documentation. The following instructions will give you additional features and allow you to get notices of outages. It will also help you verify your installation. These are the tools we use to configure, troubleshoot and verify the networks we install, so if you want to be certain your network is working well, we highly recommend using them.
Open-Mesh provides a free administration, alerting and mapping system for RO.B.IN mesh Networks. It allows you to configure the ESSID, splash page, passwords, and QoS (bandwidth shaping) of your networks. Some of its features include:
These features are focused on creating networks that are easy to deploy, manage and understand. For example, the daily summary email alerts feature was added as real-time alerts are pretty inefficient for property managers. It is far easier to get a daily report that aggregates all outages so when time allows, they can be addressed at once. The various new diagrams and maps help you deploy the highest quality network possible. You'll be able to see when nodes aren't working well over time and see in a simple diagram where you have poor connectivity between nodes. This diagram also works well for “vertical” deployments (ie, tall apartment buildings) where a 2D Google Map isn't going to let you place these nodes in a meaningful way. And if you do use the Google Map in Manage, you'll love the new color-coding of nodes by quality, 24-hour quality graph in the node popups, automatic gateway routes, etc.
While everything should work under Microsoft Internet Explorer, we develop and optimize it for Firefox. If you don't have the Firefox browser, you can get it here: http://www.mozilla.com.
It is easy to create your Open-Mesh account. Simply go to http://www.open-mesh.com and click on the “Add Network” button at the top of the page:
Next you'll see a page that looks like this:
Email alerts come in two formats, one for immediate Gateway outage notifications and one for the daily summaries. Gateway notifications are always sent out on the hour that they are down (so, if a gateway goes down at 11:30a, you'll receive the email alert shortly after noon). Gateway notifications look like this:
The following GATEWAYS are down at <your-network-name>: <node-name>. Last Check-in: 39 minutes, 10 seconds. etc... This is an automated alert. Please don't reply to this address. You may view your network map at http://www.open-mesh.com/map.php?id=<your-network-name>.
The daily summary of all nodes that are down for a network looks similar:
The following nodes are down at <your-network-name>: <node-name>. Last Check-in: 39 minutes, 10 seconds. etc... This is an automated alert. Please don't reply to this address. You may view your network map at http://www.open-mesh.com/map.php?id=<your-network-name>.
Gateway notifications are sent in near real time as they are likely to affect a large group of people so you should know as soon as possible. If you have built your network densely enough, repeater outages are not nearly as urgent and are sent daily to accommodate the schedules of property managers.
Some of the highlights of this report include:
The Network Diagram Report draws your network using node relationships. There is no need to place nodes at a specific location (such as a Google map) as the actual placement is calculated dynamically and is based upon the number of neighbors each node sees.
This report draws nodes in ellipses (gateways are marked with a (g) after the name). The node is color-coded by its gateway connection quality, using the same scale as used for the 24-hour network quality graph above (green, yellow, red). If a node isn't checking in at all, it will be gray. You want to see all green nodes.
Extra circles around the ellipses indicate users. So a node with 10 users will have 10 circles around it.
Color coded lines are drawn between the nodes that represent the signal quality. Each line should have and arrow at each end. This means that both nodes can see each other. If only one side has an arrow, this means one of the nodes is having a problem seeing the other).
This is key: You don't want to see a lot of these “asynchronous links”. These are links where the signal is good in one direction, but poor or even non-existent in the other. Look at the arrowhead at both ends of the line between nodes to see how good the signal really is.
Note that you will see some yellow and red lines as well. These are links between nodes that might usually (yellow) and sometimes (red) actually work, but are poor enough that they could fade leaving the node poorly or disconnected and the users associated with that node seeing very slow or no internet access. The open-mesh routing protocol (B.A.T.M.A.N) is smart enough to ignore these links.
Ideally what you want is at least 1 and preferably 2 green lines connecting each node to another node. This assures that each node has both a strong connection and a backup should something to that link fail. Doing this will result in a fast and robust connection for users.
What you will want to correct are nodes that have only red or a single yellow connection to another node. These are subject to fade and may result in slow or no connection to the internet should noise increase.
Hovering the cursor over any node will display the number of users, megabytes downloaded and number of hops to the gateway.
The Google Map Report shows your routers on overlayed on a map. Some of its features include:
As this map is read-only, it is safe to put on a web site accessible to users, which we'll show you how to do next:
Since everything on the Open-Mesh reports is read-only, it is safe to give out some URLs for the various reports. In the next section, we'll show you how to put these reports on your own web pages.
To view the Node List Report:
http://www.open-mesh.com/nodes_attn.php?id=<account name>
To view the Network Diagram report:
http://www.open-mesh.com/makedot?id=<account name>
To view the Google Map report:
http://www.open-mesh.com/map.php?id=<account name>
Where <account name> should be replaced with your actual network account name.
It is very easy to embed these reports on a web site with a single line of HTML code! Here is how:
<IFRAME SRC="http://www.open-mesh.com/stats.php?id=mariposa" width="100%" height="100%" frameborder="0" scrolling="NO"></IFRAME>
<IFRAME SRC="http://www.open-mesh.com/usage_graph.php?id=mariposa" width="100%" height="100%" scrolling="no" frameborder="0" SCROLLING="NO"></IFRAME>
<IFRAME SRC="http://www.open-mesh.com/nodes_attn.php?id=mariposa" width="700" height="400"></IFRAME>
<IFRAME SRC="http://www.open-mesh.com/map.php?id=cedros" width="400" height="400"></IFRAME>
<img src="http://www.open-mesh.com/makedot.php?id=jardines">
In all the above examples, follow “id=” with your network account name instead of the name shown, which is one of ours. You can change the width and height as desired.
You can also embed an individual node 24-hr quality graph:
<img src="http://www.open-mesh.com/graph2.php?ip=6.247.203.107">
Replace the “6.247.203.107” node IP with the IP address of one of your nodes.
Here is a complete “admin” page example HTML page with several reports. View the source of the page once it is loaded to see the actual code:
We hope you enjoy your Open-Mesh Network and find these additional reports and alerts useful. If you have any suggestions or comments, please let us know! You can email suggestions to mike@netequality.org