5GHz Low performance on TP-Link Archer C6 V2

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.

Hello!

Please let us know how it goes with the last version.

Waiting to hear about it to flash mine.

Thank you!

As I wrote before the newer releases included the official one is fine with 5Ghz performance. Was fixed some month ago with a snapshot with my router.

1 Like

I tested 21.02.1, unfortunately issue with 5Ghz performance is still not fixed. In my case C6 is configured as Access point NAT is not used at all.

I run 21.02.1 and can hit 500Mbit/sec in iperf3 on C7. (with overclock and only to local iperf3 server, using 2x2 device on 5GHz). I can see from your screenshot that you are not using iperf3 but some sort of "internet speed" app. So you are not measuring 5GHz performance, you are measuring performance of complete chain, including router/NAT/firewal/WiFi etc.

1 Like

internet connection is not the issue while we see CPU is stuck in sys IRQ, same result is with iperf (two computers in same 1G LAN network):
obraz