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.

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.

mac80211 patches for ERP handling merged. Now we need driver-level handling, which requires mac80211 to have proper support to disable a TX queue outside of a TX handler (this has been under discussion recently).

Basic rates handling

In the softmac driver, we program the basic rates for RTS/CTS based on the association info. Need a similar system in mac80211.

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.


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.

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"

Fixed by Ulrich, waiting for John to merge.

Testing on ARM and SPARC64

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

MAC address issues

Johannes writes:

In zd1211, we start with hwaddr = dev->wiphy->perm_addr which isn't
correct either, for a pure monitor mode we want to start with a zero mac
addr to avoid acking packets. Also, zd1211rw will end up having a NULL
hwaddr when a monitor interface is added, most likely segfaulting in
zd_write_mac_addr then.

monitor mode scanning oops

Scanning for networks after creating a zd1211rw monitor interface [ causes an zd_mac_config_interface]

monitor mode not showing all frames

Discussed on the "Arrested Development" thread, apparently zd1211rw-mac80211 is seeing less frames than other drivers.

Patch written, waiting for John to merge.

Non-blocking issues

These issues are specific to mac80211 (as opposed to being regressions over the softmac driver), so these are not holding up the merge.

multiple interfaces broken

Discussed on the "Arrested Development" thread:

I forgot to mention that the monitor support doesn't work with
additonal interfaces right now. Additional interfaces are broken
currently for zd1211rw.

Fixed issues

  • Regulatory domain control
  • Signal level reporting

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