Gigabit connection too slow on Archer C7 v1

Hey guy,

I am new to OpenWRT but I finished my setup (TP-Link Archer C7 AC1750 v1 with OpenWRT, Modem Huawei B525s-65a in Bridge Mode).
I connected my Synology NAS (DS212j) via Ethernet Cable (Cat6 with RJ45).
The Switch Configuration in OpenWRT says 1000BaseT.
The Network Interface Configuration in the Diskstation says 1000 Mbps.

But when I start iperf3 on OpenWRT and run a test on the Diskstation, this is the best I can get:

admin@DiskStation:~$ iperf3 -c 192.168.0.1
Connecting to host 192.168.0.1, port 5201
[  5] local 192.168.0.10 port 42907 connected to 192.168.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  36.4 MBytes   305 Mbits/sec    0    144 KBytes
[  5]   1.00-2.02   sec  29.8 MBytes   244 Mbits/sec    0    147 KBytes
[  5]   2.02-3.08   sec  15.3 MBytes   121 Mbits/sec    0    154 KBytes
[  5]   3.08-4.00   sec  28.3 MBytes   259 Mbits/sec    0    174 KBytes
[  5]   4.00-5.00   sec  38.6 MBytes   324 Mbits/sec    0    208 KBytes
[  5]   5.00-6.00   sec  39.8 MBytes   334 Mbits/sec    0    260 KBytes
[  5]   6.00-7.00   sec  39.7 MBytes   333 Mbits/sec    0    317 KBytes
[  5]   7.00-8.00   sec  37.8 MBytes   317 Mbits/sec    0    329 KBytes
[  5]   8.00-9.03   sec  36.8 MBytes   299 Mbits/sec    0    370 KBytes
[  5]   9.03-10.00  sec  28.8 MBytes   250 Mbits/sec    0    396 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   331 MBytes   278 Mbits/sec    0             sender
[  5]   0.00-10.10  sec   330 MBytes   274 Mbits/sec                  receiver

Is there any chance I can increase those values?

Are you running the iperf from the Synology to the Archer? The router will have to process those packets and that will strangle the CPU.
You can check on a second SSH the top or htop, but my RouterStationPro was not too different.
As the device page says:

While the Archer C7 has been a very popular router over the years, it comes from a day long before high-speed home connections.
MIPS-based devices in this class can't keep up with high-speed lines and the features people now demand.

I tried both directions. Nearly no difference.

Ok, I'll try that tomorrow. Actually I have no idea what this supposed to do, but I will find out :grinning:

Is there any recommendation for a newer, not too expensive router, that is able to reach much higher speeds?

Look here: Comparative Throughput Testing Including NAT, SQM, WireGuard, and OpenVPN

2 steps to get gigabit speeds:

  • overclock the cpu to 1ghz
  • enable flow offload

Is this possible with the first gen Archer C7.
Do you have any instructions or tutorials?

yes, i ported this on first gen to pepe2k 's u-boot. read how to build it and apply this patch: https://github.com/pepe2k/u-boot_mod/pull/229

1 Like

If you build o/c uboot for archer, i'll appreciate a lot if you can share the bin file

thx a lot

Before I try to build it, let me get two things clear:

  1. I checkout pepe2k's repository, apply your patch and build it with any of the recommended toolchains. Will I be able to flash the generated file through OpenWrt or do I need an external programmer?
  2. Do I need to set the overclocking options before building or can this configuration be done after flashing?
  1. you can flash it from openwrt.
  2. you set it after new u-boot starts. look for netconsole guide
1 Like
  1. So it's basically possible to enable overclocking only when needed (via script?) and keep it disabled during normal operation to reduce the risk of overheating, for example over night?

probably it is, you would need to find register combination to make on-the-fly changes to clocks.
i set it to stable clock from u-boot and don't change it anymore (unless reflashing/testing)

Are you sure you really want to test iperf between your Synology and Archer's CPU? Why? To transfer data from Synology to USB drive plugged in Anrcher?

Or are you trying to estimate LAN-WAN throughput? In that case, considering you are using an LTE router, achieved 300 Mb/s is plenty.

I suppose you know that this is not the right way to test LAN-LAN throughput, e.g. between Synology and the other PC on local network. LAN-LAN traffic is switched at line-rate inside the Archer before it hits it's weak CPU...You should run iperf between Synology and the other PC plugged into Archer.

2 Likes

Now that's some nice explanation, thank you.
Actually, I really wanted to test the LAN-LAN throughput, so I guess I'll check iperf between my endpoints then (Synology, PC, Laptop, Nvidia Shield, etc)

https://openwrt.org/docs/guide-user/perf_and_log/benchmark.nat
https://openwrt.org/docs/guide-user/perf_and_log/benchmark.ipv6.routing

Then there is no doubt you will achieve 1G speeds between wired LAN ports.

Note that wired to WiFi also goes through CPU (through bridge interface). I'm able to achieve sustained 50 MB/s (400 Mb/s) WiFi to LAN. I only have one laptop supporting ac wifi to test, so I don't know if bottleneck is WiFi link itself or the CPU.

in this case you'll hit the USB port limit...

I just tested the throughput between 2 endpoints, Synology and Nvidia Shield which are both connected to the router, and guess what ... over 900 Mbits/sec.
That's exactly what I wanted.
So I think there is no need for me to overclock now?

All I wanted was the best possible setup for copying files over the network fast.

I still have a bottleneck in my network: My PC is connected via Ethernet over powerline which decreases the speed alot. Anything I can do here?

You will not impact LAN-LAN throughput at all if you overclock.
As for the bottleneck, you shouldn't expect anywhere near advertised speeds for powerline adapters. If you get 1/4 advertised speed you should consider that as much as you can get from powerline adapters.

Using the https://github.com/gwlim/openwrt-sfe-flowoffload with SFE enabled, I can get 900 down with WAN->LAN ethernet. No overclocking needed. I'm on the C7V2.