WAN port caps at about 100Mbps, LAN ports don't

I have a TP-Link Archer C2 AC750 v1.1 running OpenWrt 22.03.3, r20028-43d71ad93e; my ISP gives 1 Gbps connection.
I previously had a router (Zyxel VMG-8924 B10D) supplied by the ISP, but it sucks so I want to use another one with OpenWrt running instead, I had this archer lying around so I wanted to try.

I first tried to setup a WAN connection on stock rom, but couldn't do that successfully: the only thig to setup is a PPPOE connection with a 835 vlan on the wan port.

So I flashed OpenWrt on the device and setup the connection as stated above, but this is what happens: when running speed tests download speed caps around 100 Mbps and upload speed caps at 170 Mbps (why 170??? if it was 100 Mbps I could have imagined that for some reason the link is established as 100BaseTX)
PCs connect to the device with Cat.6A cable to LAN port 1, and links are in 1000BaseT full-duplex, LAN communication (cable to cable) goes smoothly at around 700 Mbps.
WAN link in luci switch page is 1000BaseT full-duplex as well, but as you can see from the screenshot speed is capped.

Why WAN caps speed?

So here are a couple of things I tried to verify:

  • Cables: tried switching ports, changing cables, no difference
  • Ports: tried tagging VLAN 835 to another port, no difference
  • Routing/NAT Offloading: Flagged software flow offloading and hardware flow offloading in Network/Firewall page, maybe some difference
  • Installed ethtool, but for some reason doesn't work: whenever I pass an interface as argument I either get "No data available" or "No such device" message result

More info:
dmesg | grep eth returns the following

root@OpenWrt:~# dmesg | grep eth
[    1.090166] mtk_soc_eth 10100000.ethernet: port 5 - using fixed link parameters
[    1.097924] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[    1.104771] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    9.203125] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[    9.212005] 8021q: adding VLAN 0 to HW filter on device eth0
[   11.363866] mtk_soc_eth 10100000.ethernet eth0: port 5 link down
[   43.876604] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[   43.885134] 8021q: adding VLAN 0 to HW filter on device eth0
[   43.923894] br-lan: port 1(eth0.1) entered blocking state
[   43.929521] br-lan: port 1(eth0.1) entered disabled state
[   43.935437] device eth0.1 entered promiscuous mode
[   43.940403] device eth0 entered promiscuous mode
[   44.003022] br-lan: port 1(eth0.1) entered blocking state
[   44.008622] br-lan: port 1(eth0.1) entered forwarding state
root@OpenWrt:~# cat /sys/class/net/eth0.835/speed
cat: read error: Invalid argument

I'd appreciate any help you can give, thanks

You can try some other, more capable router.

1 Like

Yes, packets to the WAN have to be processed through the CPU, while lan-lan packets are switched by hardware. The routing, NAT and pppoe are overloading the CPU. The CPU in a C7 is not anywhere near fast enough for gigabit service.

Thanks @slh .
Is there any way to overclock a Mediatek MT7620A?

fwiw, no one would consider overclocking low-end MT7620A if it is possible. Any gains will be minimal and unlikely to support 1Gbbps with openwrt.

Far easier to just install a faster router which is supported by OpenWrt.

Indeed, mt7621a might be a different question, but mt7620a isn't really worth talking about (old and slow CPU, old (pre mt76) RaLink/ rt2x00 wireless which never worked that well).

Disclaimer: I have no personal experience with ramips/mt7620 and don't do overclocking.

I tried researching how to overclock a mt7620a: I don't think it's possible.
Feel free to correct me, but if I correctly understood from the chip's datasheet and application manual the cpu clock frequency formula depends on the pll frequency, which depends on the xtal frequency; but the xtal frequency is either fixed at 20 or 40 MHz.
I don't see any way around that, unless there might be a way to feed in the chip an external xtal with higher frequencies, but that kind of thing requires not only going against specs, but also some serious pcb traces and soldering skills, regardless of how much of this would actually be worth (if not doing just for fun...)