1

I know there is a lot of threads about this, but I followed a great number of them and none worked.

I installed ubuntu 20.04 on a live usb using rufus for a mackbook pro late 2013. After a while, I noticed the driver is there by default, but : it only works once. Here is how I made it work once : I made the install by clicking the icon on the desktop up to the part where it asks where to make the install -> wifi worked until reboot. An other way was to go on the additional driver panel, disable it, reboot, enable it -> wifi worked until reboot.

I dont know why it is there and doesnt work...

Drivers

I also tried the b43 firmware installer, following other threads, but nothing worked.

Suggested commands in ubuntu 20.04.3 lts:

lsmod | grep -e b43 -e wl  
wl                   6455296  0
cfg80211              888832  1 wl

And

grep -e b43 -e wl /etc/modprobe.d/*
/etc/modprobe.d/blacklist-bcm43.conf:# Warning: This file is autogenerated by bcmwl. All changes to this file will be lost.
/etc/modprobe.d/blacklist-bcm43.conf:blacklist b43
/etc/modprobe.d/blacklist-bcm43.conf:blacklist b43legacy
/etc/modprobe.d/blacklist.conf:# replaced by b43 and ssb.
/etc/modprobe.d/iwlwifi.conf:# /etc/modprobe.d/iwlwifi.conf
/etc/modprobe.d/iwlwifi.conf:# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
/etc/modprobe.d/iwlwifi.conf:# microcode file installed on the system.  When removing iwlwifi, first
/etc/modprobe.d/iwlwifi.conf:# remove the iwl?vm module and then iwlwifi.
/etc/modprobe.d/iwlwifi.conf:remove iwlwifi \
/etc/modprobe.d/iwlwifi.conf:(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \

And

    sudo dmesg | grep wl
    [   59.790911] wl: loading out-of-tree module taints kernel.
    [   59.790920] wl: module license 'MIXED/Proprietary' taints kernel.
    [   59.793410] wl: module verification failed: signature and/or required key missing - tainting kernel

And

sudo dmesg | grep -e wl -e bcma
[    1.141227] bcma-pci-bridge 0000:03:00.0: bus0: Found chip with id 0x4360, rev 0x03 and package 0x00
[    1.141271] bcma-pci-bridge 0000:03:00.0: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2B, class 0x0)
[    1.141296] bcma-pci-bridge 0000:03:00.0: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x2A, class 0x0)
[    1.141342] bcma-pci-bridge 0000:03:00.0: bus0: Core 2 found: ARM CR4 (manuf 0x4BF, id 0x83E, rev 0x02, class 0x0)
[    1.141392] bcma-pci-bridge 0000:03:00.0: bus0: Core 3 found: PCIe Gen2 (manuf 0x4BF, id 0x83C, rev 0x01, class 0x0)
[    1.141417] bcma-pci-bridge 0000:03:00.0: bus0: Core 4 found: USB 2.0 Device (manuf 0x4BF, id 0x81A, rev 0x11, class 0x0)
[    1.196936] bcma: Unsupported SPROM revision: 11
[    1.197064] bcma-pci-bridge 0000:03:00.0: bus0: Invalid SPROM read from the PCIe card, trying to use fallback SPROM
[    1.197070] bcma-pci-bridge 0000:03:00.0: bus0: Using fallback SPROM failed (err -2)
[    1.197075] bcma-pci-bridge 0000:03:00.0: bus0: No SPROM available
[    1.200300] bcma-pci-bridge 0000:03:00.0: bus0: Bus registered
[   45.291300] wl: loading out-of-tree module taints kernel.
[   45.291307] wl: module license 'MIXED/Proprietary' taints kernel.
[   45.293675] wl: module verification failed: signature and/or required key missing - tainting kernel

And

journalctl -b | grep bcma
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Found chip with id 0x4360, rev 0x03 and package 0x00
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2B, class 0x0)
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x2A, class 0x0)
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Core 2 found: ARM CR4 (manuf 0x4BF, id 0x83E, rev 0x02, class 0x0)
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Core 3 found: PCIe Gen2 (manuf 0x4BF, id 0x83C, rev 0x01, class 0x0)
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Core 4 found: USB 2.0 Device (manuf 0x4BF, id 0x81A, rev 0x11, class 0x0)
déc 19 19:11:03 ubuntu kernel: bcma: Unsupported SPROM revision: 11
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Invalid SPROM read from the PCIe card, trying to use fallback SPROM
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Using fallback SPROM failed (err -2)
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: No SPROM available
déc 19 19:11:03 ubuntu kernel: bcma-pci-bridge 0000:03:00.0: bus0: Bus registered

Debug script log : https://pastebin.ubuntu.com/p/ZhR4QRSpDp/

Commands done in 21.10 :

The driver was at first not enabled in the additional drivers window. I enabled it, worked fine until reboot. Then, I tried remove bcma, just in case, but nothing changed.

sudo dmesg | grep bcma
[    1.496684] bcma-pci-bridge 0000:03:00.0: bus0: Found chip with id 0x4360, rev 0x03 and package 0x00
[    1.496731] bcma-pci-bridge 0000:03:00.0: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2B, class 0x0)
[    1.496757] bcma-pci-bridge 0000:03:00.0: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x2A, class 0x0)
[    1.496802] bcma-pci-bridge 0000:03:00.0: bus0: Core 2 found: ARM CR4 (manuf 0x4BF, id 0x83E, rev 0x02, class 0x0)
[    1.496851] bcma-pci-bridge 0000:03:00.0: bus0: Core 3 found: PCIe Gen2 (manuf 0x4BF, id 0x83C, rev 0x01, class 0x0)
[    1.496876] bcma-pci-bridge 0000:03:00.0: bus0: Core 4 found: USB 2.0 Device (manuf 0x4BF, id 0x81A, rev 0x11, class 0x0)
[    1.555428] bcma: Unsupported SPROM revision: 11
[    1.555512] bcma-pci-bridge 0000:03:00.0: bus0: Invalid SPROM read from the PCIe card, trying to use fallback SPROM
[    1.555515] bcma-pci-bridge 0000:03:00.0: bus0: Using fallback SPROM failed (err -2)
[    1.555518] bcma-pci-bridge 0000:03:00.0: bus0: No SPROM available
[    1.559096] bcma-pci-bridge 0000:03:00.0: bus0: Bus registered

2 Answers2

3

How I made it (kinda) work

After a lot of trouble, I think I found a temporary solution.

On Ubuntu 21.10

Step 1 :

On the driver manager -> additional driver -> enable Broadcom 802.11 bcmwl-kernel-source

Works until reboot.

Step 2 (After reboot)

Wifi not working, probably because of drivers conflict. Disable all drivers:

sudo modprobe -r wl
sudo modprobe -r bcma
sudo modprobe -r b43
sudo modprobe -r brcmsmac

After this, try one by one to enable them :

sudo modprobe wl

This is the one that works for me.

Problem

I have to do this after every reboot, because those changes don't save. I know there are .conf files with blacklist options, but I don't know which one to change.

1

Bit late to this one but I got this to work by editing /etc/modprobe.d/blacklist.conf (Although you could probably make your own blacklist file if you fancy) with the following line:

blacklist bcma

as per @Infamous Jox above i discovered that doing modprobe -r bcma wl then modprobe wl would get it working.

You'll also need to run

sudo update-initramfs -u

for the blacklist to take effect.

Alex
  • 163
  • 1
  • 7