5GHz Low performance on TP-Link Archer C6 V2

Actual max. reachable wireless performance in 19.07.7

Tested with iperf3 TCP behind the router

VHT80
5640Mhz
bridge mode
CPU load at 100 percent during the test (in Archer C6v2 router)

DOWN: 250-300 Mbit/s
UP: 350-400Mbit/s

1 Like

Snapshot is much better in AP mode. Router performance should be slower because of the slow CPU.

Seems to be ath10k-ct

ath10k 5.10 driver, optimized for CT firmware, probing pci device: 0x56.
[   12.694725] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
[   12.701549] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   12.722379] random: crng init done
[   15.376898] ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[   15.386483] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   15.406541] ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 59e741e7
[   15.748192] ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-board-id=20 from ath10k/QCA9888/hw2.0/board-2.bin
[   15.762374] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id 0:20 crc32 f8e90c54

I can confirm lower performance.
OWRT 21.02-rc1 already has this CT driver (speed is same as with today snapshot).
Compared with iPerf3:
Original FW:
1 connection - 216/206 Mbit
20 connections - 385/460 Mbit
OpenWRT:
1 con - 190/128 Mbit
20 con - 266/350 Mbit.

What is weird, that with speedtest.net I don't get more then around 140 Mbit (over cable I have 300Mbit without problem). Original FW didn't have this problem.

Also OWRT has problem with Full duplex. On original FW I had 190/268 Mbit when running iPerf3 in both directions (not using the switch, but really running two instances of iPerf3).
With OWRT I got 320/12.

Same problem, i'm using OWRT 21.02-rc1.
RJ45: 600Mbps D/U
WIFI AC: ISP Router about 600 Mbps D/U
Archer C6 300Mbps D/U

Seems speed is capped to 300 Mbps, i don't know it is a driver problem or is software capped, but is crazy.

Just a friendly note for thoser who use speedtest: "Testing" WiFi by running speedtest (towards Internet) on your mobile device is pointless. It measures total thorughput ... WiFi, NAT, routing, WAN, ISP ... all of it.

If you want to test WiFi only, plug a computer into one of LAN ports, run iperf3 server on it and then run iperf3 client on WiFi device. This will tell you how fast WiFi runs.

Remember that router not only runs WiFi, it also runs routing/NAT. In order to test routing performance only, plug in two wired computers, one on WAN and one on LAN side and do iperf3 test. Again, this will tell you how fast it handles routing (regardless of WiFi).

That being said, those devices will rarely go above 300Mbit/sec routing speed on OpenWRT without resorting to flow offload and other tricks. Stock FW uses HW offload to speed up NAT, OpenWRT does not.

Its not true...

HW offload is available for specific OpenWRT routers (resp. SoCs) and Archer C6v2 has this feature, but overall performance of integrated SoC (QCA9563 @775Mhz) for NAT is not good (yes, slow SoC)

I think that C6v2 does not have HW offload implemented in openwrt. Only MT7620/MT7621 SoC have implemented HW offload and only C6v3 is MT7621. C6v2 is a QCA. For compare, Archer C5 is a MT7620@500MHz and can get 900Mbits in cable...

1 Like

You can try that: https://github.com/gwlim/openwrt-sfe-flowoffload-ath79/tree/master/2021-01/openwrt-sfe-flowoffload-normal/mips74k/TP-Link%20Archer%20C6v2-mips74k-ath10k
I've used 1043 firmwares a while ago and they were fine, dk how a c6v2 one works

Hi everyone, I am having performance issues with this device (TP Link Archer C6 v2 us). It is configured as a dump ap (simple node of a 802.11s home mesh). I test with iperf3 and get high cpu usage for softirq (around 50% as reported by htop). See below result of mpstat:


root@openwrt-c6v2:~# mpstat 1
Linux 5.4.123 (openwrt-c6v2) 	06/07/21 	_mips_	(1 CPU)

13:45:25     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
13:45:26     all    2.00    0.00    1.00    0.00    0.00    8.00    0.00    0.00    0.00   89.00
13:45:27     all    0.00    0.00    2.00    0.00    0.00    8.00    0.00    0.00    0.00   90.00
13:45:28     all    0.00    0.00    0.00    0.00    0.00    7.00    0.00    0.00    0.00   93.00
13:45:29     all    1.00    0.00    2.00    0.00    0.00    9.00    0.00    0.00    0.00   88.00
13:45:30     all    3.00    0.00    0.00    0.00    0.00    9.00    0.00    0.00    0.00   88.00
13:45:31     all    0.00    0.00    0.00    0.00    0.00    6.00    0.00    0.00    0.00   94.00
13:45:32     all    1.00    0.00    2.00    0.00    0.00    6.00    0.00    0.00    0.00   91.00
13:45:33     all    1.00    0.00    1.00    0.00    0.00    6.00    0.00    0.00    0.00   92.00
13:45:34     all    0.00    1.00    1.00    0.00    0.00    9.00    0.00    0.00    0.00   89.00
13:45:35     all    2.00    0.00    0.00    0.00    0.00    8.00    0.00    0.00    0.00   90.00
13:45:36     all    3.00    0.00    0.00    0.00    0.00    6.00    0.00    0.00    0.00   91.00
13:45:37     all    2.00    0.00   16.00    0.00    0.00   31.00    0.00    0.00    0.00   51.00
13:45:38     all    2.00    0.00   10.00    0.00    0.00   40.00    0.00    0.00    0.00   48.00
13:45:39     all    1.00    0.00   11.00    0.00    0.00   47.00    0.00    0.00    0.00   41.00
13:45:40     all    2.00    0.00    5.00    0.00    0.00   41.00    0.00    0.00    0.00   52.00
13:45:41     all    2.00    0.00    9.00    0.00    0.00   34.00    0.00    0.00    0.00   55.00
13:45:42     all    0.00    0.00    9.00    0.00    0.00   36.00    0.00    0.00    0.00   55.00
13:45:43     all    1.00    0.00   10.00    0.00    0.00   34.00    0.00    0.00    0.00   55.00
13:45:44     all    0.00    0.00   13.00    0.00    0.00   40.00    0.00    0.00    0.00   47.00
13:45:45     all    0.00    0.00    8.00    0.00    0.00   42.00    0.00    0.00    0.00   50.00
13:45:46     all    2.00    0.00   12.00    0.00    0.00   35.00    0.00    0.00    0.00   51.00
13:45:47     all    1.00    0.00    7.00    0.00    0.00   36.00    0.00    0.00    0.00   56.00

In practice, I cant get more than 60Mbps of that device to the main home router, and I experience frequently ping times rises (from baseline of ~2ms, to many tens of ms, and sometimes bigger lags of >1s or even packet losses.
Average wireless quality of the mesh dumb ap is ~67, advertised wireless links params below:

-38/-95 dBm
216.7 Mbit/s, 20 MHz, MCS 23, Short GI
216.7 Mbit/s, 20 MHz, MCS 23, Short GI

Can anyone point me something I could check to avoid latency instability and packet loss, and to attain better throughput ? I was thinking about too high softirq cpu usage. Help would be really welcome !

and btw (and maybe related as I see some flow stuff on the kernel trace), as soon as device boots, I see this on dmesg:

[   36.642255] ------------[ cut here ]------------
[   36.647068] WARNING: CPU: 0 PID: 7 at net/core/flow_dissector.c:960 __skb_flow_dissect+0x304/0x149c
[   36.656461] Modules linked in: ath9k ath9k_common iptable_nat batman_adv ath9k_hw ath10k_pci ath10k_core ath xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT nf_nat nf_flow_table_hw nf_flow_table nf_conntrack mac80211 lzo iptable_mangle iptable_filter ipt_REJECT ip_tables cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG x_tables nf_reject_ipv4 nf_log_ipv4 nf_log_common nf_defrag_ipv6 nf_defrag_ipv4 lzo_decompress lzo_compress libcrc32c compat zram zsmalloc crypto_acompress gpio_button_hotplug crc16 crc32c_generic crypto_hash
[   36.710803] CPU: 0 PID: 7 Comm: ksoftirqd/0 Not tainted 5.4.123 #0
[   36.717181] Stack : 806e0000 80677b98 00000000 00000000 80676d5c 87c47b24 87c2e040 806b4d63
[   36.725820]         80611ea4 00000007 808132d8 874770fc 870c8218 00000001 87c47ad8 2ce6e0d0
[   36.734456]         00000000 00000000 80840000 000000d3 00000030 00000000 65642035 2e342e31
[   36.743093]         000000d3 89b26f1c 00000000 000ad893 00000000 00000009 00000000 803d0174
[   36.751731]         00000009 874770fc 870c8218 806b0000 00000001 80322568 00000000 80810000
[   36.760359]         ...
[   36.762887] Call Trace:
[   36.765429] [<80069864>] show_stack+0x30/0x100
[   36.770020] [<800826a4>] __warn+0xc0/0x10c
[   36.774257] [<8008274c>] warn_slowpath_fmt+0x5c/0xac
[   36.779382] [<803d0174>] __skb_flow_dissect+0x304/0x149c
[   36.784876] [<803d15f0>] __skb_get_hash+0x7c/0x284
[   36.789958] [<87732a30>] ieee80211_unreserve_tid+0x684/0x18c4 [mac80211]
[   36.796956] ---[ end trace 5903be27d511cc1e ]---

even if everything works normally afterwards ...

Hello all!

I have one Archer C6 V2 (US) Router, and would like to now if with the new release issues have gotten any better.

I have 0 issues with stock firmware, but I want to go back to OpenWRT.

Thank you!

Nice some month is it fine with Snapshot and also with the official release. But using it as dump AP. Routing performance is not the best but this is simply hardware related.

Thank you!

Meanwhile 19.07.8 is out since some time, and I get a 5ghz throuput of around 340mbit/s without NAT on an archer c6 v2

does anyone know if the problem of the 5GHz low performance has been solved with the latest OpenWRT build?

Thanks

Yes, it is.

Thanks, I will try it...

Which build will you try ? 21.02.1 ?
I would also be interested in your results...

Yes, probably tomorrow I try the 21.02.1 on a Archer C6 V2 configured as a simple access point.