![Qualcomm Atheros QCA9377 无线无法在搭载 Ubuntu 18.04.5 LTS 的联想上运行](https://linux22.com/image/1020179/Qualcomm%20Atheros%20QCA9377%20%E6%97%A0%E7%BA%BF%E6%97%A0%E6%B3%95%E5%9C%A8%E6%90%AD%E8%BD%BD%20Ubuntu%2018.04.5%20LTS%20%E7%9A%84%E8%81%94%E6%83%B3%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
我确实运行了命令这和这帖子,但出现了 chili555 提到的以下错误,但我的信号仍然很弱。
尝试改变配置已启用到x2apic_enabled没有运气。
编辑:按照 chili555 的回答后,我运行了 -uname -r 命令并返回了此信息
4.15.0-118-通用
所以我下载了 v4.14-rc2/ 但出现了这个错误:
/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k/htt_rx.c:在函数“ath10k_htt_rx_alloc”中:/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k/htt_rx.c:510:2:错误:函数“setup_timer”的隐式声明;您的意思是“sk_stop_timer”吗?[-Werror=implicit-function-declaration] setup_timer(timer, ath10k_htt_rx_ring_refill_retry, (unsigned long)htt); ^~~~~~~~~~~ sk_stop_timer cc1:一些警告被视为错误 scripts/Makefile.build:330:目标“/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k/htt_rx.o”的配方失败 make[8]:*** [/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k/htt_rx.o] 错误 1 scripts/Makefile.build:604:目标“/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k”的配方失败 make[7]:*** [/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath/ath10k] 错误 2 scripts/Makefile.build:604: 目标 '/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath' 的配方失败 make[6]: *** [/home/yanes/backports-4.14-rc2-1/drivers/net/wireless/ath] 错误 2 scripts/Makefile.build:604: 目标 '/home/yanes/backports-4.14-rc2-1/drivers/net/wireless' 的配方失败 make[5]: *** [/home/yanes/backports-4.14-rc2-1/drivers/net/wireless] 错误 2 Makefile:1585: 目标 '模块/home/yanes/backports-4.14-rc2-1' 失败 make[4]: *** [模块/home/yanes/backports-4.14-rc2-1] 错误 2 Makefile.build:6: 目标“模块”的配方失败 make[3]: *** [模块] 错误 2 Makefile.real:88: 目标“模块”的配方失败 make2:*** [模块] 错误 2 Makefile:40:目标“模块”的配方无法制作1:*** [模块] 错误 2 Makefile:30:目标“默认”的配方失败 make:*** [默认] 错误 2
编辑 2:除非我关闭 Wi-Fi,否则我的笔记本电脑会死机,我尝试通过禁用 Wi-Fi 安装旧版本而不是新版本 (v4.1.1),但它返回我没有权限?这是输出。
制作2:execvp:./lxdialog/check-lxdialog.sh:权限被拒绝2:execvp:./lxdialog/check-lxdialog.sh:权限被拒绝2:'conf' 是最新的。make1:execvp:./kconf/conf:权限被拒绝 Makefile.real:41:目标“defconfig-ath10k”的配方失败1:*** [defconfig-ath10k] 错误 127 Makefile:40:目标“defconfig-ath10k”的配方失败 make:*** [defconfig-ath10k] 错误 2
答案1
2015 年的反向移植文件不太可能在更现代的内核版本中成功编译。请注意您给出的链接中的答案,部分内容如下:
在执行 wget 命令之前,请检查您的 Linux 内核版本。
$ uname -r
然后转到https://mirrors.edge.kernel.org/pub/linux/kernel/projects/backports/stable/ 并检查那里是否有最接近的内核版本,然后使用以下命令下载 backports tar 文件。
例如,如果 uname -r 返回 5.4.0-48-generic,则选择最接近的反向移植版本。在这种情况下,选择https://mirrors.edge.kernel.org/pub/linux/kernel/projects/backports/stable/v5.4.56/backports-5.4.56-1.tar.gz
它在我的 5.4.0-48 机器上编译时没有错误。
答案2
第一种方法:
sudo apt update && sudo apt upgrade
sudo apt install --reinstall linux-firmware
第二种方法
(此方法解决了我的问题)
sudo apt remove broadcom-sta-dkms bcmwl-kernel-source
sudo apt install firmware-b43-installer
第三种方法:
sudo apt update && sudo apt upgrade
sudo apt install fwupd
sudo fwupdmgr refresh && sudo fwupdmgr update
sudo reboot
第四种方法:
经过几天的测试,我觉得这似乎是固件问题。我测试了所有可用的固件https://github.com/kvalo/ath10k-firmware/tree/master/QCA9377/hw1.0
,发现所有三个 API6 文件(即 firmware-6.bin_*)都出现了同样的问题。
最新的(就发布日期而言)API5 文件 firmware-5.bin_WLAN.TF.1.0-00023-QCATFSWPZ-1 似乎运行得更好,但几个小时后我仍然遇到了这个问题。
最终,文件 firmware-5.bin_CNSS.TF.1.0-00267-QCATFSWPZ-1 在我的 Lenovo Ideapad 320 上似乎是最稳定的:
网络控制器:Qualcomm Atheros QCA9377 802.11ac 无线网络适配器(修订版 31)
因此,请尝试重命名现有的 firmware-5.bin 和 firmware-6.bin 文件,/lib/firmware/ath10k/QCA9377/hw1.0/
并使用我提到的固件版本。换句话说...
cd /lib/firmware/ath10k/QCA9377/hw1.0/
sudo mv firmware-5.bin firmware-5.bin.orig
sudo mv firmware-6.bin firmware-6.bin.orig
sudo wget "https://github.com/kvalo/ath10k-firmware/blob/master/QCA9377/hw1.0/CNSS.TF.1.0/firmware-5.bin_CNSS.TF.1.0-00267-QCATFSWPZ-1?raw=true" -O firmware-5.bin
现在加载新固件并仔细检查
sudo modprobe -r ath10k_pci
sudo modprobe ath10k_pci
sudo dmesg | grep ath10k
输出:
ath10k_pci 0000:01:00.0: firmware: direct-loading firmware ath10k/QCA9377/hw1.0/firmware-5.bin
ath10k_pci 0000:01:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 17aa:0901
ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
ath10k_pci 0000:01:00.0: firmware ver CNSS.TF.1.0-00267-QCATFSWPZ-1 api 5 features ignore-otp crc32 d6b81b3c
ath10k_pci 0000:01:00.0: firmware: direct-loading firmware ath10k/QCA9377/hw1.0/board-2.bin
ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 8aedfa4a
ath10k_pci 0000:01:00.0: unsupported HTC service id: 1536
ath10k_pci 0000:01:00.0: htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
确保固件版本旁边的版本 ID 匹配。
我希望这个技巧也能为您解决这个恼人的问题;)