WirelessMesh

What is a Free Wireless Mesh

A large collection of wireless routers that talk to each other through the open spectrum (de-licensed) providing a backbone. And each router in turn connects to a local area network. A mesh can be as large as an entire city or a small campus. If you want to read more about it, get this book and start reading.

A wireless mesh is a group of wireless devices that talk to each other in the Ad-Hoc mode. When they additionaly use the OLSR protocol, they form the OLSR mesh.

What is a free information infrastructure

Free information infrastructure is about sharing knowledge. Knowledge should be freely accessible to everyone. The internet is one such network where free knowledge can be accessed. However everyone does not have access to internet let alone a fast broadband connection. With internet access there is also the danger of misuse of public utilities by visiting websites that are not healthy. In a free information network, the knowledge base put up for sharing is meant to be of utility to the public, the common man, without the need to access the internet. It is a local public network.

Imagine a city thats has this wireless free information infrastructure setup. The use of this network is manifold. Some examples are given below.

1. Open classrooms for poor underpreviledged children. With the 100$ laptops donated to each student by the Government or any other institution, every child uses this laptop to access the open classroom, with loads of educational aids, documents, videos and audios related to its studies. In case of individual laptops not available, a common wireless enabled projector can be used for the entire classroom.

2. Information utility for the public, legal advice, directions to various Government departments and knowledge of different procedures. Here knowledge empowers the people.

3. As a file server to dish out 'Libre' software. Libre means Free Open Source Software (FOSS). Various distributions of the GNU/Linux operating like Debian, Ubuntu, Fedora, Mandrake etc can be made available in the form of ISOs that can be freely downloaded without any need for the internet. A local community repository.

4. An IP based community radio station that runs on FOSS.

5. A means of communications, discussions and coming together for the various sections of society.

What do we need to setup a wireless mesh

Wllingness to share a pinch of what you have, apart from the following.

Hardware

Linksys WRT54GS V.4 Wireless Routers. This is used since we can add [freifunk firmware]http://wiki.freifunk.net/Freifunk_Firmware_%28English%29. Freifunk site also lists few other routers. You can use any of them. Of course it is possible to create a wireless mesh using any PC with a WLAN card.

Software

First of course is the recent firmware from Freifunk website. After setting up and with a working network you can later add other additional software available from the same site.

This firmware contains a tiny but sufficiently equipped Linux kernel, busybox userland tools, ssh, iptables and a package manager called ipkg.

An additional package called 'freifunk-dnsmasq' has to be added to the Friefunk firmware in order to allow DHCP IP allocation for WLAN users. It has to be added in the way as explained below. This package is available for the Freifunk 1.5 versions only.

First ensure that your mesh is up and connected to the internet. Then ssh into your wireless router using 'ssh ip_address'. Enter 'root' as the username and your 'password' for password. Run the following commands.

  1. ipkg update
  2. ipkg install 'package-name'

This will install the package automatically from the internet just as we do normally using 'apt' or 'yum' utilities. Ipkg is a similar utility for the tiny 'Busybox' operating system in the router. Exit from the ssh session.

Now the OSLR-DHCP options will be visible in the Friefunk interface after you reboot the router.

Basic Mesh Setup

Before we go into the setup, there are some concepts about this mesh that need to be understood.

All the wireless devices whether OLSR or non-OLSR, communicate with each other in the Ad-Hoc mode. They must use the came channel. There are 3 main IP settings to be carried out for every node in the mesh. LAN, WLAN and OLSR (HNA4). The OLSR refers to a network and is not an individual address. It is a reflection of the LAN subnet.

The LAN for each mesh node should belong to a seperate subnet. LANs of different nodes talk to each other using the mesh routing. The LAN and WLAN network should not be on the same subnet.

The OLSR setting is in the format X/n where 'X' is the network ID of the LAN and 'n' is the subnet mask. Eg. 192.168.3.0/24

WLAN is the interface that actually communicates with other nodes in the mesh as well as the non-OLSR users who are logged in through their wireless interfaces. WLAN IP should be kept static and all the WLANs should exist on the same subnet as they directly link to each other. The 'freifunk-dnsmasq' package adds a facility to allocate DHCP IPs to the WLAN interface in order to allow wireless laptop users to use the mesh.

A quick check list of steps to remember.

  1. Plan your network.
  2. Update your routers with the Freifunk firmware.
  3. Get the Nodes up without the extra 'freifunk-dnsmasq' package.
  4. Check if the mesh is running, using a DHCP LAN IP or a Static WLAN IP for your pc or laptop used for the setup.
  5. Connect the internet to the WAN port of the selected Node.
  6. Through the internet update all your Nodes one by one with the 'freifunk-dnsmasq' package.
  7. Set your OLSR-DHCP setting and now your mesh is fully ready.
  8. You can replace the internet with a local webserver/s that acts as the local free knowledge base.

In the setup at HBCSE in Mahkhurd Mumbai, we used 2 Linksys routers to form an OLSR mesh. We called them Node1 and Node2.

The settings for each is given below.

Node1

LAN:

    IP   10.10.3.1
    Mask 255.255.255.0
    DHCP start IP 10.10.3.10
    Users 250

OLSR:

     10.10.3.0/24

WLAN:

    Mode Ad-Hoc
    IP  10.10.0.2
    Mask 255.255.0.0
    Channel 1

NAT: Enabled

Firewall: Enabled

ESSID: gnower-mesh

Hostname: gnower-node1

Node2

LAN:

    IP   10.10.2.1
    Mask 255.255.255.0
    DHCP start IP 10.10.2.5
    Users 250

OLSR:

         10.10.2.0/24

WLAN:

    Mode Ad-Hoc
    IP  10.10.0.1
    Mask 255.255.255.0
    Channel 1

NAT: Enabled

Firewall: Enabled

ESSID: gnower-mesh

Hostname: gnower-node2

Checking The Mesh

In order to know if your mesh is up and running properly, log into every Node's interface and check the 'Status' as well as 'OLSR' output of the interface. The most delightfull part of the mesh is to see other Nodes as 'Neighbours' in your status reports. If your mesh is running pproperly you can access all your Nodes through any single Node.

WAN Setup for Internet

For internet access, simply connect your internet ethernet cable to the WAN port of any Node that you want to use as the mesh gateway. Depending on your internet connection, choose Static or DHCP for your WAN IP address. The OLSR protocol in the mesh ensures that all the WLANs and LANs can connect to the internet.