
全新安装 Fedora 27 后,未检测到 wifi 卡后运行第一个系统更新。经过长时间的在线故障排除后,我仍然没有更接近解决方案。
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 内核 -e Broadcom-wl -e kmod-wl |种类
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
我已经安装了正确的内核开发包:
须藤 dnf 安装 kernel-devel-4.13.9-300.fc27.x86_64
除了启用 RPM 融合之外:
须藤 dnf 安装 -yhttps://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-27.noarch.rpm https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-27.noarch.rpm
安装了 Broadcom-wl 和 kmod-wl
sudo dnf install -y Broadcom-wl kmod-wl
运行 akmods 命令:
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 ]
运行 depmod:
须藤 depmod -a
(没有错误)
最后是 wl 上的 modprobe:
须藤 modprobe wl
(没有错误)
一切都没有成功。有谁知道如何解决这个问题?我已经看到一些旧的线程记录了类似的问题,但没有一个接受的解决方案似乎适用于我的情况。
编辑1
经过更多搜索后,我发现我应该为我的卡加载的内核模块是 brcmfmac4356。
跑步:
modprobe -r brcmfmac
和
modprobe brcmfmac
不产生输出,但调用 lsmod 后 brcmfmac 无法显示。检查 dmesg 显示:
[ 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
我不知道该怎么做,但当我有时间更深入地挖掘时,我会提供进一步的更新。
编辑2和丑陋的修复
通过查找据称丢失的文件 brcm/brcmfmac4356-pcie.txt,我现在拥有了一个可用的无线接口这里,将其粘贴到 /lib/firmware/brcm/ 并运行:
modprobe brcmfmac
这感觉就像一个黑客,我想知道为什么 brcm/brcmfmac4356-pcie.txt 不存在。这是一个错误并且来源了错误的文件吗?
虽然我现在可以使用 WiFi 连接,但我非常想了解问题的根源。
编辑3
上述修复在重新启动后不会持续存在,并且需要我在无线接口变得可见之前执行 modprobe brcmfmac。
答案1
在更新 Fedora 27 并升级到 Fedora 29 后,我在 BCM43142 上遇到了类似的问题(您可以通过执行以下操作来确认您有这张卡:)。lspci | grep Network
问题出在 Linux 固件上。 20181008升级固件后,wifi就不能用了。以下是我恢复 wifi 的步骤:
sudo dnf downgrade linux-firmware
sudo dnf install broadcom-wl
- 添加
exclude=linux-firmware*
/etc/dnf/dnf.conf
- 重启
请注意,如果您只是安装 Broadcom-wl 而没有先降级固件,您的 wifi 连接仍然会出现。但是当您尝试连接时,即使没有任何问题,它也会继续询问您的密码。
答案2
当我将 Thinkpad X260 从 Fedora 26 升级到 27 时,我遇到了同样的问题(芯片组也是 BCM4356)。我解决了这个问题RH Bugzilla 的错误报告
- 我降级到 linux-firmware-20171009-78.gitbf04291.fc27
- 我之前已经采取了安装 Broadcom-wl 软件包的相同步骤。我在 /usr/lib/modprobe.d/broadcom-wl-blacklist.conf 文件中评论了 brcmfmac 模块,以便该模块在启动时自动加载。但我最终删除了 Broadcom-wl 软件包,因为不再需要它了。
下一个可选步骤是修复 Linux 固件版本,以避免在问题解决之前进行更新。
简单的步骤;-)
sudo dnf remove broadcom-wl
sudo dnf install linux-firmware-20171009-78.gitbf04291.fc27
并编辑 /etc/dnf/dnf.com 添加下一行:
exclude=linux-firmware*
答案3
我在配备 BCM4356 的华为 Matebook 上的 Antergos/Arch 上遇到了同样的问题,
lspci | grep Network 01:00.0 Network controller: Broadcom Limited BCM4356 802.11ac Wireless Network Adapter (rev 02)
问题在内核更新几个月后开始出现,但我不确定是哪一个,但看起来与当时一致brcmfmac4356-pcie.bin最后更新(1841cec,2017 年 11 月 25 日)
将您提供的 brcmfmac4356-pcie.txt 复制到 /lib/firmware/brcm/ 重新启动后解决了我的问题。
答案4
这个人使用他对 BCM4320 解决方案的评论让他的 BCM43142 正常工作。
希望您的 BCM4356 也能正常工作。