greearb / ath10k-ct

Stand-alone ath10k driver based on Candela Technologies Linux kernel.
111 stars 41 forks source link

Netgear R7800 (qca9984) 5 GHz dies at random, even with active connections! #202

Open ringtailedfox opened 2 years ago

ringtailedfox commented 2 years ago

Please provide this info. See this link for more info on how to gather debug info: http://www.candelatech.com/ath10k-bugs.php

Description of the problem (how to configure, how to reproduce, how often it happens). After upgrading to OpenWRT version 21.02.1 from 21.02, I've noticed that my 5GHz wifi just randomly dies and requires the wifi daemon to be restarted to restore connections, which last anywhere from a few hours to just a few minutes before dying again. I've reported this on the OpenWRT wiki page regarding the hardware: https://openwrt.org/toh/netgear/r7800#Notes

The issue is that it states it disassociates due to lack of acknowledgment, even if there's an active connection, such as my laptop watching a video on YouTube or my smart TV playing a film from Netflix. This became highly annoying to the point where I had to swap out the Candela Technologies firmware for the "standard" vanilla one from OpenWRT. I was told in #openwrt on IRC.libera.chat that this is a known bug and that Candela Technologies was working on a fix, but I have not been able to find any bug reports on this matter aside from the one I made to the OpenWRT wiki.

Software (OS, Firmware version, kernel, driver, etc) OS: OpenWRT OpenWrt 21.02.1 r16325-88151b8303 / LuCI openwrt-21.02 branch git-22.052.50801-31a27f3, kernel driver:

ath10k-firmware-qca9984-ct version 2020-11-08-1

Hardware (NIC chipset, platform, etc) Netgear Nighthawk X4S R7800 with chipset IPQ8065). Wireless NIC is Qualcomm Atheros QCA9984, the platform is ARM

Logs (dmesg, maybe supplicant and/or hostap) Logs from logread are visible at https://pastebin.com/aJau5XS0 and copied below:

Tue Dec 21 14:29:23 2021 daemon.info hostapd: wlan1: STA 4e:9b:d2:f6:32:0f IEEE 802.11: authenticated Tue Dec 21 14:29:23 2021 daemon.info hostapd: wlan1: STA 4e:9b:d2:f6:32:0f IEEE 802.11: associated (aid 6) Tue Dec 21 14:29:23 2021 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 4e:9b:d2:f6:32:0f Tue Dec 21 14:29:23 2021 daemon.info hostapd: wlan1: STA 4e:9b:d2:f6:32:0f RADIUS: starting accounting session A40411EF2AA3B2CC Tue Dec 21 14:29:23 2021 daemon.info hostapd: wlan1: STA 4e:9b:d2:f6:32:0f WPA: pairwise key handshake completed (RSN) Tue Dec 21 14:29:23 2021 daemon.info dnsmasq-dhcp[21739]: DHCPREQUEST(br-lan) 192.168.0.142 4e:9b:d2:f6:32:0f Tue Dec 21 14:29:23 2021 daemon.info dnsmasq-dhcp[21739]: DHCPACK(br-lan) 192.168.0.142 4e:9b:d2:f6:32:0f Tue Dec 21 14:29:33 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:29:33 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 691/0 in 60 seconds Tue Dec 21 14:29:44 2021 daemon.notice miniupnpd[6001]: remove port mapping 10753 TCP because it has expired Tue Dec 21 14:30:34 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:30:34 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 692/0 in 60 seconds Tue Dec 21 14:31:34 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:31:34 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 693/0 in 60 seconds Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPDISCOVER(br-lan) 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPOFFER(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPDISCOVER(br-lan) 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPOFFER(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPDISCOVER(br-lan) 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPOFFER(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPDISCOVER(br-lan) 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPOFFER(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPDISCOVER(br-lan) 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPOFFER(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPREQUEST(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Tue Dec 21 14:32:17 2021 daemon.info dnsmasq-dhcp[21739]: DHCPACK(br-lan) 192.168.0.248 98:06:3c:80:c0:72 Samsung Tue Dec 21 14:32:34 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:32:34 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 694/0 in 60 seconds Tue Dec 21 14:32:39 2021 daemon.notice miniupnpd[6001]: http://192.168.1.1:5000/rootDesc.xml not found, responding ERROR 404 Tue Dec 21 14:32:39 2021 daemon.notice miniupnpd[6001]: http://192.168.1.1:5000/rootDesc.xml not found, responding ERROR 404 Tue Dec 21 14:33:20 2021 daemon.info hostapd: wlan1: STA 26:e1:9d:8d:0f:c2 IEEE 802.11: authenticated Tue Dec 21 14:33:20 2021 daemon.info hostapd: wlan1: STA 26:e1:9d:8d:0f:c2 IEEE 802.11: associated (aid 7) Tue Dec 21 14:33:20 2021 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 26:e1:9d:8d:0f:c2 Tue Dec 21 14:33:20 2021 daemon.info hostapd: wlan1: STA 26:e1:9d:8d:0f:c2 RADIUS: starting accounting session 98B286AACEFD107B Tue Dec 21 14:33:20 2021 daemon.info hostapd: wlan1: STA 26:e1:9d:8d:0f:c2 WPA: pairwise key handshake completed (RSN) Tue Dec 21 14:33:20 2021 daemon.info dnsmasq-dhcp[21739]: DHCPREQUEST(br-lan) 192.168.0.244 26:e1:9d:8d:0f:c2 Tue Dec 21 14:33:20 2021 daemon.info dnsmasq-dhcp[21739]: DHCPACK(br-lan) 192.168.0.244 26:e1:9d:8d:0f:c2 Tue Dec 21 14:33:34 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:33:34 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 695/0 in 60 seconds Tue Dec 21 14:33:57 2021 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED b6:78:35:82:2b:17 Tue Dec 21 14:33:57 2021 daemon.info hostapd: wlan0: STA b6:78:35:82:2b:17 IEEE 802.11: disassociated due to inactivity Tue Dec 21 14:33:58 2021 daemon.info hostapd: wlan0: STA b6:78:35:82:2b:17 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE) Tue Dec 21 14:34:32 2021 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 9c:b6:d0:0f:b6:2f Tue Dec 21 14:34:32 2021 daemon.info hostapd: wlan0: STA 9c:b6:d0:0f:b6:2f IEEE 802.11: disassociated due to inactivity Tue Dec 21 14:34:33 2021 daemon.info hostapd: wlan0: STA 9c:b6:d0:0f:b6:2f IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE) Tue Dec 21 14:34:35 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:34:35 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 696/0 in 60 seconds Tue Dec 21 14:34:47 2021 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 8c:ea:48:29:4b:c4 Tue Dec 21 14:34:47 2021 daemon.info hostapd: wlan0: STA 8c:ea:48:29:4b:c4 IEEE 802.11: disassociated due to inactivity Tue Dec 21 14:34:48 2021 daemon.info hostapd: wlan0: STA 8c:ea:48:29:4b:c4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE) Tue Dec 21 14:35:35 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:35:35 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 697/0 in 60 seconds Tue Dec 21 14:36:35 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:36:35 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 698/0 in 60 seconds Tue Dec 21 14:37:36 2021 user.err ddns-scripts[9259]: myddns_ipv6: GNU Wget Error: '4' Tue Dec 21 14:37:36 2021 user.warn ddns-scripts[9259]: myddns_ipv6: Transfer failed - retry 699/0 in 60 seconds

The remedy is to use ath10k-firmware-qca9984 instead of ath10k-firmware-qca9984-ct from Candela Technologies, but this breaks compatibility with older wifi hardware like PlayStation Portable video game consoles.

greearb commented 2 years ago

ath10k-ct firmware has not changed much in several years. This would need to be bisected to find what commit caused the problem in order for me to make any progress on it.