I just installed Fedora 33 Workstation and I am having trouble getting wifi to work. My wifi card has previously worked with Arch, Manjaro, and Ubuntu.
I’ve seen a lot of posts out there about difficulties getting Broadcom devices to work with Fedora, but none of what I’ve seen suggested has worked for me.
My card is detected:
$ lspci | grep -i broadcom
04:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
I ran dnf update then dnf install broadcom-wl then rebooted. It is still not recognized:
lo no wireless extensions.
enp6s0 no wireless extensions.
eno1 no wireless extensions.
virbr0 no wireless extensions.
virbr0-nic no wireless extensions.
I tried akmods --force and get an error. Does this mean I need to install a different kernel? I have kernel-devel installed and it’s the latest version.
$ sudo akmods --force
Checking kmods exist for 5.8.18-300.fc33.x86_64 [ OK ]
Files needed for building modules against kernel
5.8.18-300.fc33.x86_64 could not be found as the following
directories are missing:
/usr/src/kernels/5.8.18-300.fc33.x86_64/
/lib/modules/5.8.18-300.fc33.x86_64/build/Is the correct ke[FAILED]el package installed?
kernel and kernel-devel should always be the same version as long as your system is up-to-date. (sudo dnf update --refresh)
What sucks is the fact that kernel-headers is not rebuild with every new kernel, and compiling modules often fails. I have seen hundreds of issues resulting from that. There was a thread on the mailing list but it was decided that revuilding kernel-headers was not required with every new kernel. I see a lot of unhappy end-users just because of unmatching versions…
This may be well off-topic, but simply look at the user demand of matching versions:
So the problem is back. Wifi was connected and working fine for a few hours and then stopped working, showing that it was trying to connect. I confirmed the Wifi was on using a different computer. I installed wpa_supplicant from the copr repository dcaratti/wpa_supplicant, after which the device became inactive. I uninstalled that wpa_supplicant and installed the one from the main repo but it is not working.
My currently loaded kernel is
$ uname -r
5.9.8-200.fc33.x86_64
My kernel-headers version is
$ dnf info kernel-headers
Last metadata expiration check: 0:15:19 ago on Mon 16 Nov 2020 01:57:17 PM PST.
Installed Packages
Name : kernel-headers
Version : 5.9.7
Release : 200.fc33
Architecture : x86_64
Size : 5.1 M
Source : kernel-headers-5.9.7-200.fc33.src.rpm
Repository : @System
From repo : updates
Summary : Header files for the Linux kernel for use by glibc
URL : http://www.kernel.org/
License : GPLv2
Description : Kernel-headers includes the C header files that specify the
: interface between the Linux kernel and userspace libraries and
: programs. The header files define structures and constants that
: are needed for building most standard programs and are also
: needed for rebuilding the glibc package.
To use any akmod packages you also need to install kernel-headers. As has already been said, kernel-devel and the running kernel need to be the same. This is because kernel-devel is also updated with every new kernel update and the system never keeps anything other than the latest kernel-devel package. I have never had errors in building modules when headers are a different version and I build at least one video driver with every kernel update.