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


brcm80211 is a completely FOSS wireless driver for BCM4313, BCM43224, BCM43225 chipsets.


  • 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

  • initial 'rough' port supports STA mode.
  • N phy code for 43225/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.
  • Debugability is poor: Debugfs/tracing is needed. Need a way to get access to counters.
  • Only minimal mac80211 interface is implemented, Callbacks need to be filled in more.
  • Features to be added: AP mode, powersave, IBSS, 40 Mhz channels ...
  • 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.

Supported Chips


PCI Device ID







Get the code

The driver is currently available in staging-next branch of the staging tree, available at:


This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at
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