我尝试了所有已知的解决方案,但仍然不起作用。我在更新固件库后尝试了 brcm modprobe,并对 bcm43xx 进行了黑名单处理。有办法解决这个问题吗?
- - - -编辑 - - -
lspci -nn 命令不会执行任何操作 lspci 我还不能发布图片,但这是输出 lspci
lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
答案1
您必须将名为 brcmfmac43241b4-sdio.txt 的文件复制到 /lib/firmware/brcm,其中它附带名为 brcmfmac43241b4-sdio.bin 的驱动程序。
通常这是使用 nvram-tools 创建的,但它在 sony pro 13 上不起作用,我从网上复制了一个。你可以从网上下载一个
答案2
对于 Sony Vaio Pro Duo 13 可能已经在这个帖子中找到答案:http://iswwwup.com/t/6e143a545283/broadcom-ldquo-no-network-devices-available-rdquo-for-bcm43241-sdio-after-fresh.html
有两个链接指向两个不同的文件:
https://www.dropbox.com/s/8m9n4qolf76iz11/brcmfmac-sdio.zip
后者,该用户声称已经联系了博通的一名开发人员,并且这是开发人员提供的文件。
以下是该用户的引言
联系了 Broadcom 的一位开发人员后,他给我发了一封他和一位遇到同样问题但已成功解决该问题的用户之间的邮件。该用户通过发送另一个 nvram 和固件(一个 bin 和一个 txt)帮助我,它成功了。我认为这只是因为无线网卡对于当前内核来说太新了(作为 Linux 新手,如果我说错了,请纠正我)。
前brcmfmac-sdio.zip
:
dmesg:
[ 1.876661] brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 4324 rev 5 pmurev 17
[ 1.877893] usbcore: registered new interface driver brcmfmac
[ 1.888464] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.bin
[ 1.888486] brcmfmac_sdio mmc0:0001:1: firmware: failed to load brcm/brcmfmac43241b4-sdio.txt (-2)
[ 1.888550] brcmfmac_sdio mmc0:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.txt failed with error -2
[ 2.891252] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
后brcmfmac-sdio.zip
:
dmesg:
[ 1548.361470] usbcore: deregistering interface driver brcmfmac
[ 1553.562888] brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 4324 rev 5 pmurev 17
[ 1553.563246] usbcore: registered new interface driver brcmfmac
[ 1553.563343] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.bin
[ 1553.563352] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.txt
[ 1553.709778] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Jul 17 2013 07:36:07 version 6.10.197.71 (r412987) FWID 01-882d2634
[ 1553.723455] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code
[ 1553.764370] brcmfmac: brcmf_add_if: ERROR: netdev:wlan0 already exists
[ 1553.764376] brcmfmac: brcmf_add_if: ignore IF event
[ 1563.827235] brcmfmac: brcmf_escan_timeout: timer expired
我们可以看到,由于文件brcmfmac43241b4-sdio.txt
现在存在,所以它能够完成brcmfmac
模块的加载。但它不能完全工作。例如,您无法将无线接口设置为monitor mode
,也无法使用它iw
来扫描路由器。
root@chickenbutt:~# ifconfig wlan0 down
root@chickenbutt:~# iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Operation not supported.
root@chickenbutt:~# iwconfig wlan0
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
如果您尝试使用iw
扫描网络,则会发生以下情况:
root@chickenbutt:~# iw wlan0 scan
scan aborted!
答案3
我也遇到了同样的问题,添加brcmfmac43241b4-sdio.txt到
/lib/firmware/brcm/
没有解决我的问题。在我重新启动内核模块“brcmfmac”后,使用以下命令:
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
我的 wifi 连接上了,但是无法使用(它没有显示其范围内的所有 SSID)并尝试使用以下方式进行扫描:
sudo iw wlan0 scan
会中止。我解决这个问题的方法是更新到 4.1 内核。我创建了两个脚本来自动执行这两项任务
更新内核到4.1.sh
#!/bin/sh
mkdir ~/Downloads/kernel\ 4.1/
cd ~/Downloads/kernel\ 4.1/
sudo wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.1-unstable/linux-headers-4.1.1-040101-generic_4.1.1-040101.201507030635_amd64.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.1-unstable/linux-headers-4.1.1-040101_4.1.1-040101.201507030635_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.1-unstable/linux-image-4.1.1-040101-generic_4.1.1-040101.201507030635_amd64.deb
sudo dpkg -i linux-headers-4.1*.deb linux-image-4.1*.deb
修复WIFI文件
#!/bin/sh
echo "if it fails...try explicitly executing: bash fixWIFI.sh"
kernelVersion=$(uname -r)
kernelSubVersion=${kernelVersion:2:1}
kernelVersion=${kernelVersion:0:1}
if [ $kernelVersion -ge 4 ]; then
if [ $kernelSubVersion -ge 1 ]; then
cp /sys/firmware/efi/efivars/*nvram* brcmfmac43241b4-sdio.txt
echo "you need to edit brcmfmac43241b4-sdio.txt and remove all non-text parts"
read -p "press [ENTER] when done editing" temp
sudo mv brcmfmac43241b4-sdio.txt /lib/firmware/brcm/
echo restarting module...
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
echo "done, if it doesn't work right away try a reboot"
exit
fi
fi
echo " the kernel version is not high enough"
echo " try running ~/Documents/updateKernelTo4.1.sh"
echo " if the update breaks the desktop and it wont load execute: sudo apt-get --reinstall ubuntu-desktop"
答案4
以下步骤(基于 kwoby 的回答)对我有用:
- 从以下位置下载 brcmfmac43241b4-sdio.txthttps://github.com/jfwells/linux-asus-t100ta/blob/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt
- 将文件复制到/lib/firmware/brcm/
- 重启
- 检查接口。
这是我使用的命令:
wget https://github.com/jfwells/linux-asus-t100ta/raw/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt
sudo sudo cp brcmfmac43241b4-sdio.txt /lib/firmware/brcm/
sudo reboot
# <test after restart>
ifconfig