Skip to content

Instantly share code, notes, and snippets.

@samgooi4189
Last active March 18, 2024 21:13
Show Gist options
  • Save samgooi4189/f567d03fbcf3887fac2b391b2dcc261a to your computer and use it in GitHub Desktop.
Save samgooi4189/f567d03fbcf3887fac2b391b2dcc261a to your computer and use it in GitHub Desktop.
Fixing BCM43228 loading wrong driver
Under lspci -vv, I saw my wifi card bcm43228 is using wl module, but it is working weirdly, so I go inspect dmesg and found:
[ 17.135645] wl: module license 'MIXED/Proprietary' taints kernel.
[ 17.135648] Disabling lock debugging due to kernel taint
[ 17.137273] wl: module verification failed: signature and/or required key missing - tainting kernel
[ 17.227089] wlan0: Broadcom BCM4359 802.11 Hybrid Wireless Controller 6.30.223.248 (r487574)
[ 17.315644] wl 0000:03:00.0 wlp3s0: renamed from wlan0
linux is loading the wrong device for my wifi card.
so I search online and found https://ubuntuforums.org/archive/index.php/t-2209676.html
In short,
```
sudo apt-get purge bcmwl-kernel-source
sudo reboot
```
When you boot up, you will find that your wifi is not working
So check dmesg and you will find that b43 is pointing to the correct driver, but missing fw like b43/ucode30_mino.fw and b43-open/ucode30_mino.fw
Now you need to connect to LAN and install b43 so that you will have all the fw files
```
sudo apt-get install firmware-b43-installer
sudo reboot
```
Voala, you now have your wireless back and you able to see this in dmesg:
[ 15.818051] b43-phy0: Broadcom 43228 WLAN found (core revision 30)
[ 15.818503] b43-phy0: Found PHY: Analog 9, Type 4 (N), Revision 16
[ 15.818515] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
[ 15.819016] Broadcom 43xx driver loaded [ Features: PNL ]
If you found that your wifi card still not reliable and having connection issue,
```
sudo vim /etc/modprobe.d/blacklist.conf
```
add the following into the file:
```
blacklist brcmsmac
blacklist bcma
```
then
```
sudo modprobe -r b43 bcma brcmsmac
sudo modprobe b43
```
For more extensive solution, please refer to http://askubuntu.com/questions/55868/installing-broadcom-wireless-drivers
After using b43 for a week, the performance of the wireless if so bad that I need to reload everytime when the wifi get disconnected.
so I install the broadcom proprietary drivers:
```
sudo apt-get install linux-headers-generic
sudo apt-get install --reinstall bcmwl-kernel-source
```
Now you are back with the wrong device identification
[ 3.135691] wlan0: Broadcom BCM4359 802.11 Hybrid Wireless Controller 6.30.223.248 (r487574)
You will still see some issue about wifi scanning
Do the following to fix it:
```
sudo vim /etc/default/grub
```
Then add in:
```
intremap=off
```
to GRUB_CMDLINE_LINUX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment