NOTE: this page is for archival only, see the note at the end of the page.

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

This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v77, v76, v75, v74, v73, v72, v71, v70, v69, v68, v67, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1