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.
Patch written, waiting for Ulrich's review
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.
[http://www.reactivated.net/patches/linux-kernel/2.6.18/softmac-erp-handling.patch softmac: ERP handling and driver-level notifications]
[http://www.reactivated.net/patches/linux-kernel/2.6.19/zd1211rw-softmac-erp-handling.patch zd1211rw: Use softmac ERP handling functionality]
Daniel is developing mac80211 patches to provide an "ERP IE change" notification system similar to the softmac one.
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.
[http://dsd.object4.net/git/?p=zd1211.git;a=commitdiff;h=2c1784a975f39b49037358b061d4f94ed9ffcac2 Detailed error statistics]
Signal level reporting
zd1211rw-mac80211 always reports 100/100 for signal level. Link quality reporting seems to be working correctly.
Patch written, waiting for Ulrich's review
Multicasting
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.
[http://marc.info/?l=linux-wireless&m=118101045613215&w=2 mac80211 TX hangs up]
The warning in the above mail is possibly a mac80211 bug which appears when CONFIG_NET_SCHED is disabled.
Commenting on a possible different issue from the warning above, Michael says: "last I checked, the count for the number of packets in the queue was wrong. it counted both urbs in transit and packets which haven't gotten tx status yet"
Testing on ARM and SPARC64
We have happy ARM and SPARC64 users. To my knowledge, mac80211 has not been tested there.