Archer C7 2.4 GHz wireless dies in 24~48 hours

I can confirm these 2 txq setting makes a difference to wireless dying.
I dont know the optimum value or understand how the algorithm works, but these 2 setting makes a big difference. At least this pinpoints where the problem is and a developer can do further investigation

iw phy <PHY> set txq memory_limit 8388608
iw phy <PHY> set txq limit 16384
1 Like

My question would be - is this actually a "fix" that provides for some sort of needed "ceiling" memory usage? Or is this only pacifying some sort of a memory leak, such that it will only prolong the inevitable?

Good question, I cannot be sure. I ran iperf over 3hrs which would have cause it to die, but it did not. I checked dmesg/logread and cannot see oom or kernel panics. I guess if you are on a 32M device it would oom.

If more people can test the settings then we have more information

1 Like

Very interesting, I probably will give this a try shortly... C7V3 here.

Currently, am taking the (embarrassing to me) 'kick out the plug on the 2.4ghz radio every night" cron task approach.

I'm wondering about my large number of overflows, and what that may mean. Even on the 5ghz, I seem to have a lot. Below is current, on a 13 day uptime.

5ghz radio
root@AP:~# iw phy phy0 get txq
Packet limit:           8192 pkts
Memory limit:           16777216 bytes
Quantum:                300 bytes
Number of queues:       4096
Backlog:                0 pkts
Memory usage:           0 bytes
Packet limit overflows: 652176
Memory limit overflows: 652176
Hash collisions:        11857

2.4ghz radio
root@AP:~# iw phy phy1 get txq
Packet limit:           8192 pkts
Memory limit:           4194304 bytes
Quantum:                300 bytes
Number of queues:       4096
Backlog:                0 pkts
Memory usage:           0 bytes
Packet limit overflows: 2103
Memory limit overflows: 2103
Hash collisions:        3840

Kinda makes me wonder why I'm not noticing 5ghz problems? Also, have only been watching this since reading the article 30min ago, but only thing changing has been the 2.4ghz hash collision number, up 4. No overflow number change. Anyone have ideas where to read up on what these are telling us?

Will be following this and giving it a try...

EDIT: The more I look at these numbers, the more I think I don't understand what they are. Packet and Memory limit overflows don't change often, but then seem to do so in some kind of rare event. I have run both radios with multiple bufferbloat tests, without seeing those two overflows happen. I have only seen occasional and few hash collision counts with and without bufferbloat testing.

Also I'm having problems digging up info on what they indicate. Anyone having better luck?

1 Like

Did abit more testing and investigation.

https://www.mail-archive.com/search?l=cake@lists.bufferbloat.net&q=subject:"Re\%3A+\[Cake\]+\[Battlemesh\]+Wifi+Memory+limits+in+small+platforms"&o=newest&f=1

The memory limit needs to do down. My setting are

root@repeater:~# iw phy phy0 get txq
Packet limit:           8192 pkts
Memory limit:           2097152 bytes
Quantum:                300 bytes
Number of queues:       4096
Backlog:                0 pkts
Memory usage:           0 bytes
Packet limit overflows: 0
Memory limit overflows: 0
Hash collisions:        22

I did not read that whole conversation, but where did you get the idea of lowering the limit, other than Toke gave that as an example? Are you seeing better/different results in halving it, vs doubling it?

I'm on only10hrs after doubling it (8Mb memory limit on 2.4ghz)... will have to wait 3 days or more for the problem to occur, that was average instance time here in my home use environment.

Still wondering why my C7 has many overflow errors and hash collisions compared with pgn-1111... see my edit to earlier post.

1 Like

I'm curious about reported memory use, from a fellow C7 user... I haven't been able to reboot my router, people, uh, get cranky..

I see, in the klog during boot, we get some information. One is available memory, which I think was mentioned by Ben Greear as useful to see how close to the end you are getting when increasing number of stations (different topic). What do you get for the below lines, in your kernel log, after the memory increase?

[   15.766785] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   16.710836] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   16.727604] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
[   16.733935] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   16.742062] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 20984 iram: 25656'
[   16.791956] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1

I'm interested in the second to the last line, that is indicating memory... and for that other topic the second from the first, for number of vdevs and peers as well. Might be instructive on where that goes with various amounts of allocated memory. Thanks!

On the GL ar300 there is 128M of memory. When I double it for AP/STA it never die but when I switch it to AP and ran the iperf, it die fairly quickly. When you read the link it mention about 3M is the limit for queue on Openwrt. So far my testing with 2M have been stable on AP/STA and also AP

Ehh... it says that 3M was the former max size limit, then it was changed and now 4M is the default. Like we see with the iw phy command.

I don't see it said that 2M is anything other than an example of how to change it. The overall conversation seems to be about devices with low RAM, like 32M routers.

I don't know how much this effects our 128M devices. I wish I knew more. Does it depend on how many stations are configured? How much difference in that, between your router and a C7? Again, anyone know of some reference sources? I don't have the means at the moment to set up a decent test set myself, or I would go deeper with this.

>>
>> So before the queueing patches to mac80211, the maximum packet queue
>> size for ath9k was 3MB in total, or 2.2MB if only a single AC was used
>> on the WiFi link (that's 128 packets in the driver + 1000 in the
>> pfifo_fast qdisc * 2074 bytes for the truesize of a full-size packet).
>> Whereas now the default is 4MB for a non-vht device. So it's not
>> actually that big of a difference, and as you've already discovered the
>> defaults can be changed.
>>

Also, seems that the mailing list site is not responding, so I can't search back for the whole conversation....

No luck here :frowning: I've tried with 8M, it freezes after 30min. With 2M its works for a few hours, but then freezes again. I ran the tests with IPerf and transfering 4GB files from one computer to another.

I had to put my C7 aside for testing proposes only and get a small router to everday use, that is up and running very well. I can't use my C7 2.4Ghz.

root@OpenWrt:~# iw phy phy1 get txq
Packet limit:		8192 pkts
Memory limit:		2097152 bytes
Quantum:		300 bytes
Number of queues:	4096
Backlog:		51 pkts
Memory usage:		125440 bytes
Packet limit overflows:	0
Memory limit overflows:	0
Hash collisions:	109996

I've meanwhilst replaced all my Archer C7 v2 by v5 hardware. So far I feel my mesh and APs are more reliable.

A few months ago I gave up, disabled the Archer's radios, bought a relatively inexpensive TP-Link EAP225 for wifi, and it's been running flawlessly.

I have briefly talked with someone "in the know", perhaps he'll comment here soon.

FWIW, with a cron job bringing the wifi interface down and up at 4AM, I haven't seen the problem in normal home use, for a long time now. That's not exactly solving the issue, of course.

This is so annoying... this particular bug has been around, in a well settled part of the system, on the formerly favorite hardware for OpenWrt, for years now with no resolution.

Many seem to not know/remember that back when in the 16.x.x.x and partly into 17.x.x.x era, C7's were rock stable, and my uptimes were determined by power failure or the next release coming out. Solid 2.4ghz/ath9k performance. Bug reports had been filed, somehow it slipped thru the cracks.

Sad, because, on one hand, they were highly rated in their day, as great radio performers. So they make a good AP choice, if you go that way. On the other hand, running OpenWrt, they have the Make-Wifi-Fast project improvements, for airtime queue management, to take bufferbloat out of wifi, and the 2.4ghz/ath9k radio does very well at this. (when it works)

I'd been thinking of the EAP225/245, honestly. Didn't want to buy hardware when I have a few C7's already, but... And now, I think they have easy OpenWrt support now, and are ath type radios, so one could get OpenWrt on them and enjoy the Make-Wifi-Fast project improvements.

2 Likes

This is really very sad, in my case even rebooting every night doesnt work because heavy traffic during work time and at night watching streaming movies make the WIFI stop after few hours.

But you gave me a idea, I'll try installing 17x to see if it works....final hope....

BTW anyone can explain me what is the hash collisions in iw phy phy1 get txq ? It seens to grow a lot when transfering large files:

root@OpenWrt:~# iw phy phy1 get txq
Packet limit:		8192 pkts
Memory limit:		2000000 bytes
Quantum:		300 bytes
Number of queues:	4096
Backlog:		34 pkts
Memory usage:		83776 bytes
Packet limit overflows:	0
Memory limit overflows:	0
Hash collisions:	**467654**

1 Like

Unless someone authoritative can better speak to this, I'd assume this may very well be an unsolvable problem - shy of potentially replacing whatever binary blob drivers may be in-use here with newer open-source alternatives - and then, only if the hardware specs allow.

There seems to be a lot of overlap with this issue and https://github.com/raspberrypi/linux/issues/3010 , for example. What I think are some of the most relevant comments from there:

pelwell commented on Dec 19, 2020
I think there is no possibility of a "fix" - every change to the firmware (vulnerability patch, etc.) takes up more of the limited RAM, resulting in less space to host AP clients. If you really care about AP clients then you'll have to either use an old firmware or buy a USB dongle (which might give you higher performance as well).

pelwell commented on Jan 2
The firmware files don't contain the whole image, but rather patches to the built-in ROM image. This means that every change takes up more of the limited patch RAM. The only way to get more free RAM, and hence more clients, is to revert to older firmware with more bugs and vulnerabilities.

Is this maybe not the same thing that is happening here? New, larger patches included with the later OpenWrt releases - leaving less RAM (on-chip? system?) available for continued, stable operation?

1 Like

I've meanwhilst replaced all my Archer C7 v2 by v5 hardware. So far I feel my mesh and APs are more reliable.

Hmmm... Looking at the Table o' Hardware, for the wifi chips:

V2: WLAN Hardware: Qualcomm Atheros QCA9558, Qualcomm Atheros QCA9880-BR4A
V5: WLAN Hardware: Qualcomm Atheros QCA9563, Qualcomm Atheros QCA9880

There is a difference in the base cpu/wifi chip, which contains the ath9k/2.4Ghz radio. ath10k/5Ghz is always an external card inside a C7. Would have to dig up the Qualcomm datasheet to see what the differences are, maybe nothing to maybe something.

I have a V3 I'm using at the moment. This is a US market one, not the Chinese only market one. TOH says it's exactly the same hardware wise, despite looking somewhat different inside. Though, the major difference is in 5ghz radio hardware. The internal chips could very well be the same. There's some glued on heatsinks that I didn't want to risk prying off, that arent on the V2, keeping me from being sure.

Catfriend, if your willing, would you snip out the relevant kernel log lines that give the CPU and wifi chip number and versions?

Edit, did find some info and at least the 9563 datasheet, no 9558 so far. Seems minor changes, actually a slight clock speed increase on the 9568 (talking 720 to 750mhz) haven't dug in for the radio yet.
Here's my identifying log entries:

[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer C7 v2
[    0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0

[   15.495532] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000

Also wonder what thes lines say, first and last,  these are mine before I changed memory:

[   29.868073] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   29.884882] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
[   29.891179] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   29.899346] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 20984 iram: 25656'

The last I'm wondering if there's a change in the ath10k memory pool if you change the ath9k setting, guessing not but might indicate off chip ram vs on chip ram.

Edit of the edit.. got a chance to reboot and check my home AP, the allocated memory of the ath10k chip does not change with the ath9 memory change. Not worried about the ath10k memory lines now.

1 Like

Hmm... maybe try an early one.. I forget where it seemed to start up.
I don't have a good understanding of the hash collisions, at the moment...

Well, I'd describe my current understanding as "poorly", but one of the reasons the advanced development was happening on the Atheros chips and a few others, was the smaller blob size had less features locked away so they could do more. But, poorly, as I said. I don't know how much or if ever the blob stuff changed, and much of the rest of the ath9k stuff hasn't changed for a long time. Other thing, it DID work stably, on OpenWrt, at an earlier time, then got unstable. The ath10k stuff is still being worked on, should be in a better place lately, they had a worse, larger "blob" problem and had to
work around more inacessable stuff. So I'd guess it's a bug outside of the blob and in OpenWrt code, unless they've been getting new manufacturer's blobs to update, over past years.

I've meanwhilst replaced all my Archer C7 v2 by v5 hardware. So far I feel my mesh and APs are more reliable.

Hmmm... Looking at the Table o' Hardware, for the wifi chips:

V2: WLAN Hardware: Qualcomm Atheros QCA9558, Qualcomm Atheros QCA9880-BR4A
V5: WLAN Hardware: Qualcomm Atheros QCA9563, Qualcomm Atheros QCA9880

There is a difference in the base cpu/wifi chip, which contains the ath9k/2.4Ghz radio. ath10k/5Ghz is always an external card inside a C7. Would have to dig up the Qualcomm datasheet to see what the differences are, maybe nothing to maybe something.

I have a V3 I'm using at the moment. This is a US market one, not the Chinese only market one. TOH says it's exactly the same hardware wise, despite looking somewhat different inside. Though, the major difference is in 5ghz radio hardware. The internal chips could very well be the same. There's some glued on heatsinks that I didn't want to risk prying off, that arent on the V2, keeping me from being sure.

Catfriend, if your willing, would you snip out the relevant kernel log lines that give the CPU and wifi chip number and versions?

1 Like

Archer C7v2:

[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer C7 v2
[    0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 122244K/131072K available (5227K kernel code, 187K rwdata, 684K rodata, 1188K init, 205K bss, 8828K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from 0x80657a28 with crng_init=0
[    0.000000] CPU clock: 720.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5309056796 ns
[    0.000007] sched_clock: 32 bits at 360MHz, resolution 2ns, wraps every 5965232126ns
[    0.008302] Calibrating delay loop... 359.42 BogoMIPS (lpj=718848)
[    0.042875] pid_max: default: 32768 minimum: 301
[    0.047922] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.055707] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.068014] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.078399] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.085731] pinctrl core: initialized pinctrl subsystem
[    0.093457] NET: Registered protocol family 16
[    0.120465] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.133842] clocksource: Switched to clocksource MIPS
[    0.140248] NET: Registered protocol family 2
[    0.145070] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.153430] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.162393] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.170567] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.178082] TCP: Hash tables configured (established 1024 bind 1024)
[    0.184956] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.191955] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.199659] NET: Registered protocol family 1
[    0.204346] PCI: CLS 0 bytes, default 32
[    0.211773] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.224606] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.230846] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.253005] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.264340] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.271060] gpio-export gpio-export: 2 gpio(s) exported
[    0.277393] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.286268] printk: console [ttyS0] disabled
[    0.290891] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 2500000) is a 16550A
[    0.300083] printk: console [ttyS0] enabled
[    0.308980] printk: bootconsole [early0] disabled
[    0.338287] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.343203] 3 fixed-partitions partitions found on MTD device spi0.0
[    0.349656] Creating 3 MTD partitions on "spi0.0":
[    0.354536] 0x000000000000-0x000000020000 : "u-boot"
[    0.360404] 0x000000020000-0x000000ff0000 : "firmware"
[    0.368113] 2 tplink-fw partitions found on MTD device firmware
[    0.374170] Creating 2 MTD partitions on "firmware":
[    0.379222] 0x000000000000-0x0000001f1b48 : "kernel"
[    0.385079] 0x0000001f1b48-0x000000fd0000 : "rootfs"
[    0.390875] mtd: device 3 (rootfs) set to be root filesystem
[    0.398227] 1 squashfs-split partitions found on MTD device rootfs
[    0.404555] 0x000000990000-0x000000fd0000 : "rootfs_data"
[    0.410844] 0x000000ff0000-0x000001000000 : "art"
[    0.418112] libphy: Fixed MDIO Bus: probed
[    0.755654] libphy: ag71xx_mdio: probed
[    0.762448] switch0: Atheros AR8327 rev. 4 switch registered on mdio.0
[    1.141837] random: fast init done
[    1.347197] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
[    1.358267] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[    1.679559] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.689223] eth1: Atheros AG71xx at 0xba000000, irq 5, mode: sgmii
[    1.695861] i2c /dev entries driver
[    1.701658] NET: Registered protocol family 10
[    1.711312] Segment Routing with IPv6
[    1.715190] NET: Registered protocol family 17
[    1.719780] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.732936] 8021q: 802.1Q VLAN Support v1.8
[    1.737999] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    1.744221]  MEM 0x0000000012000000..0x0000000013ffffff
[    1.749536]   IO 0x0000000000000001..0x0000000000000001
[    1.754989] PCI host bridge to bus 0000:00
[    1.759182] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.766166] pci_bus 0000:00: root bus resource [io  0x0001]
[    1.771823] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.778713] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.786781] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
[    1.792931] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.799872] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    1.806752] pci 0000:00:00.0: supports D1 D2
[    1.812146] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.818905] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    1.826354] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff pref]
[    1.835484] hctosys: unable to open rtc device (rtc0)
[    1.846404] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    1.857910] Freeing unused kernel memory: 1188K
[    1.862514] This architecture does not have kernel memory protection.
[    1.869049] Run /sbin/init as init process
[    2.532589] init: Console is alive
[    2.536310] init: - watchdog -
[    4.160610] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.353682] usbcore: registered new interface driver usbfs
[    4.359354] usbcore: registered new interface driver hub
[    4.364835] usbcore: registered new device driver usb
[    4.399111] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.412713] SCSI subsystem initialized
[    4.420743] ehci-fsl: Freescale EHCI Host controller driver
[    4.428152] ehci-platform: EHCI generic platform driver
[    4.433725] ehci-platform 1b000000.usb: EHCI Host Controller
[    4.439538] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    4.447590] ehci-platform 1b000000.usb: irq 14, io mem 0x1b000000
[    4.465854] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.472835] hub 1-0:1.0: USB hub found
[    4.477044] hub 1-0:1.0: 1 port detected
[    4.481605] ehci-platform 1b400000.usb: EHCI Host Controller
[    4.487428] ehci-platform 1b400000.usb: new USB bus registered, assigned bus number 2
[    4.495484] ehci-platform 1b400000.usb: irq 15, io mem 0x1b400000
[    4.513864] ehci-platform 1b400000.usb: USB 2.0 started, EHCI 1.00
[    4.520860] hub 2-0:1.0: USB hub found
[    4.525051] hub 2-0:1.0: 1 port detected
[    4.534717] usbcore: registered new interface driver usb-storage
[    4.541464] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.551394] init: - preinit -
[    5.739576] random: jshn: uninitialized urandom read (4 bytes read)
[    5.858309] random: jshn: uninitialized urandom read (4 bytes read)
[    6.007902] random: jshn: uninitialized urandom read (4 bytes read)
[    9.447552] mount_root: loading kmods from internal overlay
[    9.478902] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[    9.486807] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[   10.171945] jffs2: notice: (589) jffs2_build_xattr_subsystem: complete building xattr subsystem, 44 of xdatum (21 unchecked, 20 orphan) and 56 of xref (15 dead, 12 orphan) found.
[   10.188596] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[   10.200800] block: extroot: not configured
[   10.256753] jffs2: notice: (587) jffs2_build_xattr_subsystem: complete building xattr subsystem, 44 of xdatum (21 unchecked, 20 orphan) and 56 of xref (15 dead, 12 orphan) found.
[   10.274220] mount_root: loading kmods from internal overlay
[   10.305035] kmodloader: loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[   10.315354] kmodloader: done loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[   10.704170] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[   10.713986] block: extroot: not configured
[   10.719184] mount_root: switching to jffs2 overlay
[   10.727356] overlayfs: upper fs does not support tmpfile.
[   10.737344] urandom-seed: Seeding with /etc/urandom.seed
[   10.824563] procd: - early -
[   10.827628] procd: - watchdog -
[   11.449339] procd: - watchdog -
[   11.455568] procd: - ubus -
[   11.535073] urandom_read: 5 callbacks suppressed
[   11.535080] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.548196] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.563471] procd: - init -
[   12.504472] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.756760] Loading modules backported from Linux version v5.10.42-0-g65859eca4dff
[   12.764495] Backport generated by backports.git v5.10.42-1-0-gbee5c545
[   12.821760] xt_time: kernel timezone is -0000
[   12.833567] urngd: v1.0.2 started.
[   13.010403] PPP generic driver version 2.4.2
[   13.022635] NET: Registered protocol family 24
[   13.098501] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
[   13.105037] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   13.137624] random: crng init done
[   14.731744] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   14.741135] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   14.754208] ath10k_pci 0000:00:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
[   15.094672] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   16.243735] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[   16.357128] ath: EEPROM regdomain sanitized
[   16.357137] ath: EEPROM regdomain: 0x64
[   16.357141] ath: EEPROM indicates we should expect a direct regpair map
[   16.357159] ath: Country alpha2 being used: 00
[   16.357162] ath: Regpair used: 0x64
[   16.408283] batman_adv: B.A.T.M.A.N. advanced 2021.1-openwrt-2 (compatibility version 15) loaded
[   16.460408] ath: EEPROM regdomain sanitized
[   16.460418] ath: EEPROM regdomain: 0x64
[   16.460421] ath: EEPROM indicates we should expect a direct regpair map
[   16.460440] ath: Country alpha2 being used: 00
[   16.460443] ath: Regpair used: 0x64
[   16.477319] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   16.479113] ieee80211 phy1: Atheros AR9550 Rev:0 mem=0xb8100000, irq=12
[   16.526224] kmodloader: done loading kernel modules from /etc/modules.d/*
[   32.705011] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 1 is up
[   32.713066] eth0: link up (1000Mbps/Full duplex)

Archer C7v5:

[    0.000000] Linux version 5.4.124 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16172-2aba3e9784)) #0 Sun Jun 13 22:02:19 2021
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer C7 v5
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 122244K/131072K available (5227K kernel code, 187K rwdata, 684K rodata, 1188K init, 205K bss, 8828K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from 0x80657a28 with crng_init=0
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns
[    0.008227] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
[    0.046712] pid_max: default: 32768 minimum: 301
[    0.051715] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.059430] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.071736] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.082031] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.089309] pinctrl core: initialized pinctrl subsystem
[    0.097183] NET: Registered protocol family 16
[    0.124827] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.138389] clocksource: Switched to clocksource MIPS
[    0.144855] NET: Registered protocol family 2
[    0.149644] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.157974] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.166859] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.174957] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.182398] TCP: Hash tables configured (established 1024 bind 1024)
[    0.189220] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.196162] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.203827] NET: Registered protocol family 1
[    0.208480] PCI: CLS 0 bytes, default 32
[    0.216188] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.229172] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.235364] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.258369] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.269736] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.276335] gpio-export gpio-export: 1 gpio(s) exported
[    0.282699] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.291568] printk: console [ttyS0] disabled
[    0.296163] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.305268] printk: console [ttyS0] enabled
[    0.314333] printk: bootconsole [early0] disabled
[    0.342992] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.348021] 8 fixed-partitions partitions found on MTD device spi0.0
[    0.354593] Creating 8 MTD partitions on "spi0.0":
[    0.359563] 0x000000000000-0x000000020000 : "factory-uboot"
[    0.366206] 0x000000020000-0x000000040000 : "u-boot"
[    0.372182] 0x000000040000-0x000000050000 : "partition-table"
[    0.379026] 0x000000050000-0x000000060000 : "art"
[    0.384768] 0x000000060000-0x000000080000 : "info"
[    0.390665] 0x000000080000-0x0000000c0000 : "user-config"
[    0.397102] 0x0000000c0000-0x000000fc0000 : "firmware"
[    0.408496] 2 uimage-fw partitions found on MTD device firmware
[    0.414659] Creating 2 MTD partitions on "firmware":
[    0.419800] 0x000000000000-0x0000001f1988 : "kernel"
[    0.425739] 0x0000001f1988-0x000000f00000 : "rootfs"
[    0.431726] mtd: device 8 (rootfs) set to be root filesystem
[    0.439356] 1 squashfs-split partitions found on MTD device rootfs
[    0.445792] 0x000000820000-0x000000f00000 : "rootfs_data"
[    0.452239] 0x000000ff0000-0x000001000000 : "default-config"
[    0.460750] libphy: Fixed MDIO Bus: probed
[    1.114757] libphy: ag71xx_mdio: probed
[    1.121838] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.150381] random: fast init done
[    1.709879] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    1.721149] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    1.727906] i2c /dev entries driver
[    1.734457] NET: Registered protocol family 10
[    1.745111] Segment Routing with IPv6
[    1.749059] NET: Registered protocol family 17
[    1.753740] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.767128] 8021q: 802.1Q VLAN Support v1.8
[    1.772253] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    1.778615]  MEM 0x0000000012000000..0x0000000013ffffff
[    1.784020]   IO 0x0000000000000000..0x0000000000000000
[    1.789592] PCI host bridge to bus 0000:00
[    1.793863] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.800968] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.806728] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.813744] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.821959] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
[    1.828220] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.835286] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    1.842283] pci 0000:00:00.0: supports D1 D2
[    1.847684] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.854560] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    1.862135] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff pref]
[    1.871036] hctosys: unable to open rtc device (rtc0)
[    1.882952] VFS: Mounted root (squashfs filesystem) readonly on device 31:8.
[    1.896767] Freeing unused kernel memory: 1188K
[    1.901465] This architecture does not have kernel memory protection.
[    1.908116] Run /sbin/init as init process
[    2.506118] init: Console is alive
[    2.509906] init: - watchdog -
[    4.127525] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.199886] usbcore: registered new interface driver usbfs
[    4.205695] usbcore: registered new interface driver hub
[    4.211292] usbcore: registered new device driver usb
[    4.251042] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.265695] SCSI subsystem initialized
[    4.274028] ehci-fsl: Freescale EHCI Host controller driver
[    4.281615] ehci-platform: EHCI generic platform driver
[    4.287290] ehci-platform 1b000000.usb: EHCI Host Controller
[    4.293205] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    4.301416] ehci-platform 1b000000.usb: irq 13, io mem 0x1b000000
[    4.322396] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.329557] hub 1-0:1.0: USB hub found
[    4.333826] hub 1-0:1.0: 1 port detected
[    4.343945] usbcore: registered new interface driver usb-storage
[    4.350915] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.360830] init: - preinit -
[    5.724677] random: jshn: uninitialized urandom read (4 bytes read)
[    6.002650] random: jshn: uninitialized urandom read (4 bytes read)
[    6.226949] random: jshn: uninitialized urandom read (4 bytes read)
[    9.798203] mount_root: loading kmods from internal overlay
[    9.831774] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[    9.843451] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[   10.730988] jffs2: notice: (613) jffs2_build_xattr_subsystem: complete building xattr subsystem, 23 of xdatum (9 unchecked, 7 orphan) and 28 of xref (7 dead, 0 orphan) found.
[   10.747674] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[   10.759103] block: extroot: not configured
[   10.814822] jffs2: notice: (611) jffs2_build_xattr_subsystem: complete building xattr subsystem, 23 of xdatum (9 unchecked, 7 orphan) and 28 of xref (7 dead, 0 orphan) found.
[   10.832322] mount_root: loading kmods from internal overlay
[   10.865075] kmodloader: loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[   10.875708] kmodloader: done loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[   11.541962] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[   11.550964] block: extroot: not configured
[   11.556327] mount_root: switching to jffs2 overlay
[   11.564081] overlayfs: upper fs does not support tmpfile.
[   11.574335] urandom-seed: Seeding with /etc/urandom.seed
[   11.685648] procd: - early -
[   11.688811] procd: - watchdog -
[   12.358049] procd: - watchdog -
[   12.362734] procd: - ubus -
[   12.434988] urandom_read: 5 callbacks suppressed
[   12.434994] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.448406] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.458206] procd: - init -
[   13.315281] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.416589] Loading modules backported from Linux version v5.10.42-0-g65859eca4dff
[   13.424473] Backport generated by backports.git v5.10.42-1-0-gbee5c545
[   13.491642] xt_time: kernel timezone is -0000
[   13.701731] urngd: v1.0.2 started.
[   13.740748] PPP generic driver version 2.4.2
[   13.755227] NET: Registered protocol family 24
[   13.835116] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
[   13.841784] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   13.926119] random: crng init done
[   15.074213] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   15.083801] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   15.096823] ath10k_pci 0000:00:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
[   15.727779] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   16.911733] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[   17.021940] ath: EEPROM regdomain sanitized
[   17.021950] ath: EEPROM regdomain: 0x64
[   17.021953] ath: EEPROM indicates we should expect a direct regpair map
[   17.021971] ath: Country alpha2 being used: 00
[   17.021974] ath: Regpair used: 0x64
[   17.081351] batman_adv: B.A.T.M.A.N. advanced 2021.1-openwrt-2 (compatibility version 15) loaded
[   17.145176] ath: EEPROM regdomain sanitized
[   17.145186] ath: EEPROM regdomain: 0x64
[   17.145190] ath: EEPROM indicates we should expect a direct regpair map
[   17.145209] ath: Country alpha2 being used: 00
[   17.145211] ath: Regpair used: 0x64
[   17.156830] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   17.158780] ieee80211 phy1: Atheros AR9561 Rev:0 mem=0xb8100000, irq=2
[   17.194786] kmodloader: done loading kernel modules from /etc/modules.d/*
[   30.832235] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 1 is up
[   30.839129] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 5 is up
[   30.862708] br-vl10: port 1(eth0.10) entered blocking state
[   30.868514] br-vl10: port 1(eth0.10) entered disabled state
[   30.874593] device eth0.10 entered promiscuous mode
[   30.879668] device eth0 entered promiscuous mode
[   30.898447] eth0: link up (1000Mbps/Full duplex)

@sammo I've made an ImageBuilder build of OpenWrt 21.02.0-rc.4 including your "iw phy phy1 set txq memory_limit 8388608" fix which works so far well for my Archers. (ref # State of TP-Link Archer C7v2|v5 in 2021 - #42 by Catfriend1 )