brcm80211
brcm80211 is a completely FOSS wireless driver for BCM4313, BCM43224, BCM43225 chipsets.
Overview
- Completely open source host driver, no binary object files
Features Broadcom's OneDriver architecture (single source base for supported chips and architectures)
- 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
- Driver includes BMAC interface for transparent dongle support
- Uses minstrel_ht rate algorithm
- HW based encryption not enabled yet
Whats Done
- STA mode (in infrastructur
- N phy code for 43224/43225
- LCN phy code for 4313
- Infrastructure for future phys.
- AMPDU support
- 4313 is stable
- many software, ucode and phy/radio counters available.
To Be Done
- 43224/5 has a locking issue, stable with maxcpus=1, can crash otherwise after random period.
- Only minimal mac80211 interface is implemented, Callbacks need to be filled in more.
- Code needs to be optimized for linux:
- wl_xxx vs wlc_xxx separation needs to be collapsed and eliminated
- private utility routines and headers need to be replaced with standard kernel routines and headers.
- 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.37 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