Friday, September 11, 2009

draft-802.11s mesh status: 2.6.31 and 2.6.32

Here's a quick Linux draft-802.11s mesh status update:

2.6.31

The 2.6.31 kernel has been released and it unfortunately ships with mesh temporarily disabled. To enable it, edit net/mac80211/Kconfig and remove the depends on BROKEN line under the config MAC80211_MESH section, then configure your kernel.  The problem that lead to mesh being marked broken has been resolved by this patch, which should be in 2.6.32.

2.6.32

A number of issues have been addressed for 2.6.32, including roll-ups to the current 802.11s draft.  For example, we now use the 3-address format for broadcast frames (patch) to work around a problem with some WDS-capable access points already on the market.  The mesh Information Elements have been brought up to date as well (patch), this will help with interoperability with FreeBSD's draft-802.11s stack but of course breaks compatibility with Linux-based mesh nodes that do not have the Information Element patch.

The mesh stack previously relied on the (now deprecated) "PID" algorithm and, when "minstrel" replaced "PID", things broke.  The mesh air-time link metric has been restored by decoupling the failure average statistic from the Rate Control algorithm and fixing early detection of broken links for the "minstrel".  The latter will need to be addressed for drivers that implement their own RC algorithm.

Drivers

At this time, I recommend testing Mesh Point mode with the b43 and ath5k drivers, however a complete driver status list can be found on the o11s wiki.  It's also possible to use ath9k and rt2x00 but they won't beacon right away.  The workaround is to issue a scan, after which you'll see mesh beacons (bugs 14187 and 13752 respectively).

The Future

Additional draft roll-up work is needed, along with finishing the Mesh Point Portal (MPP) support.  There are also a few minor driver bugs to address.
Post a Comment