Conversation

Hey folks, is there anyone interested in helping maintain the Linux brcmfmac (Broadcom Wi-FI) driver?

The situation right now is that the on-paper maintainer is a Broadcom employee who last authored a commit in *January*. It is seriously unmaintained and years behind on features and firmware integration.

From the Asahi side we can handle new chipset bring-up and the Apple-isms (which aren't that many), but the vast majority of the missing stuff has nothing to do with Apple. Instead, Broadcom maintain a completely separate "brcmdhd" driver for Android customers, which you can find in lots of random Android source dumps. It is a giant mess, but it has support for all the new features. So most of the work is "reverse engineering" that source code to understand how they work, copying and pasting firmware structure/enum definitions (it's all GPL at least), and rewriting the code to fit upstream standards.

Most of the work I've done to make WiFi work at all on Apple platforms has actually been this; the Apple-specific bits are few, it's just that the brcmfmac driver was so far behind in firmware feature/version support several things wouldn't work at all with the chips/firmwares Apple ships.

The status right now in our downstream kernels is that basic WPA2/3 PSK/enterprise works (with limitations and bugs), and pretty much nothing else. p2p, monitor mode, newer security stuff like OWE, etc. are all broken/unsupported. We could really use help tracking down bugs and implementing missing stuff to have modern WiFi features work on Apple platforms (and others).

0
0
0

Correction: on paper, there are 3 maintainers, all Broadcom employees. The last patches from the other two were in 2018 and 2016, respectively.

There are also some Cypress/Infineon folks involved, because there's a weird split in companies involved. Not once have those guys ever replied to one of my emails even when I specifically asked them something.

So on the minus side, don't expect any support from the companies involved if you sign up for this. On the plus side, they clearly don't care, so you're allowed to break all their other chips by accident, since it's not your job to care if they don't.

0
0
0
@marcan You look for developers, not maintainers. Maintainer, as name suggests, maintains the code, which does not necessarily mean active development. However, based on what you wrote, the key point is that existing maintainers did not bother to answer any questions or provide help, so most likely they do not fit the maintainer profile either...
1
0
0
@marcan ... and you can poke a hornet's nest by changing the Broadcom drivers maintenance level from Supported to Odd Fixes. I don't see many reviews from existing maintainers, so I guess it fits better current state.
0
0
0