12 July 2025

b43

# lspci
...
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43228 802.11a/b/g/n
# lspci -nn -d 14e4:
02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43228 ...
        802.11a/b/g/n [14e4:4359]
https://wireless.docs.kernel.org/en/latest/en/users/drivers/b43.html
http://linuxwireless.sipsolutions.net/en/users/Drivers/b43/

b43 and b43legacy are drivers for the 802.11b/g/n family of wireless chips that Broadcom produces.
  • b43legacy: supports BCM4306 Rev 2 and cards that have only 802.11b capability
  • b43: supports all other models
The b43 drivers require proprietary firmware to be loaded onto the wireless chip before it can operate.
BCM43228 is present in supported list :)
PCI-ID Supported? Chip ID Modes PHY version Alternative
14e4:4359 yes (3.17+) BCM43228 a/b/g/n N (r16) wl

The Broadcom wireless chip needs proprietary software (called "firmware") that runs on the wireless chip itself to work properly. This firmware is copyrighted by Broadcom and must be extracted from Broadcom's proprietary drivers. To get such firmware on your system, you must download the driver from a legal distribution point, extract it, and install it.

b43-fwcutter tool will help extract firmware from the Broadcom driver.


https://github.com/minios-linux/b43-firmware/releases
# wget https://github.com/minios-linux/b43-firmware/releases/download/b43-firmware/broadcom-wl-6.30.163.46.tar.bz2
Or
# wget https://excellmedia.dl.sourceforge.net/project/sulinos/archives/broadcom-wl-6.30.163.46.tar.bz2

# tar xjvf broadcom-wl-6.30.163.46.tar.bz2 
broadcom-wl-6.30.163.46.wl_apsta.o

# b43-fwcutter -w /lib/firmware/ broadcom-wl-6.30.163.46.wl_apsta.o
This file is recognised as:
  filename   :  wl_apsta.o
  version    :  784.2
  MD5        :  29c8a47094fbae342902d84881a465ff
...
Extracting b43/ucode30_mimo.fw

# modprobe b43

# dmesg -c
[ 5898.781754] b43-phy4: Broadcom 43228 WLAN found (core revision 30)
[ 5898.782217] b43-phy4: Found PHY: Analog 9, Type 4 (N), Revision 16
[ 5898.782229] b43-phy4: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
[ 5898.782573] Broadcom 43xx driver loaded [ Features: PNLS ]
[ 5898.783514] ieee80211 phy4: Selected rate control algorithm 'minstrel_ht'
[ 5898.805277] b43 bcma0:1 wlp2s0b1: renamed from wlan0
[ 5898.970504] b43-phy4: Loading firmware version 784.2 (2012-08-15 21:35:19)
[ 5899.213485] b43-phy4: Loading firmware version 784.2 (2012-08-15 21:35:19)
[ 5901.114541] b43-phy4: Loading firmware version 784.2 (2012-08-15 21:35:19)
[ 5901.226879] wlp2s0b1: authenticate with 2c:30:33:5e:dd:b1 (local address=1e:15:b9:d2:65:b2)
[ 5901.226892] wlp2s0b1: send auth to 2c:30:33:5e:dd:b1 (try 1/3)
[ 5901.230903] wlp2s0b1: authenticated
[ 5901.231483] wlp2s0b1: associate with 2c:30:33:5e:dd:b1 (try 1/3)
[ 5901.250226] wlp2s0b1: RX AssocResp from 2c:30:33:5e:dd:b1 (capab=0x1411 status=0 aid=10)
[ 5901.250397] wlp2s0b1: associated

# ifconfig wlp2s0b1
wlp2s0b1: flags=4163 UP,BROADCAST,RUNNING,MULTICAST  mtu 1500
        inet 192.168.1.19  netmask 255.255.255.0  broadcast 192.168.1.255