Broadcom's wireless drivers, one year later
Broadcom's wireless drivers, one year later
Posted Aug 31, 2011 17:56 UTC (Wed) by mjg59 (subscriber, #23239)In reply to: Broadcom's wireless drivers, one year later by jezuch
Parent article: Broadcom's wireless drivers, one year later
Understanding the difference between the two drivers depends on understanding the setup of Broadcom's hardware. Each chip contains its own internal bus plus some glue to the host bus. On PCs, that'll typically be to PCI or PCIe. The internal bus may then be either SSB (for older chips) or BCMA (for newer chips). b43 doesn't include the code for handling these buses - instead, that's in separate ssb and bcma layers. Given that similar phys can be present on both SSB and BCMA hardware, that simplifies the programming - b43 simply binds to the phy, no matter what the chip's bus architecture.
I've no idea if it's true, but a commonly cited reason for brcmsmac not supporting older hardware is that the older hardware is unable to run firmware that can prevent the OS from programming arbitrary frequencies, and so FCC paranoia comes into play. In any case, brcmsmac doesn't support any ssb chips and there's no indication from Broadcom that it ever will. We could keep b43 for ssb devices and leave bcma devices to brcmsmac, but that would result in some duplication of phy code. We could merge ssb support into brcmsmac, but that would cause the driver to diverge from Broadcom's internal codebase and may well make it harder for them to merge code back and forth. We could deprecate brcmsmac and devote all development efforts to b43, but there's little sign that Broadcom would have any interest in that.
All of these solutions suck, but at some point Broadcom have to take some responsibility. If they'd been more cooperative 7 years ago, b43 wouldn't exist at all.
