Testing 20.04 daily, wifi problem (Broadcom BCM4322)

I’m using a Lenovo Thinkpad X131e (core i3-3217U), booting 20.04 Lubuntu’s 20200305 daily image. Live desktop seems fine. But, wifi is not working (it’s “enabled” in nm-tray. But, no access points are seen. Network manager shows no wireless section.). The wifi card is Broadcom BCM43228 a/b/g/n. The lspci command shows it is present, and says “Kernel driver in use: bcma-pci-bridge.”

Syslog contains these msgs:

Mar  5 15:39:19 lubuntu kernel: [   69.259638] b43-phy0: Broadcom 43228 WLAN found (core revision 30)
Mar  5 15:39:19 lubuntu kernel: [   69.260073] b43-phy0: Found PHY: Analog 9, Type 4 (N), Revision 16
Mar  5 15:39:19 lubuntu kernel: [   69.260083] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
Mar  5 15:39:19 lubuntu kernel: [   69.260871] Broadcom 43xx driver loaded [ Features: PNL ]
Mar  5 15:39:19 lubuntu kernel: [   69.264075] b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error -2
Mar  5 15:39:19 lubuntu kernel: [   69.264132] b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error -2
Mar  5 15:39:19 lubuntu systemd[1]: Started Simple Desktop Display Manager.
Mar  5 15:39:19 lubuntu kernel: [   69.275225] b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with error -2
Mar  5 15:39:19 lubuntu kernel: [   69.275771] b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with error -2
Mar  5 15:39:19 lubuntu kernel: [   69.275777] b43-phy0 ERROR: Firmware file "b43/ucode30_mimo.fw" not found
Mar  5 15:39:19 lubuntu kernel: [   69.277308] b43-phy0 ERROR: Firmware file "b43-open/ucode30_mimo.fw" not found
Mar  5 15:39:19 lubuntu kernel: [   69.278846] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

I have never run Linux on this laptop. The laptop has Windows 10 installed. Wifi works when I boot that. (The hardware is functional.).

The bios has a network setting to enable/disable “Wimax & WLAN radios.” I thought those might be something unrelated to “wifi,” and disabled that. The syslog errors don’t occur then. But, when I booted Windows 10, it tells me wifi is off. So, apparently that bios setting needs to be enabled, and the syslog errors are relevant to the problem(?).

Should I create a bug report about this? Or, is there more I could do to investigate? Should this work with Lubuntu? Or, is this a known incompatibility? (I found an ubuntuforums thread from 1.5 years ago about this. I’m wondering if it should work better than that?).

I noticed “Additional drivers” in Lubuntu’s start menu. That suggests “Using Broadcom 802.11 Linux STA wireless driver source from bcmwl-kernel-source (proprietary)”

I selected that and “apply changes.” But, it needs a network connection to download packages. I can use an RJ-45 if that course is advisable.

I notice at the bottom of that window it says “A proprietary driver has private code that Ubuntu developers can’t review or improve. Security and other updates are dependent on the driver vendor.”

Maybe it’s not supposed to work any better than this? The installer shouldn’t do this for people?

FYI: That “Additional drivers” option in the previous post worked from the Live desktop. I see access points in nm-tray as soon as that finished. (EDIT: inxi -Fxrz shows it using “driver: wl”).

So, I’m curious to know if that should have worked better (if this situation is a bug, enhancement)? For example, should that support have been in the iso? (I imagine not due to space reasons, and the relative obscurity of this old 11" Thinkpad?).

If not, I think it would be a much better user experience if the install process detected this condition and told the user “A driver exists for your wireless card. You must connect to a network using your laptop’s wired connection, and install ‘xxxxxx xxxx’ from start->preferences->additional drivers”)

Basically, the system knew a driver existed for me. But, I had to know enough to ask it tell me. If the install process could detect conditions like this, that might be a nicer experience for people new to Linux.

If there’s something more I should do (a bug report, enhancement request, etc.) let me know.

UPDATE: I replaced my Lenovo Thinkpad X131e wifi card with an “Intel Centrino 6205 (FRU 60Y3253).” This is supported normally by Linux. It’s a cheap upgrade. I found it for $5 USD on eBay.

I wanted to update this thread in case anyone found this topic googling. It’s a confusing topic because 1) many people don’t know you can replace a laptop’s wifi card. 2) Lenovo whitelists its wifi cards, making it a mystery what will or won’t work with it. I found a thread on the Lenovo support forum saying this Intel 6205 works (and may be the only one that does.).

This Intel 6205 is also dual-band, so you get much better wireless-N performance. For $5, that’s definitely worth just that alone. But, the way it’s supported by Linux better than the Broadcom BCM43228 is why I did it.

Broadcom sucks, basically. These have been problematic for years because of Broadcom’s proprietary code. Sometimes the reverse engineered open source drivers work good and sometimes they don’t (just as with proprietary graphics, e.g. Nvidia). This wiki should help, should you care to make the original card work.

I’ll add that we’ve got a task to make it so that proprietary drivers can be installed within the installer.

1 Like