Qualcomm Atheros QCA9377 定期断开连接

Qualcomm Atheros QCA9377 定期断开连接

我目前正在使用 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 匹配。

我希望这个技巧也能为您解决这个恼人的问题;)

相关内容