first see what kmod packages are installed. dnf list kmod-\*
Once you know exactly which kmod packages are locally compiled and installed, then you can remove the one created for the broadcom card with and make certain everything is up to date with
sudo dnf remove broadcom-wl akmod-wl kmod-wl-\*
and reinstall it all with sudo dnf install broadcom-wl which will also pull in the akmod-wl package then compile the drivers and install the kmod-wl package it creates locally.
It is possible that the newer kernels may not include drivers for an older broadcom card but unless you are up to date with everything installed it is unlikely that any of us would be able to test with matching hardware and software.
Posting the output of commands suggested will help us to follow what occurs on your system and to see the results. You posted several commands but did not include the output from any of them so we cannot tell what you may have seen.
==============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================================================================
Installing:
broadcom-wl noarch 6.30.223.271-21.fc37 rpmfusion-nonfree 24 k
Installing dependencies:
akmod-wl x86_64 6.30.223.271-49.fc37 rpmfusion-nonfree-updates 5.5 M
Transaction Summary
==============================================================================================================================================================================================================================================
Install 2 Packages
Total download size: 5.5 M
Installed size: 5.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): broadcom-wl-6.30.223.271-21.fc37.noarch.rpm 153 kB/s | 24 kB 00:00
(2/2): akmod-wl-6.30.223.271-49.fc37.x86_64.rpm 25 MB/s | 5.5 MB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 6.5 MB/s | 5.5 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : akmod-wl-6.30.223.271-49.fc37.x86_64 1/2
Running scriptlet: akmod-wl-6.30.223.271-49.fc37.x86_64 1/2
Installing : broadcom-wl-6.30.223.271-21.fc37.noarch 2/2
Running scriptlet: akmod-wl-6.30.223.271-49.fc37.x86_64 2/2
Running scriptlet: broadcom-wl-6.30.223.271-21.fc37.noarch 2/2
Verifying : broadcom-wl-6.30.223.271-21.fc37.noarch 1/2
Verifying : akmod-wl-6.30.223.271-49.fc37.x86_64 2/2
Installed:
akmod-wl-6.30.223.271-49.fc37.x86_64 broadcom-wl-6.30.223.271-21.fc37.noarch
Complete!
When I ran the series of commands in my OP, the wl module built successfully. However after running the commands in step 3, I do not see kmod-wl installed any longer.
The akmod-wl package builds the kmod-wl-6.5.7-100.fc37.x86_64 package specifically for your kernel.
Having the kmod-wl package separately installed may cause the issues since the first is compiled locally for your kernel and the other is not.
It is not normally recommended to install both kmod-wl and akmod-wl.
There are similar issues when a user installs both the kmod-nvidia package and the akmods-nvidia package – the locally built package often conflicts with the other.
Update: I managed to get wifi working by running sudo modprobe brcmfmac. It doesn’t seem to survive a reboot though – I have to manually enter that command to get wifi working after a reboot.
Use modinfo brcmfmac to see the list of supported devices and subsystems. Here I only see a couple subsystems. There may be some issues that block support for your subsystem, but maybe they aren’t critical for your use case. If you don’t encounter issues, you should be able to force loading brcmfmac on the kernel command line or by adding a .conf file to /etc/modprobe.d. It has been a while since I needed to do that, so you should read man modprobe.d .
Instead of using modprobe on boot, you can drop a brcmfmac into a
/etc/modules-load.d/brcmfmac.conf file.
Probably that this line won’t be needed anymore at some point. But you shouldn’t use wl-kmod on new hardware IMO.
Also it’s weird that you should use firmware from Apple on non-apple devices.
Probably you need to fetch a more recent firmware for your device that might be a common devices with some apple product.
Using b43-fwcutter might helps.
Firmware often comes as a binary blob specific to a chipset. If you are running linux on an Apple system the firmware from Apple will match your chipset and may not be available elsewhere.
What I was pointing at is that if broadcom users with a different chipset than what’s available in this apple-firmware location, then it will be no use for them…
This same applies to all firmware– including the broadcom firmware already included in fedora distros from the linux-firmware meta package…
There are several hundred versions of firmware even on a plain fedora install, many of them for broadcom, and if they do not fit the specific chipset then the system cannot use them. Does that mean having them loaded is wrong? – No, it merely means that the specific one necessary is available if the user has the chipset that requires it.
Having many firmware packages to choose from allows the system to select what is needed and ignore what does not fit.