WiFi kernel module (brcmfmac) no longer auto-loads at boot

Something happened with recent builds of Aurora:latest, and the wifi module on my Dell XPS 13 no longer auto-loads at boot. I can later insert the module with insmod or modprobe, but until I do so the wifi card does not appear. I don’t have the exact build when this happened but it was around the transition from September builds to Oct.

I have tried booting from a Fedora 40 live USB drive, as well as the latest Ubuntu, and both instances see the brcmfmac module loaded automatically. This happens reliably every boot from one of these live instances, so I’m confident the issue is not a flakey wifi card. Every boot of aurora:latest fails to load the module.

I don’t see anything different in my “/etc/” directory compared to these live instances but that doesn’t mean there isn’t something different in there. I have toggled “ujust configure-broadcom-wl” a number of times and that doesn’t appear to do anything to help: brcm drivers are never loaded at boot. Current state of the systemd is, of course, with “ujust configure-broadcom-wl” set to “enable”.

Since I can successfully load the kernel module after booting Aurora, I suspect either the kernel itself no longer auto-loads this, or something in “/etc/” has changed that I can’t figure out.

I have also ensured that my system has successfully enrolled the ublue-os secure boot key (in case that matters).

I’m currently on

Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora:latest (index: 0)
                   Digest: sha256:1c05d7cf3208f51db03049fa38002614942b6637bb8dd8e23bd44f6ef0a559a6
                  Version: 40.20241010.0 (2024-10-12T02:49:12Z)
                   Commit: e4ecad6815e9fdd9bb1bb6f7ebd2cbf8e6545e03c23a7bc1674b1976b0dc49fd
                   Staged: no
                StateRoot: fedora
]$ uname -r
6.10.12-200.fc40.x86_64
]$ sudo lspci | grep -Ei network
3a:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4350 802.11ac Wireless Network Adapter (rev 08)

After booting and inserting the correct module, I see them loaded:

]$ sudo lsmod | grep brcm
brcmfmac_wcc           12288  0
brcmfmac              524288  1 brcmfmac_wcc
brcmutil               20480  1 brcmfmac
cfg80211             1421312  2 wl,brcmfmac
mmc_core              282624  2 rtsx_pci_sdmmc,brcmfmac

Can anyone help me troubleshoot this issue? Do I need to do anything other than run “ujust configure-broadcom-wl” ? To be clear, doing this doesn’t make a bit of difference.

(Unfortunately I accidentally cleaned all previous aurora builds from this laptop, so I don’t have a good way to switch to an older build. I have tried to switching to aurora-dx:latest but that made no difference. Again, other live Linux instances auto-load this module, and older builds did as well–only recent builds of Aurora:latest seem to fail.)

Thanks in advance for any insights!

Eric

ujust rebase-helper, select date, and then browse back.

You can find the exact available tags to rebase with by using this webui: Package aurora · GitHub

Not sure on the kernel module, I suspect it’s probably because we were on the fsync kernel before but are now on the stock vanilla fedora kernel.

Thank you, I will try some older builds to see if I can nail-down when this started to happen. I will also see what kernel I’m loading in the live Fedora 40 build to compare.

If that doesn’t work, is there a way to force aurora to autoload a kernel module at boot? I tried creating a file in “/etc/modules-load.d” but that didn’t do anything. I can manually load this module after I boot, but that seems an inelegant kludge.

You could maybe try making an autostart file and putting it in:
~/.config/autostart

As a quick note, I rebased to “40.20240905” (somewhat randomly) and the broadcom module is indeed automatically loaded. I will try to find the exact build where it all changes.

Is there any way to use a different kernel with these atomic builds? I assume No…

It’s possible but we’re not building images with different kernels, in a perfect world maybe someday. :smile:

But if we know the date we can check the kernel version and see if there was a change that day.

tl;dr most likely a hardware issue, please close.

After a ridiculous number of rebasing to different versions, and also booting to different live distros on usb stick, it seems the most likely issue is a flakey Broadcom wifi card.

The frustrating thing is there seemed to be some underlying pattern: not a single commit after mid-September would auto-load the broadcom kernel module, while most commits before that period would–but not every reboot. Also, nearly every boot from a live distro would load the kernel module right away. There seemed to be some sort of logic to what was happening, but after days of troubleshooting this I’ve lost all patience for it.

And now, loading the module rarely turns on wifi at all, proving the issue was a hardware one. Thanks for the help, please close this.