brcm80211
brcm80211 is a complete fullmac (BCM4329) and softmac (BCM4313, BCM43224, BCM43225) wireless driver.
Contents
Overview
- Completely open source host driver, no binary object files
- On-chip firmware loaded using standard request_firmware()
- Support for BCM43224, BCM43225, BCM4313 (PCIe NIC)
- Framework for supporting new chips, including mac80211-aware embedded chips
- Does not support older PCI/PCIe chips with SSB backplane
- Uses minstrel_ht rate algorithm
- HW based encryption not enabled yet
- Infrastructure for future chips in place.
- AMPDU support
- many software, ucode and phy/radio counters available.
To be done once driver is in mainline
- Add support for
- suspend/resume
- RFKill
- 40MHz channels
- powersave
- debufs (for accessing counters and other diagnostic info)
- monitor mode
- IBSS
- AP
Supported Chips
Name |
PCI Device ID |
BCM4313 |
0x4727 |
BCM43224 |
0x4353 |
BCM43225 |
0x4357 |
Get the code
The driver is currently available in staging-next branch of the staging tree, available at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6.git
The driver is also available in the 2.6.38 kernel. When using 'make menuconfig' it can be accessed:
Location: -> Device Drivers
-> Staging drivers
-> Exclude Staging drivers from being built
-> Broadcom IEEE802.11n WLAN drivers
-> Broadcom IEEE802.11n driver style
Regulatory Implementation
This generation of chips contain additional regulatory support independent of the driver. The devices use a single worldwide regulatory domain, with channels 12-14 (2.4 GHz band) and channels 52-64 and 100-140 (5 GHz band) restricted to passive operation. Transmission on those channels is suppressed until appropriate other traffic is observed on those channels. Within the driver, we use the ficticious country code "X2" to represent this worldwide regulatory domain. There is currently no interface to configure a different domain. The driver reads the SROM country code from the chip and hands it up to mac80211 as the regulatory hint, however this information is otherwise unused with the driver.
Things to be done
See the TODO file