MT7621 High CPU use even when HW NAT enabled

I recently got a Linksys E7350 to replace my Netgear R7800 so that I could move to WiFi 6.

I know that the MT7621 used in the E7350 is a slower CPU than the IPQ8065 in the R7800, but I through that would not be too much of an issue, since the MT7621 supports hardware flow offloading.

So I've set up the router, enabled HW Flow Offloading, Packet Steering, and WED. But still, when I go to fast.com on my computer to test network speeds, and look at htop running on the router, and running the speed test results in all of the CPU cores listed (4 since the MT7621 has multi-threading) are running at near full utilization during the test, and I am still getting aroudn 350MBps (when I have a 500MBPs connection).

Additionally, when I look in /sys/kernel/debug/ppe0, the bind file is empty (suggesting WED is not working), and while there are many lines in the entries file, they all end with packets=0 bytes=0

I was under the impression that the hardware flow offloading would allow me to reach higher speeds, and not have the CPU usage on the router spike. Am I mistaken, or do I need to do something else to get everything working?

For reference, I am running OpenWRT 25.12.4

Are you connected via Wi-Fi? I understand that the MT7621 is not compatible with WED.

Uggh. That's probably it. I thought that it supported WED.

Is there a way to accelerate the WiFi?

To verify, provide the output of:

cat /sys/module/mt7915e/parameters/wed_enable

@lleachii Its Y

MT7621 have no WED support, and it seems like 350mbps is it's practical limit, at least with opensource drivers.

I'm getting around 500mbps on wifi 5ghz with e7350 as AP only

MT7621 have no WED support,

Darn. Did not realize that there was extra HW needed for Wireless routing. Makes sense though I guess.

it seems like 350mbps is it's practical limit

I can get up to 400MBps through fast.com. And closer to 500MBPs internally using iperf3

at least with opensource drivers.

If you had to guess, any ideas what closed source drivers might be doing to get faster speeds?

I think the mt76 driver could have undergone some changes that affect performance in later releases, at least on MT7621 SoC:

In OpenWrt 23.05.x - I could reach at maximum of DL 610 Mbps on VHT80 channel after enabling HFO and reducing TX power to 25 dBM.

In OpenWrt 24.10.x - I could reach at maximum of DL 480-500 Mbps on VHT80 channel after enabling HFO and reducing TX power to 25 dBM. Strangely, Upload is not affected and can reach UL 610+ Mbps.

Sorry, my mistake. I own device with MT7621ST, 1-core version (ASUS RT-N56U B1)
I ran a test some time ago, connecting WAN of this router to a machine capable of delivering gigabit speeds using iperf3. The router itself is Wi-Fi 5. The client connected to it at a channel speed of 866 mbps and was able to get around 350 mbps of payload with the router's processor fully loaded. Probably MT7621AT can do a little bit more.
Frankly, I'm too lazy to test how much this router can deliver with its stock firmware, but I've heard rumors several times that it can deliver more with proprietary blobs instead of opensource mt76 driver.
BTW, this processor also almost reaches its maximum simply when copying a gigabit from WAN to LAN without firewall etc, where it simply copy L2 packets from one port to another. When working with Wi-Fi, there are higher processing costs.

MT7621ST is 1-core 2-threads while MT7621AT is 2-core 4-threads.

Your speed figure of 350 Mbps DL hence makes sense. Maybe you can play with Hardware Flow Offloading (HFO) is Firewall settings to see if it's possible to have HNAT acceleration. I would say it's already a reasonable wireless speed comparing to other 1-core CPU SoC (eg. QCA9558).

Yes, I know.

No, enabling offloading, both hardware and software, doesn't help at all, I've tested it. At least not when the router is running as Dumb AP.
Actually, it is precisely because the router operates as Dumb AP (so I ended up removing firewall, nft, conntrac etc. packets at all) I think 350 mbps is the maximum possible speed. At least for ST version of CPU with MT7612EN as Wi-Fi 5 chip.
So every time I see AX1800 routers on MT7621 I wonder: what actual speed it can deliver? Can it provide any actual benefits of AX1800 over good old AC1200 except marketing bullshit?

Well I can say for certain that with OpenWRT, a MT7621AT based E7350 provides about the same wireless bandwidth as the IPQ8065 based R7800. Honestly not all that bad when you realize its running 2 MIPS 1000k cores at 800MHz vs the R7800's 2 ARM cores at 1.7Ghz, and 2x2MIMO vs 4x4

Pity about not having support for WED though. I didn't realize that wireless to wired would not use HW NAT.

A bit offtopic, but I had a router with an MT7621AT, which ran transmission, syncthing and xray quite successfully, albeit not very fast. Simultaneously.

This speed test was performed over WiFi using a MT7621-based ASUS RT-AX53U running OpenWRT 24.10.0 as an access point only. My internet connection is 1 Gbps.

Previously, I averaged 200 Mbps, but after testing various WiFi channels, I identified an optimal setting that consistently yields >500 Mbps.

The test was conducted on Ubuntu 26.04 using an Intel Wireless-AC 9560 adapter.

For reference, here's the CPU of the ASUS:

# lscpu

Architecture:        mips
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Model name:          -
Model:               MIPS 1004Kc V2.15
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
BogoMIPS:            586.13
Flags:               mips16 dsp mt
Caches (sum of all):
L1d:                 64 KiB (2 instances)
L1i:                 64 KiB (2 instances)
L2:                  256 KiB (1 instance)

and my OpenWRT wireless configuration:

# cat /etc/config/wireless

config wifi-device 'radio1'
option type 'mac80211'
option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0+1'
option band '5g'
option channel '132'
option htmode 'HE80'
option country 'PT'
option cell_density '0'

config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan main'
option mode 'ap'
option ssid 'Pretty Fly For a WiFi 5GHz'
option encryption 'sae-mixed'
option key ''
option ocv '0'

Your result seems reasonable because:

  • ASUS RT-AX53U has WLAN hardware MT7915 (WiFi-6 phy)
  • Linksys EA8100 v1 has WLAN hardware MT7615 (WiFi-5 phy)

Although they are having the same CPU MT7621A, a newer generation of WiFi phy would have improvement in transmission efficiency even when communicating with older-gen WiFi client.