After a fresh install of Fedora 27, the wifi card is not detected after the running the first system update. After some lengthy troubleshooting online I am still no closer to the solution.
uname -r
4.14.5-300.fc27.x86_64
lspci -vnn -d 14e4:
04:00.0 Network controller [0280]: Broadcom Limited BCM4356 802.11ac Wireless Network Adapter [14e4:43ec] (rev 02)
Subsystem: Lenovo Device [17aa:0777]
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f1400000 (64-bit, non-prefetchable) [size=32K]
Memory at f1000000 (64-bit, non-prefetchable) [size=4M]
Capabilities: <access denied>
Kernel modules: brcmfmac, wl
rpm -qa | grep -e kernel -e broadcom-wl -e kmod-wl | sort
abrt-addon-kerneloops-2.10.5-1.fc27.x86_64
akmod-wl-6.30.223.271-15.fc27.x86_64
broadcom-wl-6.30.223.271-3.fc27.noarch
kernel-4.13.9-300.fc27.x86_64
kernel-4.14.5-300.fc27.x86_64
kernel-core-4.13.9-300.fc27.x86_64
kernel-core-4.14.5-300.fc27.x86_64
kernel-debug-devel-4.14.5-300.fc27.x86_64
kernel-devel-4.13.9-300.fc27.x86_64
kernel-devel-4.14.5-300.fc27.x86_64
kernel-headers-4.14.5-300.fc27.x86_64
kernel-modules-4.13.9-300.fc27.x86_64
kernel-modules-4.14.5-300.fc27.x86_64
kernel-modules-extra-4.13.9-300.fc27.x86_64
kernel-modules-extra-4.14.5-300.fc27.x86_64
kmod-wl-4.13.9-300.fc27.x86_64-6.30.223.271-15.fc27.x86_64
kmod-wl-4.14.5-300.fc27.x86_64-6.30.223.271-15.fc27.x86_64
libreport-plugin-kerneloops-2.9.3-1.fc27.x86_64
I have installed the correct kernel-devel package:
sudo dnf install kernel-devel-4.13.9-300.fc27.x86_64
Along with enabling RPM-fusion:
sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-27.noarch.rpm https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-27.noarch.rpm
Installed broadcom-wl and kmod-wl
sudo dnf install -y broadcom-wl kmod-wl
Run the akmods command:
sudo akmods --force --kernel 4.13.9-300.fc27.x86_64 --akmod w
Checking kmods exist for 4.13.9-300.fc27.x86_64 [ OK ]
Run depmod:
sudo depmod -a
(No errors)
And finally modprobe on wl:
sudo modprobe wl
(No errors)
All without success. Does anyone know how to solve this problem? I have seen a few older threads documenting similar issues but none of the accepted solutions appear to work in my case.
Edit 1
After some more searching, I've discovered the kernel module I should be loading for my card is brcmfmac4356.
Running:
modprobe -r brcmfmac
And
modprobe brcmfmac
Produces no output but brcmfmac fails to show up after invoking lsmod. Checking dmesg reveals:
[ 8488.780453] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac4356-pcie.bin for chip 0x004356(17238) rev 0x000002
[ 8488.782147] brcmfmac 0000:04:00.0: Direct firmware load for brcm/brcmfmac4356-pcie.txt failed with error -2
[ 8491.291361] brcmfmac: brcmf_msgbuf_query_dcmd: Timeout on response for query command
[ 8491.291376] brcmfmac: brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -5
[ 8491.291383] brcmfmac: brcmf_bus_started: failed: -5
[ 8491.291398] brcmfmac: brcmf_pcie_attach_bus: dongle is not responding
I am not sure what to make of this but will supply a further update when I have time to dig a little deeper.
Edit 2 and ugly fix
I now have a working wireless interface by hunting down the allegedly missing file brcm/brcmfmac4356-pcie.txt here, pasting it into /lib/firmware/brcm/ and running:
modprobe brcmfmac
This feels like a hack and I have to wonder why brcm/brcmfmac4356-pcie.txt was absent. Is this a bug and the wrong file was being sourced?
While I now have a working WiFi connection I would very much like to understand the source of the problem.
Edit 3
The above fix is not persistent after reboot and requires me to execute modprobe brcmfmac before the wireless interface becomes visible.