Broadcom PCIe Wifi adapter 4366c not working after update

Wifi card is an Asus with broadcom chipset. It was operational and operating at 802.11ac speeds on kernel 5.19 and 6.1. I then did an update and the card disappeared from my nics.

I got this in my dmesg:

[    0.699145] pcieport 0000:00:1b.4: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
[    0.699566] pcieport 0000:00:1c.7: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
[    0.699866] pcieport 0000:00:1d.0: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
[    0.796486] RAS: Correctable Errors collector initialized.
[    3.866813] brcmfmac 0000:05:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.System manufacturer-System Product Name.bin failed with error -2
[    3.867761] brcmfmac 0000:05:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.System manufacturer-System Product Name.txt failed with error -2
[    3.867786] brcmfmac 0000:05:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2

The file brcm/brcmfmac4366c-pcie.txt does not exist anymore.

I then gave the broadcom-wl a try, and even broadcom-wl-dkms. I think I’m off down a rabbit hole, as these don’t work for me. Trying to roll back, it appears I can’t as the missing text file in the driver above won’t let me.

Next I thought I’d go for a 5.15 LTS kernel and that doesn’t work either. I can’t get back to 5.19 as that’s no longer available.

As much detail as I have collected so far.

$ sudo pacman -Ss broadcom-wl-dkms
community/broadcom-wl-dkms 6.30.223.271-36
    Broadcom 802.11 Linux STA wireless driver

$ sudo pacman -S broadcom-wl-dkms 
resolving dependencies...
looking for conflicting packages...

Packages (1) broadcom-wl-dkms-6.30.223.271-36

Total Installed Size:  7.62 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                           [##############################################################] 100%
(1/1) checking package integrity                                                                         [##############################################################] 100%
(1/1) loading package files                                                                              [##############################################################] 100%
(1/1) checking for file conflicts                                                                        [##############################################################] 100%
(1/1) checking available disk space                                                                      [##############################################################] 100%
:: Processing package changes...
(1/1) installing broadcom-wl-dkms                                                                        [##############################################################] 100%

Unload and load kernel modules (wl is provided by broadcom-wl-dkms):

  rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl
  modprobe wl

:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Install DKMS modules
==> dkms install --no-depmod broadcom-wl/6.30.223.271 -k 6.1.7-1-MANJARO
==> dkms install --no-depmod broadcom-wl/6.30.223.271 -k 5.15.89-1-MANJARO
==> dkms install --no-depmod broadcom-wl/6.30.223.271 -k 6.0.19-3-MANJARO
==> depmod 5.15.89-1-MANJARO
==> depmod 6.0.19-3-MANJARO
==> depmod 6.1.7-1-MANJARO

$ sudo rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl 

rmmod: ERROR: Module b43 is not currently loaded
rmmod: ERROR: Module b43legacy is not currently loaded
rmmod: ERROR: Module bcm43xx is not currently loaded
rmmod: ERROR: Module bcma is not currently loaded
rmmod: ERROR: Module brcm80211 is not currently loaded
rmmod: ERROR: Module brcmsmac is not currently loaded
rmmod: ERROR: Module ssb is not currently loaded
rmmod: ERROR: Module tg3 is not currently loaded
rmmod: ERROR: Module wl is not currently loaded

$ sudo modprobe wl

$ sudo dmesg | grep -iC5 error

[    4.874107] wl 0000:05:00.0: enabling device (0000 -> 0002)
[    4.875015] e1000e 0000:00:1f.6 eno1: renamed from eth0
[    4.902715] wl driver 6.30.223.271 (r587334) failed with code 1
[    4.902718] ERROR @wl_cfg80211_detach : 
[    4.902719] NULL ndev->ieee80211ptr, unable to deref wl


$ sudo modinfo wl
filename:       /lib/modules/5.15.89-1-MANJARO/updates/dkms/wl.ko.xz
license:        MIXED/Proprietary
srcversion:     39B1E3189AEBF0E4D013DA2
alias:          pci:v*d*sv*sd*bc02sc80i*
depends:        cfg80211
retpoline:      Y
name:           wl
vermagic:       5.15.89-1-MANJARO SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         DKMS module signing key
sig_key:        27:B3:07:3C:F4:91:A3:FE:9B:28:82:A4:39:2B:5A:97:3A:55:34:25
sig_hashalgo:   sha512
signature:      A9:FC:BA:F4:8E:84:5C:E1:E8:58:79:6F:F9:D1:73:B7:15:CF:04:72:
		8D:E4:3A:1E:8A:7F:B5:AC:20:86:32:6F:34:BE:9B:C4:8C:2F:00:FC:
		96:A8:7D:63:3B:6F:C7:CE:55:48:9C:94:24:4A:5F:2F:3D:A1:48:FD:
		A7:60:D8:AC:4F:EF:C0:61:70:43:4C:6D:E0:E8:B5:EE:AD:9A:68:8B:
		B7:2A:10:40:CD:D4:E0:A6:C6:30:23:E8:8D:24:28:76:25:F8:AF:85:
		BC:ED:D0:99:1A:65:B1:4F:E2:81:71:8F:06:C5:B0:36:41:1B:F0:53:
		74:75:C0:82:F2:10:F2:99:A3:F5:B6:61:22:4A:62:31:67:72:91:AC:
		25:DA:F7:1C:62:DD:C0:12:D6:C9:1D:0F:07:6C:C5:C3:37:9F:B1:56:
		1E:54:43:C0:5F:E8:56:4D:EC:77:FF:BA:0F:B5:48:D2:EF:08:83:CE:
		41:F9:A3:CB:FC:14:36:5F:3E:A2:E0:02:78:EE:AC:DC:7B:B0:C5:D2:
		D4:D4:E6:47:7F:C1:2F:10:63:35:B8:DB:63:33:6A:94:DC:27:15:E1:
		39:1A:E2:7B:0B:F8:E0:E1:8F:CE:7E:12:AA:F5:5C:7B:8C:50:2B:85:
		08:21:E3:F6:C3:7F:FC:27:E8:66:BA:3C:C4:14:3B:3E
parm:           passivemode:int
parm:           wl_txq_thresh:int
parm:           oneonly:int
parm:           piomode:int
parm:           instance_base:int
parm:           nompc:int
parm:           intf_name:string


05:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries Device [14e4:43c3] (rev 04)
	Subsystem: ASUSTeK Computer Inc. Device [1043:86fb]
	Flags: bus master, fast devsel, latency 0, IRQ 19
	Memory at a6000000 (64-bit, non-prefetchable) [size=32K]
	Memory at a5800000 (64-bit, non-prefetchable) [size=8M]
	Memory at a0000000 (64-bit, prefetchable) [size=4M]
	Capabilities: [48] Power Management version 3
	Capabilities: [58] MSI: Enable- Count=1/32 Maskable- 64bit+
	Capabilities: [68] Vendor Specific Information: Len=44 <?>
	Capabilities: [ac] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Device Serial Number 00-00-00-ff-ff-00-00-00
	Capabilities: [150] Power Budgeting <?>
	Capabilities: [160] Virtual Channel
	Capabilities: [1b0] Latency Tolerance Reporting
	Capabilities: [220] Physical Resizable BAR
	Kernel modules: brcmfmac, wl

Any help gratefully received. I’m currently on a power over mains at 40mbps

Check to see if they are blacklisted in /etc/modprobe.d/

Thanks for the reply.

My understanding is that the broadcom-wl package blacklists all the other broadcom drivers like b43, hence the message as you install to remove them:

$ sudo rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl 
  • That said, there is no blacklist in modprobe.d that I can see.

This also adds to the difficulty in going back to the brcm43xx driver. Although I could remove the broadcom-wl the missing txt file for the brcm43xx means no going back.

Is b43-fwcutter installed?
Is this AUR package a possibility?

https://aur.archlinux.org/packages/brcm43xx-firmware

That may be what was originally installed.

$ pamac install brcm43xx-firmware
Warning: brcm43xx-firmware is only available from AUR
Preparing...
Cloning brcm43xx-firmware build files...
Generating brcm43xx-firmware information...
Checking brcm43xx-firmware dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  brcm43xx-firmware  latest-2    AUR


Edit build files : [e] 
Apply transaction ? [e/y/N] y


Building brcm43xx-firmware...
==> Making package: brcm43xx-firmware latest-2 (Tue 31 Jan 2023 08:53:58 GMT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found latest.tar.gz
==> Validating source files with md5sums...
    latest.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
Error: Failed to build brcm43xx-firmware

I even extracted the content and there’s no txt file matching the error inside the file either.

I think it’s related to this post from Arch [SOLVED] Broadcom Wifi stopped working after update / Kernel & Hardware / Arch Linux Forums so I may have to wait on a repaired kernel.

In the meantime, I’ve ordered an Intel ax210 card to see if I have any luck with that.

There seems to be two things that kill Linux - broadcom and nvidia, and I have both :smiley:

Well, the AX210 turned up, and it plugged in and just works. It even has the same device name, same slot, I guess.

But it’s half the speed of the Broadcom. I’m seeing 160Mbps with the Intel, when I recorded 296Mbps with the Broadcom, but I know I got way faster - just not recorded. I’m guessing the Broadcom being mimio 4x4 and the Intel only 2x2.

For now, it works, but I’ll keep an eye on the Broadcom situation and will probably swap back.

I don’t have Wifi 6 802…1ax and only 802.11ac - so the ax210 is capable of using a newer network, but the older was just fine with me.

$ lspci -vnn -d 8086:2725 -k
05:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz [8086:2725] (rev 1a)
	Subsystem: Intel Corporation Wi-Fi 6 AX210 160MHz [8086:0024]
	Flags: bus master, fast devsel, latency 0, IRQ 19
	Memory at a3300000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi, wl

Possible related posts

Upgraded kernel today 6.1.9and reinstalled broadcom-wl-dkms

Linux detective 6.1.9-1-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Feb  1 20:38:52 UTC 2023 x86_64 GNU/Linux
[    3.622146] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.625866] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.758867] wl 0000:05:00.0: enabling device (0000 -> 0002)
[    3.785431] wl driver 6.30.223.271 (r587334) failed with code 1
[    3.785432] ERROR @wl_cfg80211_detach : 
[    3.785433] NULL ndev->ieee80211ptr, unable to deref wl

Nope, Putting the intel back in :smiling_face_with_tear: