Broadcom wifi driver fails to install properly

wifi
broadcom-wifi
#1

Reported at GitHub. Please comment there.

Wifi keeps disconnecting
#2

If your Broadcom wireless adapter driver is detected as "bcma-pci-bridge" or "b43-pci-bridge", your driver has likely been installed incorrectly.

Examples:

Kernel driver in use: bcma-pci-bridge
Kernel modules: bcma

Kernel driver in use: b43-pci-bridge
Kernel modules: ssb


If your WiFi connection is not working correctly you will need an alternate means to connect to the internet. You can use a wired LAN connection if your computer has a wired NIC included and a connection is available. The other alternative for wired connectivity is a USB to Ethernet adapter if you have one available.

If a wired connection is not an option then you have at least several other wireless connectivity options. If you have a USB WiFi dongle available with built in kernel support this is a good option to use temporarily. The other option that is widely used is Android USB phone tethering. Ensure you have some method to install a new driver and other required packages before attempting to replace any currently installed driver.


Drivers detected as "bcma-pci-bridge"

If your driver is detected as "bcma-pci-bridge", use the following steps below to fix your WiFi. For this procedure to work your adapter should be included in the broadcom-wl supported chipsets list below.

You will need to uninstall the currently installed dysfunctional driver to correct this issue.

The installed driver may be any of various driver versions, such as:

broadcom-wl, linux419-broadcom-wl, b43-firmware-legacy, etc.

Uninstall the driver (substituting your installed driver and kernel version), at the tail end of the command below:

sudo pacman -Rns linux419-broadcom-wl

If you are on kernel 4.19 the command required would likely be:

sudo pacman -Rns linux419-broadcom-wl

Before proceeding further, make sure your Manjaro installation is fully up to date with this command:

sudo pacman-mirrors -f 5 && sudo pacman -Syyu

The wl driver has experienced breakages on some kernels recently. I would highly suggest installing the most recent kernels for the most up to date fixes. Install all kernels through Manjaro Settings Manager, and always keep at least two working kernels installed at all times.

Installing the required linux kernel headers:

You must install the linuxXXX-headers package before installing the broadcom-wl-dkms driver. In the above instance "XXX" must be replaced by your kernel version number. If you are on kernel 4.19 you could use this command:

sudo pacman -S linux419-headers

If you would rather simply install the kernel headers automatically you can use either of the following commands.

Use this command to install the headers for the currently running kernel:

pamac install linux$(uname -r| grep -o -E '[0-9]+' | head -n 2 | sed 'N;s/\n//')-headers

Use this command to automatically install multiple Linux headers packages for each installed kernel with a single command*:

sudo pamac install $(ls /boot | awk -F "-" '/^linux/ { print $1"-headers" }')

*command courtesy of @petsam

Once you have completed the linux headers package installation, install the "dkms" package with the following command:

sudo pacman -S dkms 

After all those steps are complete unplug any tethering, LAN, or other internet connections and reboot.

After rebooting, your WiFi may be working with the native modules already included in the kernel. If you find the kernel driver works satisfactorily you may simply want to continue using it.

If your WiFi is not working (or the kernel driver performs poorly), then continue with the directions to install the proprietary broadcom-wl-dkms driver.

Perform some tests on your WiFi, and if it is not performing adequately proceed with installing the broadcom-wl-dkms driver. Reconnect to an alternate internet source to perform the driver installation.

Install the "broadcom-wl-dkms" driver package from the Manjaro extra repo with this command:

sudo pacman -S broadcom-wl-dkms

After the driver has finished installing, again unplug any tethering, LAN, or other internet connections and reboot.

After rebooting, if your WiFi is still not working then follow these additional steps.

Check that a blacklist file exists in /etc/modprobe.d/ with the following contents.

blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist bcma

If a file does not already exist with those contents, create it.

You can automatically add the required entries to /etc/modprobe.d/blacklist.conf file with the following command:

sudo echo -e "blacklist b43\nblacklist b43legacy\nblacklist ssb\nblacklist bcm43xx\nblacklist brcm80211\nblacklist brcmfmac\nblacklist brcmsmac\nblacklist bcma" | sudo tee -a /etc/modprobe.d/blacklist.conf

Then, issue these commands separately:

sudo rfkill unblock all
sudo depmod -a
sudo mkinitcpio -P

Run the following list of commands in its entirety, regardless of any errors received. Issue the commands individually one at a time allowing several seconds between commands:

sudo systemctl stop NetworkManager 
sudo rmmod b43 b43legacy ssb brcm80211 brcmfmac brcmsmac bcma 
sudo modprobe -r wl
sudo modprobe wl
DEVICE=$(hwinfo --wlan | grep "Device File" | cut -d " " -f5) && sudo ip link set $DEVICE up
sudo rfkill unblock all
sudo systemctl start NetworkManager 

Once those commands have finished running test your connection again.

If your WiFi is still not working correctly, reboot.

Hopefully after a restart your new wl driver will be working correctly.

This method will not necessarily work for all Broadcom chips. This method should work for most cards compatible with the broadcom-wl driver. Not all Broadcom adapters work best with the wl drivers, (but the majority do).


The broadcom-wl driver should work correctly with the following Wireless chipsets.

broadcom-wl supported chipsets:

BCM4311
BCM4312
BCM4313
BCM4321
BCM4322
BCM4331
BCM4352
BCM436O
BCM43142
BCM43224
BCM43225
BCM43227
BCM43228

Linux Broadcom adapter driver support reference lists:

https://wireless.wiki.kernel.org/en/users/drivers/brcm80211

https://wireless.wiki.kernel.org/en/users/drivers/b43

https://wiki.debian.org/wl

If your adapter is not on the above list, this method may not work for your adapter. If the wl driver does not work (or performs poorly) it may be better to follow the method below to use the built in kernel drivers.


Drivers detected as "b43-pci-bridge"

Generally if you see your WiFi drivers listed as "b43-pci-bridge" you have conflicting drivers installed. In a minority of instances a driver detected as "b43-pci-bridge" may function adequately. However, drivers installed this way tend to be unreliable in the long term.

In these cases the drivers included in the kernel may be the better choice. You may find your driver issues can be corrected by simply uninstalling the "broadcom-wl" drivers. You can uninstall the wl drivers through the Manjaro Settings Manager. Open Manjaro Settings Manager -> Hardware configuration -> right click on your device driver and select “Remove”. Once the "broadcom-wl" drivers are uninstalled you can test the b43 driver:

sudo rmmod  wl
sudo rmmod ssb
sudo rmmod b43
sudo modprobe b43

Then:

sudo rfkill unblock all
sudo systemctl restart NetworkManager
sudo depmod -a
sudo mkinitcpio -P

Test your wifi for connectivity.

Then reboot you computer. After restarting, the kernel drivers should automatically load.

If the kernel modules do not load automatically you must ensure they are not blacklisted. Check that no blacklist file exists in any of these locations:

/etc/modprobe.d/
/etc/modules-load.d/
/usr/lib/modprobe.d/

Any blacklist on the broadcom kernel modules (as in the blacklist example above), must either be deleted, or commented out. The blacklist entries can be made to be ignored by adding a pound sign "#" (hash tag ) before any entry line. This is what is referred to as "commenting out" an entry.

There is no guarantee the correct kernel module will automatically be loaded for your adapter model. As different adapters may use different modules you may need to research which modules are required. A different blacklist may be required for different kernel modules, so this can get complicated. If the installation steps listed here do not resolve your broadcom driver issues a support request on the forum may be helpful.

Unfortunately, Broadcom drivers are well known for being problematic in Linux. If you can't get the kernel modules working, then perhaps installing the "broadcom-wl-dkms" driver may be worth attempting. If you have no luck with either the native or proprietary drivers you may find purchasing a USB adapter with good Linux support is your best alternative.


Directions for opening a help request

If your WiFi connection is still not working after following all the above steps, then you will need to open a help request on the forum. Follow the instructions below to create a help request that will have the best chance of helping resolve your issue.

Disconnect any LAN cable, USB LAN adapter, USB WiFi tethering, or any other network devices connected to your computer. Once you have disconnected all other network devices, reboot your computer.

Once restarted, you will need to run extensive diagnostic commands to help identify why your WiFi is not working. Numerous diagnostic outputs and logs are required to properly diagnose complicated WiFi issues. Please run all the following commands individually in the terminal:

Please post the outputs of the following commands:

inxi -Fxxxz
dkms status
rfkill list all
lsmod | sort
sudo mhwd-kernel -li 
grep -r "blacklist\|install\|options"  /etc/modprobe.d/
pacman -Qsq linux | grep linux | grep -v -E '(arch|util|sys|api|firmware)' | grep -v nvidia
hwinfo --netcard --wlan --bluetooth | grep -Ei "model\:|driver\:|status\:|cmd\:|file\:|detected\:" | grep -v "Config Status" 

Unless there is absolutely no alternative, do not post any terminal outputs as a picture.

Please post all terminal outputs as text with code tags.

Information on how to properly post hardware specs and logs:

Please format any terminal output with three backticks before and after, as shown in this picture:

3 Likes
[SOLVED] Slow Wi-fi on Broadcom BCM4313 Adapter (rev 01)
B43 module loading problem after upgrade
MacBook WiFi - BCM4360
[SOLVED] Bcm4331 wifi
BCM43142 not connecting to wifi
<Solved>Cant install Wireless- Package is out of date
Trying to connect to wifi
Wi-Fi not connecting on laptop
Acer Aspire E 14 - no WLAN
[Stable Update] 2019-03-29 - Kernels, Gnome, LibreOffice, Mesa, Budgie, Browsers, Qt
No Network devices available
IMac Manjaro install wifi adapter missing
Apple macbook 2009 with broadcom 4332 disconnect after sleep
Confused installing wifi
[SOLVED] Poor wifi speeds
Confused installing wifi
Confused installing wifi
Linksys AE2500 Broadcom BCM43236 USB WiFi Adapter not working
[SOLVED] NordVPN CLI Client Install
[SOLVED] Wifi issue during installation
Just Another Macbook WiFi Problem
[SOLVED] Broadcom Wifi BCM43142
Broadcom BCM43224 - Wifi not working
Broadcom BCM43224 - Wifi not working
X250 touchpad and wifi not working
BCM4322 (rev 01) can’t find Networks
[SOLVED] Wifi not working after reinstall
Wifi not working on my Macbook Air early 2015 7,2
[SOLVED] Can't connect bluetooth mouse after powering off the system
Broadcom Wi-Fi on macbook 4,1 not recognized after install
Download speeds seriously compromised
Slow wifi, multiple fixes and reinstalls tried
Broadcom (Asus pce68) Wifi Driver Issues
First dualboot on macbook air and wifi
How to check if driver exists? [Solved]
Connect to broadcom wifi pci card
Ayuda!!! manjaro kde started tlp system startup/shutdow con video ati
Slow and inconsistent wifi with TP-Link Archer T9E AC1900
BCM43602 brcmfmac driver causes kernel panic in WPA2 networks
My wifi isnt working
Dual Band PCI card
Wi-Fi not working with a TP Link Archer T9E
My wifi isnt working
Wifi issues on a Macbook Air
#3

Does it happen with other kernels + linuxXY-broadcom-wl ?
(You can post the results at github, I will read.)

#4

@eugen-b I’ve found that every time bcma-pci-bridge shows up as the broadcom driver the driver install is borked. Switching kernels will be very unlikely to help. I’ve helped 3 or 4 people in the last couple weeks where this issue has shown up with a variety of broadcom chips. The solution was the same on all of them. The miss-detected driver needed to be uninstalled and replaced. Depending on the card and proper driver that was required, a blacklisting might also be in order. It’s a dead giveaway now, when I see the bcma-pci-bridge driver I know it’s a conflicting drivers issue. On Windows they actually identify it as a bug and even have removal tool to fix the problem. So its not just Linux where this issue occurs with the Broadcom drivers. At least that’s what I’ve been able to piece together from a lot of searching.

1 Like
#5

Uninstall the current driver is part of any solution with a Broadcom driver which doesn’t work. :wink:

My recommendation was based on this topic:

Ah, in that post the OP installed the wrong headers! :man_facepalming:
So, ok Alberto might try your proposal

sudo pacman -S linux414-headers
reboot
sudo pacman -S broadcom-wl-dkms
1 Like
#6

@eugen-b From the link you posted:

I totally agree with the above quote. I’ve suspected the mhwd hardware detection has been installing broadcom drivers incorrectly for a little while now. I first noticed this issue about three weeks ago, and started researching it. After reading a thread that was linked from your original reference, I now think this is an even bigger issue than I first suspected. According to a post on that thread the mhwd scripts miss-detection of broadcom adapters is actually causing the calamares installer to hang on some Manjaro installs.

From searching bcma-pci-bridge I found some information on this issue. I did not find a lot of hits on Linux. It wasn’t until I found the hit on Windows identifying this as a bug that I realized that seeing the bcma-pci-bridge is a sure sign the driver install was botched. I’m simply trying to let others know that if you see bcma-pci-bridge listed as the driver your driver install has gone sideways and needs to be corrected.

#7

I will no longer be able to research this myself, as I solt the affected computer.

#8

Too bad, I’m almost 100% sure that would have fixed your wifi issue.

#9

The GPU was damaged :slight_smile:

1 Like
closed #10

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.