固件崩溃 qca6174 hw2.1

固件崩溃 qca6174 hw2.1

每次我的笔记本电脑进入睡眠状态(电池电量低)时,无线适配器就会崩溃。这会导致系统完全无法使用。我无法删除驱动程序、终止它或重新启动 NetworkManager。我也无法重新启动。

[40164.539367] wlp7s0: deauthenticating from 1a:5b:0e:ed:a3:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[40164.790817] ath10k_pci 0000:07:00.0: firmware crashed! (uuid a6543dc3-4488-4dd3-8907-d3d69f6810ab)
[40164.790837] ath10k_pci 0000:07:00.0: qca6174 hw2.1 target 0x05010000 chip_id 0x003405ff sub 105b:e08e
[40164.790844] ath10k_pci 0000:07:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[40164.792107] ath10k_pci 0000:07:00.0: firmware ver SW_RM.1.1.1-00157-QCARMSWPZ-1 api 5 features ignore-otp,no-4addr-pad crc32 10bf8e08
[40164.792763] ath10k_pci 0000:07:00.0: board_file api 2 bmi_id N/A crc32 ae2e275a
[40164.792771] ath10k_pci 0000:07:00.0: htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
...a very long stacktrace below...


denis:~ $ ps ax | grep ath10
  783 ?        S<     0:00 [ath10k_wq]
  784 ?        S<     0:00 [ath10k_aux_wq]
23090 pts/2    D+     0:00 sudo modprobe -r ath10k_pci
23381 ?        D      0:00 sudo rmmod ath10k_pci
23564 ?        D      0:00 sudo pkill ath10k_pci
23951 pts/3    S+     0:00 grep --color=auto ath10


/lib/firmware/ath10k/QCA6174 $ ls
hw2.1  hw3.0
/lib/firmware/ath10k/QCA6174/hw2.1 $ sha256sum firmware-5.bin 
cc77874b709e26ffcc1cd548a4813e4be8cd523329c1b3ba34e341417d2935c5  firmware-5.bin

/lib/firmware/ath10k/QCA6174/hw2.1 $ uname -a
Linux denis-Aspire-VN7-791G 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 $ lshw -c network
WARNING: you should run this program as super-user.
  *-network               
       description: Wireless interface
       product: QCA6174 802.11ac Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:07:00.0
       logical name: wlp7s0
       version: 20
       serial: ac:d1:b8:4e:2d:05
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath10k_pci driverversion=4.10.0-38-generic firmware=SW_RM.1.1.1-00157-QCARMSWPZ-1 ip=192.168.43.156 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:36 memory:d1400000-d15fffff

$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 2

$ iwconfig
docker0   no wireless extensions.

wlp7s0    IEEE 802.11  ESSID:"Honor 10"  
          Mode:Managed  Frequency:5.24 GHz  Access Point: A4:93:3F:99:75:94   
          Bit Rate=6 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=65/70  Signal level=-45 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:68   Missed beacon:0

enp8s0    no wireless extensions.

lo        no wireless extensions.

我需要找到一种方法来修复它,要么使用新驱动程序,要么修补现有驱动程序。有什么建议吗?也许一个简单的解决方法?

答案1

就我的情况而言(Ubuntu 18.04.3,qca6174 hw2.1 固件),内核 4.15 无法解决问题,内核 5 也无法解决问题。

经过两天的折腾,我终于能够使用较旧的固件 qca6174 版本解决问题。

我无法在自动挂起之前卸载 ath10k_pci 模块,无论是通过 systemd 单元还是使用 /lib/systemd/system/system-sleep 中的脚本都无法卸载。安装最新的 qca6174 表单软件也无济于事。

有帮助的是 2016 年的旧固件版本!现在我安装了 qca6174 hw2.1 版本 141,尽管我的笔记本运行的是内核 5 的 18.04.3。

我从这里得到了这个提示:https://askubuntu.com/a/978385/1004167所以我从那里获得了固件:https://launchpad.net/ubuntu/xenial/amd64/linux-firmware/1.157并将 ath10k_pci/QCA6174/hw2.1 文件(我的卡正在使用)复制到我的 /lib/firmware/ath10k/QCA6174/hw2.1 文件夹中。

重新启动后,我不需要先卸载驱动程序再挂起(删除了我的脚本)。

对我来说,现在进入睡眠和恢复功能已经可以正常工作,就像从 16.04 升级之前一样。我现在唯一需要了解的是,如何防止复制的文件被升级覆盖。

相关内容