bcmwl-kernel-source broken on kernel: 5.8.0-34-generic
The reason is obvious. Almost every time Canonical rolls out a HWE kernel, they forget to upgrade bcmwl-kernel-source
in the repos.
You have two solutions (use one or the other, it makes no sense to use both):
- Install
bcmwl-kernel-source
fromgroovy
repos. You can find it e.g. here. http://mirrors.kernel.org/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb It will compile with the 5.8 kernel.
Download the deb and install it by
sudo dpkg -i bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb
-
Remove all 5.8 kernel packages using these commands:
sudo apt remove linux-{image,modules,modules-extra,headers}-5.8.0-36-generic linux-hwe-5.8-headers-5.8.0-36 sudo apt install linux-generic
Make sure that the linux-generic
meta package is installed.
It is recommended to boot with the 5.4 kernel before you remove the 5.8.
The second solution will keep the 5.4 major kernel version with normal security upgrades.
I managed to restore WiFi with kernel 5.4.0-59-generic
as follows:
- Purge all packages related to kernel
5.8.0-34-generic
:sudo apt purge linux-image-5.8.0-34-generic linux-image-unsigned-5.8.0-34-generic linux-modules-5.8.0-34-generic linux-headers-5.8.0-34-generic
- Purge the Broadcom WiFi driver:
sudo apt purge bcmwl-kernel-source
- Remove redundant packages:
sudo apt autoremove
- Put the
5.4.0-59-generic
kernel on hold:sudo apt-mark hold 5.4.0-59-generic
- Update package metadata:
sudo apt update
- Re-install the driver:
sudo apt install bcmwl-kernel-source
Since the 5.8.0-34-generic
kernel is gone, the driver is compiled only for the 5.4.0-59-generic
kernel which succeeds as expected. Reboot, and WiFi is restored.
Hopefully I can unhold the kernel and receive kernel updates as usual once this is sorted out.
Turns out, you can use the ubuntu 20.10 version of the package and it works just fine, at its origin repo
Broadcom Wifi crashed after Ubuntu 20.04 LTS kernel update 8.15.34 ~ 36
How to know kernel version?
uname -r
How to know your crashed adapter?
sudo lshw -C network
You will see the crashed adapter with the following title:
*-network UNCLAIMED
How to fix:
SOLUTION 1
Install the following device driver:
http://archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb
ALTERNATIVE
If not worked, try the following:
sudo apt-get purge bcmwl-kernel-source
sudo apt-get install bcmwl-kernel-source
ALTERNATIVE Reinstall the kernel
sudo apt install --reinstall linux-image-$(uname -r)
sudo apt install --reinstall linux-modules-$(uname -r)
sudo apt install --reinstall linux-modules-extra-$(uname -r)
After that try the above solutions again.
Found an alternative solution while tracing errors in bcmwl-kernel-source.
See this question on Unix & Linux SE
I tried the solution listed in the thread, which involves purging the bcmwl-kernel-source
and installing broadcom-sta
and it works for me in Ubuntu 20.04 LTS with the Linux 5.8.0-36 headers installed.
sudo apt-get purge bcmwl-kernel-source
sudo apt-get install broadcom-sta-source broadcom-sta-dkms broadcom-sta-common