-
Notifications
You must be signed in to change notification settings - Fork 54
HOWTO 0.1.1
This page explains how to set up a simple static mesh network using open80211s and a "Airlink 101 USB wireless adapter":http://www.airlink101.com/products/awll3026.html.
The is an early development release. It may fry your microwave. You have been warned.
Get a kernel including the open80211s stack:
$ git clone git://o11s.org/open80211s.git
Configure the kernel including the mac80211
stack and zd1211-rw-mac80211
driver (CONFIG_ZD1211RW_MAC80211
, CONFIG_MAC80211
). Compile and install.
Make sure /lib/modules/${KERNEL_VERSION}/build/include
points to your kernel headers. This is necessary for pynl80211 to work.
Get pynl80211:
$ git-clone http://git.sipsolutions.net/pynl80211.git
It is not necessary to compile it, but make sure that wificonf.py
is in your $PATH
.
Get "iproute2-2.6.23":http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.23.tar.bz2 and apply "the mesh support patch":http://o11s.org/patches/iproute2/iproute2-2.6.23-mesh-support-0.1.1.patch. Configure, compile, install.
- Boot several nodes with the compiled kernel and tools.
- Add a new mesh interface for the zd1211-rw device to each node with the pynl80211 utility:
# MESH_IFACE_TYPE=7
# wificonf.py new_interface 0 mesh $MESH_IFACE_TYPE
A new interface will be created:
# ifconfig -a | grep mesh
mesh Link encap:Ethernet HWaddr 00:18:39:14:48:B5
- You can assign a mesh id. This mesh id will be use in the mesh node beacons when the interface is brought up. Todo this with the pynl80211 utility, execute:
# wificonf.py set_mesh_cfg
mesh_id is max 32 characters long. If no mesh id is set, the zero-length wildcard mesh id will be used.
- Assign a same-subnet IP to the mesh interface in each node.
# ifconfig
- Nodes will be able to communicate if there is an entry for the destination node in their path tables. Create a network topology with the modified iproute2:
# ip mshpath add dst next_hop dev .
It is also possible to show and clear the mesh path table with the show
and delete
subcommands.
- All mesh interfaces start by default in channel 1. The channel can be changed with
# iwconfig channel
- If the paths are correct (i.e. they connect two nodes both ways) and the nodes are on the same channel, it will be possible to ping the nodes or perform any other kind of data transfer, for example, an ssh session. Note that since broadcast packets are not forwarded yet, the two nodes must be within range or it will necessary to bypass the arp resolution by adding the MAC and IP addresses to the arp table on each node with:
# arp -s
If you are corageous enough to test open80211s at this early stage of development but run into problems, please join the "open80211s devel mailing list":http://o11s.org/mailman/listinfo/devel and we will be glad to help you.