Wifi performance Archer C7 v4 vs. Archer C6 v3.2

Hi! Three questions for anyone using OpenWrt + Archer c6 v3.2:

(1) How stable is the Wi-Fi connection?
(2) How is the Wi-Fi performance (local network, iperf3, not internet/WAN/NAT)
(3) Any major issue with OpenWRT on Archer c6 3.2 (considering that it will be used as access point without router/NAT)?

Some additional context:

I am asking these because I have 3 Archer C7 (v4) being used as access points, but WiFi download performance on Acher C7 with OpenWRT is capped about ~340Mbps (while with stock firmware it reaches easily ~600Mbps on Wifi, tested with iperf3 on the local network).

I tried everything on the C7 I could find (ct and non-ct drivers, compiled custom version with minimal packages to be used as AP, etc), but nothing worked. While with Wi-Fi upload on C7 (with OpenWRT) I can get about ~550Mbps (close to stock firmware), the Wi-Fi download speed (iperf3 -R on the client) is capped about ~340Mbps (and it is no user error, iperf3 server connected directly via Gibabit Ethernet, and I tried many clients - windows, Linux, android, iOS, all very close to the AP and the results are all the same).

My conclusion (not scientific) is that the issue with C7 seems to be an issue with Wi-Fi performance being limited by its CPU (and C7 has a single core CPU@~750Mhz). There is something that is CPU bound when the C7+OpenWRT is sending data to a Wi-Fi client (download on the client, tested with iperf3 -R).

So I was looking for a cheap dual-core AC router with OpenWrt support and I discovered that Archer C6 v3.2 is dual-core and I am willing to try one to see if the OpenWRT performance on C6 v3.2 is better that C7.

Thanks!

OK, I just received today an Archer C6 v3.2 I've ordered yesterday.

I was able to do just some initial tests with iperf3.

The iperf3 server is a Linux box connected via wired gigabit Ethernet. The client is a windows 10 laptop.

Wifi performance tested only with 5Ghz@80Mhz (channel 36) with the laptop close to the router (~1m) and without any obstacle in the signal path.

Tested with stock firmware v1.0.10 (20210513-rel63256) and with OpenWrt SNAPSHOT r17419-364bd887a1. I just did a very basic configuration as Access Point in both firmwares.

Below are some initial results, and the OpenWRT WiFi performance seems much better than Archer C7 v4. I will need however to perform some thorough testing still, so take the results below with a grain of salt.

Archer C6 v3.2 with Stock Firmware:

  • Wi-fi Upload (iperf3 -c 192.168.1.151 -P4):
    [SUM] 0.00-10.00 sec 749 MBytes 628 Mbits/sec sender
    [SUM] 0.00-10.00 sec 749 MBytes 628 Mbits/sec receiver

  • Wi-fi Download (iperf3 -R -c 192.168.1.151 -P4):
    [SUM] 0.00-10.00 sec 607 MBytes 510 Mbits/sec 0 sender
    [SUM] 0.00-10.00 sec 604 MBytes 506 Mbits/sec receiver

Archer C6 v3.2 with OpenWRT Firmware:

  • Wi-fi Upload (iperf3 -c 192.168.1.151 -P4):
    [SUM] 0.00-10.01 sec 700 MBytes 587 Mbits/sec sender
    [SUM] 0.00-10.01 sec 700 MBytes 587 Mbits/sec receiver

  • Wi-fi Download (iperf3 -R -c 192.168.1.151 -P4):
    [SUM] 0.00-10.00 sec 636 MBytes 533 Mbits/sec 32 sender
    [SUM] 0.00-10.00 sec 632 MBytes 530 Mbits/sec receiver

1 Like

Yes, stock single core CPU in C7 will run out of sirq around 350Mbit/sec on WiFi under OpenWRT. It is not as efficient as stock FW.

BUT you can overclock it to 1GHz, where CPU will max out at approx. same speed as VHT80 theoretical speed. I have three C7's running as AP's, overclocked to 960MHz running for months. No heat or instability issues.

So instead of buying new routers to gain 10%, just install Breed bootloader and tweak C7 CPU's to 960MHz (it will go higher, but I do not recommend it).

1 Like

Thanks @Gruntruck!

Just out of curiosity: do you know what is causing this "overflow" of SIRQ in OpenWRT with low powered CPUs like the Archer C7?

I am curious because:

  1. In OpenWRT this issue only affects Wi-Fi transmission (OpenWRT -> Client) creating a throughput bottleneck. In the other direction (Client -> OpenWRT) the Wi-fi performance is much better and this bottleneck does not appear.

  2. The stock firmware does not have this limitation (Wi-Fi performance is high in both ways). Many people blames the Atheros drivers used by OpenWRT, but it's clear to me it's a CPU-bound bottleneck (as you confirmed) and the at10k drivers (both ct and non-ct) used by OpenWRT seems to be quite mature at this point in time.

So since my interest is to have a low cost/high performance OpenWRT based Access Point, I am wondering that these interrupts could be related to some OpenWRT feature (like NAT, Firewall, Filters, ...) that I could disable in a custom build therefore preventing this SIRQ "overflow" (I have already tried removing everything I could from a custom build without success - so my impression is that it could be kernel related).

Anyway I have a spare Archer C7 v2 and I will try to overclock it to see how things will turn out.

BTW, just being picky: from 350Mbs (C7 with OpenWRT) to 550Mbps (C6 with OpenWRT) it is a 57% performance increase... :slight_smile:

Thanks!

I suspect is the OpenWRT implementation of moving data to/from ath10k and Ethernet that is sub-optimal.

In my benchmarks, ath10k (non-ct) is faster and has less upload/download skew.

This is what I am using:

ath10k-firmware-qca988x 2019-10-03-d622d160-1
kmod-ath10k 4.14.180+4.19.120-1-1

This + OC to 960MHz gives me ~500Mbit/sec which is fine for .ac device.

P.S. 2.4GHz on C7 is buggy and I never use it.

1 Like

And some benchmarks directly from iphone:


1 Like

Just wanted to mention, C7 v4's 2.4GHz band is not buggy. Works just fine. My two units haven't had a single problem in that regard, first one bought in ~2017. Uptimes of nearly two months before the usual brownout/power cut. Different SoCs and hardware (QCA9563 vs QCA9558)

v2 is the model with an unreliable 2.4GHz band, yours is a v2 IIRC. There has been some progress on that in State of C7 v2|v5 in 2021, there's a tweak in the later posts that has resulted in stability for some people.

This also contains @sammo 's "iw phy phy1 set txq memory_limit 8388608" as a startup script (see /etc/uci-defaults/99-ath9k-set-txq-memory-limit which creates /etc/init.d/ath9k-set-txq-memory-limit to run every startup to adjust the memory limit and avoid the "slowly dying 2.4 GHz WiFi").

Have a look.

1 Like

Thanks! Indeed, mine is v2 which was never able to operate in 2.4GHz for long time without locking out. I will take a look at the tweak.

1 Like