Archer C7 V2 max. LAN speed on 19.07.04

Well, correct. And I was surprised by this fact, too.

R7800 gives much better SAMBA performance than Archer C7 (80 MB/s vs 12 MB/s). So its CPU is much more capable. The problem therefore looks like a woefully inefficient Ethernet driver on the R7800, and, by extension, on ipq8065 - but that's just my conclusion.

There are reports that ESPRESSObin V5 (and therefore V7?) is able to handle gigabit NAT despite a slower CPU, and, unlike Linksys products, it does not always come with a crappy Marvell WiFi adapter. The catch is that you have to supply a WiFi adapter (or two: one mini PCIe and one USB) yourself.

To the OP:

Still, in your situation, I would rather keep the Archer.

First things first: check and replace both cables.

Then please ssh into the router and run "top". Do a speed test. If, during the speed test, the "idle" field in the header is greater than 0%, then there is still some oomph left in the CPU, and it's your ISP (or bad cable) who shapes the traffic. There are indeed some crappy ISPs that do that based on the TTL. Here is a rule to be placed in firewall.user to test this hypothesis (needs the iptables-mod-ipopt package, and only do this if there is indeed some unused CPU time):

iptables -t mangle -F POSTROUTING
iptables -t mangle -A POSTROUTING -o eth0.2 -j TTL --ttl-inc 1

If the idle time is 0%, we need to debug that, and I don't yet have any good suggestions on this front.

As another (rather drastic but I would say useless) debugging step, maybe just to convince yourself that the problem is not in the router, given that you can't fake the gigabit WAN yet, you may want to overclock the router CPU to 1000 MHz and retest the speed.

Regarding the iperf: I use iperf3.

On the server (in the fake WAN - please temporarily reconfigure it for a static IP) I run it like this: iperf3 -s -p 9999

On the client, for testing upload speed: iperf3 -c $SERVER_IP -p 9999

On the client, for testing download speed: iperf3 -R -c $SERVER_IP -p 9999

You don't have a Linux server, but this is not actually a problem. Get a cheap gigabit USB adapter (e.g. TP-Link UE-300), boot from a live distribution of Ubuntu, and then you can create an LXC or LXD container and move the USB adapter into it. Bingo, you have two unlinked gigabit-capable servers in one box. Contact me on Skype (@aepatrakov) or on Telegram (same username) or on Wire (@patrakov) if you want real-time guidance on this procedure.