我有一台配备 Broadcom 无线适配器(BCM43455)的笔记本电脑,我想用 Ubuntu 和 Windows 双启动,但是,虽然它在 Windows 上没有问题,但无论我运行 liveCD 还是安装它,Ubuntu 都拒绝识别我的 Wifi 适配器。
我已经尝试过lspci -vnn
,lshw
并且lsusb
(只是为了安全起见),全部以 root 身份进行,但它们都没有显示任何与网络相关的内容。
Ubuntu 也没有显示任何可以安装的附加(专有)驱动程序,尽管有一个关于 Broadcom 适配器无法正常工作的问题这里,所有答案都假设您可以看到列出的设备lshw
,lspci
但就是无法使用它。
我能做什么呢?
dmesg | grep -i sdio
编辑:根据要求,以下是的输出:
[ 25.471246] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[ 26.497372] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 27.503492] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
答案1
问题是它找不到您的brcm/brcmfmac43455-sdio.txt
文件。对我来说,这个问题发生在 CSL Narrow Box 4k 上。我尝试了很多在网上找到的解决方案,但以下方法最终奏效了:
- 下载文本文件。
- 将其复制到您的设备
/lib/firmware/brcm/
文件夹中。 - 重启。
现在系统应该能够找到丢失的文件并且 WiFi 应该可以正常工作。
笔记:我只使用由isorespin.sh
脚本. 上述步骤可能或者不得处理未修补的图像。
编辑isorespin.sh
:我的一位同事已经在常规 Ubuntu MATE 映像上测试过它,它可以工作。所以根本不需要使用它!
答案2
这是 SDIO 设备,不是 PCIe。缺少的 NVRAM 定义文件与主板有关。您可以看到内核固件包括一些主板的此文件。另请注意,BCM43455 是 BCM4345 的较新版本,有时称为 AP6255;我碰巧拥有旧版本,并受 brcmfmac 驱动程序支持。
在运行 Windows 10 的 Wintel MiniPC(AMI、T3 MRD、Atom x5-Z8350)上,该文件位于 C:\Windows\System32\drivers\4345r6nvram.txt,可以将其复制到 Linux,然后执行以下操作:
sudo cp 4345r6nvram.txt /lib/firmware/brcm/
cd /lib/firmware/brcm/
ln -s 4345r6nvram.txt brcmfmac43455-sdio.txt
sudo modprobe -r brcmfmac
sudo modprobe brcmfmac