Wednesday, July 23, 2008

draft-802.11s in Linux 2.6.26

The 2.6.26 kernel was released a couple of weeks ago. One of the most exciting changes (for me) was the mainline acceptance of draft-802.11s mesh networking into the mac80211 stack (it's even listed under "cool stuff" at Kernel Newbies). I was also quite happy to see mesh enabled in the kernel configuration for Ubuntu's upcoming 8.10 release.

hardware support

The mesh stack works with off-the-shelf "softmac" chipsets supported by mac80211. In 2.6.26, that includes most Zydas USB chipsets (supported by the zd1211rw driver). Broadcom chipsets supported by the b43 driver work in the wireless-testing kernel (the patch didn't make it in time for 2.6.26) but it looks like distributions like Ubuntu are providing patched drivers and b43 should support mesh in their next kernel (ie: for the 8.10 release). I submitted a patch for the ath5k driver recently. We will hopefully have a wider range of usable WiFi hardware to mesh with in the near future.

try it out!

Right now you can try draft-802.11s mesh on your Linux system by either installing a current wireless-testing kernel or by fetching and installing a compat-wireless snapshot of it. You can also presumably test by using the Ubuntu 8.10 alpha release (or another distribution where draft-802.11s mesh is enabled in the kernel configuration). The o11s HOWTO takes you through the kernel compile (if you go that route) as well as creating a Mesh Point interface using iw. Please note that you should not have userspace like NetworkManager running when playing with the mesh.

Hopefully there will be more contributors as more people start to experiment with the mesh stack. For those interested, there are suggested minor as well as more involved improvements.

draft-802.11s and OLPC XO-1

Also perhaps worth mentioning: the mac80211 mesh is not inter-operable with OLPC's mesh at this time. This is because OLPC's implementation is based on an earlier version of the draft (and it includes various other modifications). The open80211s mesh, on the other hand, is a reference implementation that tracks the 802.11s draft as closely as possible.

No comments: