我最近買了一臺聯想500-15ACZ筆記本,並在其上安裝了Ubuntu 16.04。安裝後,我發現我無法連接到Wifi。當我搜索這個問題時,這似乎是Broadcom無線網卡的常見問題。我在askubuntu上找到this question,並按照路易斯阿爾瓦拉多的回答的步驟。
命令lspci -nn -d 14e4:
告訴我,我的設備的pci.id是14e4:43ae rev 02
,這在Linux中還不支持。
然而,在GIT中,試圖通過反向移植來解決這個腳本(link to project):Broadcom 14e4的Backport安裝腳本:43ae wifi控制器故障
#!/bin/bash cd /tmp git clone https://github.com/kvalo/ath10k-firmware.git cd ath10k-firmware/QCA9377/hw1.0 sudo mkdir -p /lib/firmware/ath10k/QCA9377/hw1.0 sudo cp board.bin /lib/firmware/ath10k/QCA9377/hw1.0 sudo cp firmware-5.bin_WLAN.TF.1.0-00267-1 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin sudo modprobe -r ath10k_pci cd /tmp wget https://www.kernel.org/pub/linux/kernel/projects/backports/2015/11/20/backports-20151120.tar.gz tar -xf backports-20151120.tar.gz cd backports-20151120 make defconfig-ath10k make sudo make install
但是,當我試圖運行此,make
引發了以下錯誤:
Building backport-include/backport/autoconf.h ... done. CC [M] /tmp/backports-20151120/compat/main.o In file included from /tmp/backports-20151120/backport-include/backport/backport.h:7:0, from :0: ./include/asm-generic/qrwlock.h: In function ‘__qrwlock_write_byte’: /tmp/backports-20151120/backport-include/linux/kconfig.h:25:28: error: implicit declaration of function ‘config_enabled’ [-Werror=implicit-function-declaration] #define IS_BUILTIN(option) config_enabled(option) ^ ./include/asm-generic/qrwlock.h:156:26: note: in expansion of macro ‘IS_BUILTIN’ return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ ./include/asm-generic/qrwlock.h:156:37: error: ‘CONFIG_CPU_BIG_ENDIAN’ undeclared (first use in this function) return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ /tmp/backports-20151120/backport-include/linux/kconfig.h:25:43: note: in definition of macro ‘IS_BUILTIN’ #define IS_BUILTIN(option) config_enabled(option) ^ ./include/asm-generic/qrwlock.h:156:37: note: each undeclared identifier is reported only once for each function it appears in return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ /tmp/backports-20151120/backport-include/linux/kconfig.h:25:43: note: in definition of macro ‘IS_BUILTIN’ #define IS_BUILTIN(option) config_enabled(option) ^ cc1: some warnings being treated as errors scripts/Makefile.build:294: recipe for target '/tmp/backports-20151120/compat/main.o' failed make[6]: *** [/tmp/backports-20151120/compat/main.o] Error 1 scripts/Makefile.build:567: recipe for target '/tmp/backports-20151120/compat' failed make[5]: *** [/tmp/backports-20151120/compat] Error 2 Makefile:1524: recipe for target '_module_/tmp/backports-20151120' failed make[4]: *** [_module_/tmp/backports-20151120] Error 2 Makefile.build:6: recipe for target 'modules' failed make[3]: *** [modules] Error 2 Makefile.real:88: recipe for target 'modules' failed make[2]: *** [modules] Error 2 Makefile:40: recipe for target 'modules' failed make[1]: *** [modules] Error 2 Makefile:30: recipe for target 'default' failed make: *** [default] Error 2 CC [M] /tmp/backports-20151120/compat/main.o In file included from /tmp/backports-20151120/backport-include/backport/backport.h:7:0, from :0: ./include/asm-generic/qrwlock.h: In function ‘__qrwlock_write_byte’: /tmp/backports-20151120/backport-include/linux/kconfig.h:25:28: error: implicit declaration of function ‘config_enabled’ [-Werror=implicit-function-declaration] #define IS_BUILTIN(option) config_enabled(option) ^ ./include/asm-generic/qrwlock.h:156:26: note: in expansion of macro ‘IS_BUILTIN’ return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ ./include/asm-generic/qrwlock.h:156:37: error: ‘CONFIG_CPU_BIG_ENDIAN’ undeclared (first use in this function) return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ /tmp/backports-20151120/backport-include/linux/kconfig.h:25:43: note: in definition of macro ‘IS_BUILTIN’ #define IS_BUILTIN(option) config_enabled(option) ^ ./include/asm-generic/qrwlock.h:156:37: note: each undeclared identifier is reported only once for each function it appears in return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); ^ /tmp/backports-20151120/backport-include/linux/kconfig.h:25:43: note: in definition of macro ‘IS_BUILTIN’ #define IS_BUILTIN(option) config_enabled(option) ^ cc1: some warnings being treated as errors scripts/Makefile.build:294: recipe for target '/tmp/backports-20151120/compat/main.o' failed make[5]: *** [/tmp/backports-20151120/compat/main.o] Error 1 scripts/Makefile.build:567: recipe for target '/tmp/backports-20151120/compat' failed make[4]: *** [/tmp/backports-20151120/compat] Error 2 Makefile:1524: recipe for target '_module_/tmp/backports-20151120' failed make[3]: *** [_module_/tmp/backports-20151120] Error 2 Makefile.build:6: recipe for target 'modules' failed make[2]: *** [modules] Error 2 Makefile.real:88: recipe for target 'modules' failed make[1]: *** [modules] Error 2 Makefile:40: recipe for target 'install' failed make: *** [install] Error 2
**Does anyone know how to fix this?**
Please let me know if you need any other info.
Thanks in advance!
更新: 我安裝了broadcom- sta-dkms包如你所建議的。不幸的是,你是對的。這沒有奏效。
當我試圖WL驅動,dmesg | grep -i wl
回到
[但是,我怕我不知道這意味着什麼。對於其他車手,dmesg什麼也沒有返回。12.459884] wl: loading out-of-tree module taints kernel. [ 12.459890] wl: module license 'MIXED/Proprietary' taints kernel. [ 12.468203] wl: module verification failed: signature and/or required key missing - tainting kernel [ 12.487603] wl driver 6.30.223.271 (r587334) failed with code 1001 [ 12.487606] ERROR @wl_cfg80211_detach : [ 12.487607] NULL ndev->ieee80211ptr, unable to deref wl
感謝詳細的解答!我目前正在工作,但當我回家時我會嘗試你的建議。至於劇本,我試圖用這個,因爲這個項目的描述說:「_A很小的腳本,應使件14e4:在Linux上43ae博通的Wi-Fi芯片組,我已經使用這個對我的聯想IdeaPad 500S在的Wi- Fi在Linux上無法使用。「 – deadpool
不客氣。是的,我還在Github上看到過這樣的腳本,他們提到了Broadcom,但實際上下載了QCA軟件包。這太奇怪了!我無法得到它。另外,請注意,由於我在原始版本中犯了一些錯誤,因此我做了一些編輯。也就是說,我不小心混淆了'wl'和'brcm80211'驅動程序 - 它們不一樣。用兩個詞來說,在內核中可以使用'b43'(遺留,反向工程)和'brcm80211'(Broadcom的**開源**驅動程序)。 –
'wl'是Broadcom的另一個驅動程序 - 一個官方授權的驅動程序,它是單獨發行的(Ubuntu的'broadcom-sta-dkms'軟件包)。所以,現在我澄清了區別。有關更多信息,請參閱我的更新答案。 –