FOSS Community India
Advertisement

Mumbai Wireless Mesh[]

GNU/Linux user's group of Mumbai made a free wireless mesh at Homi Bhabha Centre for Science Education, TIFR. Though we are late in setting up of the wireless mesh, which was due for over a year, we finally got a working free information network. We intend to create a community network in Mumbai that will spread from place to place to create a citywide people's network. People can use this network to publish useful content. To begin with it will serve all of wikipedia through the gnowledge.org protal and lots and lots of useful free software for enabling the community.

People anywhere in India or other places are invited to look at our community network, and replicate it in other parts of the world. We will periodically conduct workshops at the request of the community and will transfer the technology. We also request others to develop the skills and take it to every corner of the country, or rather every corner of the world.

What follows is a brief introduction of a Wireless Mesh, and how we did it. For the time being we will discuss all issues in the GNU/Linux user's group mailing list. Requests to conduct free wireless mesh workshops can be sent to this mailing list. We invite voluntary organizations, colleges, schools particularly in small towns to take special interest in taking full advantage of this technology.

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 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[]

Willingness 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. 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 same channel. Everyone uses a common ESSID. Each Node has an individual Hostname. 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[]

Nakednode1

LAN:

    IP   10.10.3.1
    Mask 255.255.255.0
    DHCP start IP 10.10.3.10
    Users 250

OLSR:

     HNA4 10.10.3.0/24
     OLSR-DHCP 10.10.0.16/28,255.255.0.0

The two values specified for OLSR-DHCP refer to the range of IP to be given by the DHCP server to the wireless clients, and the mask to be specified for them. HNA4 value specifies the network to which OLSR to be bound to. It is possible to specify more than one network here.

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[]

Dressednode2

LAN:

    IP   10.10.2.1
    Mask 255.255.255.0
    DHCP start IP 10.10.2.5
    Users 250

OLSR:

         HNA4 10.10.2.0/24
         OLSR-DHCP 10.10.0.32/28,255.255.0.0

The two values specified for OLSR-DHCP refer to the range of IP to be given by the DHCP server to the wireless clients, and the mask to be specified for them. HNA4 value specifies the network to which OLSR to be bound to. It is possible to specify more than one network here.

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.

Clients can Join the Mesh[]

A laptop or a PC connected to the mesh can also run olsrd (OLSR daemon available from download section of http://www.olsr.org/ for all the popular operating systems). This will make each of the PCs act as additional nodes of the mesh. This way the mesh dynamically changes its shape. During our experiment we added a GNU/Linux PC running PPC architecture and a MS Windows PC in the mesh after running the olsrd on each of them.

More questions[]

How much does it cost?[]

About Rs. 3000/- for each wireless router. And another Rs.3000/- for a booster antenna, which is required only on those nodes which need to cross a large ground or large uninhabited area. And of course the spirit to share knowledge and your precious time.

Antenna

Who provides the content to the free network?[]

Any redistributable content like wikipedia, free software, TLDP, gnowledge.org, and community generated content can be part of this network.

Some links that helped us[]

http://freifunk.net/wiki/FreifunkFirmwareEnglish

Quick HOWTO : Ch13 : Linux Wireless Networking

http://en.wikipedia.org/wiki/OLSR

http://www.olsr.org/index.cgi?action=main

Wireless Mesh Networking - WirelessAfrica

http://styx.commando.de/sven-ola/ffen/

rfc13109 » Blog Archive » WiFi Adhoc Mesh with OLSR

Google language tool usefull for translating German sites

Advertisement