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.

3 comments:

bart said...

Hey.

I'm trying to setup a mesh with D-Link DWL-AG650(Atheros AR5001X+) wireless card and Ubuntu 9.10(2.6.31.16). When I type in "sudo iw dev wlan1 interface add mesh0 type mp mesh_id mymesh" I'm getting an error "command failed: Invalid argument (-22)".

I removed the line "depends on BROKEN" from net/mac80211/Kconfig, and I'm using default ath5k drivers, "iw list" says that my wlan interface is capable of working in mesh mode.

What can I do to make it working, or where can I look for more info ? How to identify the source of problem ?

I also have Intel 4965AGN card in my laptop but it doesn't support mesh mode with default drivers.

Ginnova said...

hi,

I am trying to setup mesh with my laptop wireless. I follow the instruction given by andrey.

I am using Fedora12, kernel 2.6.31. My wireless b43 drivers. iw list says mesh mode is enable for my wlan0.

When i fire iw --debug dev wlan0 interface add msh0 type mp mesh_id olpc
it's gives error message 22: Invalid arguement.
Can anyone tell me the solution for this.

andrey said...

Mesh isn't enabled in 2.6.31 (as I mentioned above). Use 2.6.32 or later.