NOTE: this page is for archival only, see the note at the end of the page.

mac80211 issues

This page lists the issues blocking zd1211rw moving to the mac80211 stack. Some of these may already be resolved, they just need to be checked.

Regulatory domain control

The softmac driver restricts the available channels based on a regulatory domain field from the device EEPROM. The mac80211 driver currently ignores this and allows all channels everywhere.

Daniel investigated fixing this, got confused, and wrote [ a mail] to the list. Hopefully feedback there will allow progress to be made soon.

Advanced ERP handling

Daniel recently extended softmac and zd1211rw to parse ERP fields in beacons and probe responses (short preamble and 802.11g protection fields), and to finely control the transmissions and reprogram the RTS CTS register appropriately. This needs implementing in zd1211rw-mac80211. This may require further stack development.

Detailed error statistics

Ulrich has greatly improved the zd1211rw 802.11 error statistics. This code needs moving over to the mac80211 driver after figuring out how mac80211 does this.

Signal length/strength/quality/noise reporting

On last check, the mac80211 driver reported wildly different signal readings when compared to the softmac driver. This may be fixed according to Michael, need to recheck.


Benoit reported that multicasting is not working with zd1211rw-mac80211, making IPv6 unusable. This is probably a stack-level problem, as the zd1211rw code for handling multicasting is identical in both drivers.

Connectivity loss issues

Daniel has experienced the mac80211 driver losing connectivity after some time, and this problem has resurfaced a few times. Have not looked into this yet.

Testing on ARM and SPARC64

We have happy ARM and SPARC64 users. To my knowledge, mac80211 has not been tested there.

This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at
versions of this page: last, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1