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):

  1. Install bcmwl-kernel-source from groovy 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
  1. 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:

  1. 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
  2. Purge the Broadcom WiFi driver: sudo apt purge bcmwl-kernel-source
  3. Remove redundant packages: sudo apt autoremove
  4. Put the 5.4.0-59-generic kernel on hold: sudo apt-mark hold 5.4.0-59-generic
  5. Update package metadata: sudo apt update
  6. 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