我目前正在使用 Ubuntu 18.04,但我的无线连接时不时会停止工作。有时它一整天都正常工作。然而,其他时候它只是不断断开连接,所以我每次都必须手动重新连接。
有时它会完全停止工作,甚至无法识别 wifi 卡。我让它恢复工作的唯一方法是重新启动。
$ lspci -nnk | grep 0280 -A3
03:00.0 Network controller [0280]: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter [168c:0042] (rev 31)
Subsystem: Lite-On Communications Inc QCA9377 802.11ac Wireless Network Adapter [11ad:08a6]
Kernel driver in use: ath10k_pci
Kernel modules: ath10k_pci
有什么方法可以解决这个问题吗?我需要安装其他驱动程序或替换一些驱动程序吗?
答案1
我能够通过进入路由器设置并将带宽从 20/40 更改为 20 来解决不稳定的问题,考虑到我的路由器仅支持 2.4GHz,如果您的路由器是 5ghz,我认为最好设置为 40 而不是 20。
我仍在寻找无法识别 wifi 卡的问题的解决方案,但目前我只能通过重新启动来解决。
祝你好运!
答案2
在基于 Ubuntu 20.04.2(内核版本为 5.11.0-25-generic)的 elementary OS 6 上,以下操作对我有用:
sudo mv /lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin /lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin.old
基于这个答案。如果它不适合您,您可以通过重命名firmware-6.bin.old
回 来撤消更改firmware-6.bin
。
答案3
第一种方法:
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 匹配。
我希望这个技巧也能为您解决这个恼人的问题;)