Wifi speed bottlenecked by CPU on MediaTek MT7621 devices

I have been using the Netgear WAC124 as a router and access point and wanted to upgrade to a Wi-Fi 6 device hoping it will deliver more stable performance when game streaming over Wi-Fi to the fire stick 4k max.

I went for the Netgear WAX202 as it has a low price and the exact same CPU as the WAC124.

When I tried benchmarking both devices, I realized that they were heavily bottlenecked by their CPU.
Running iperf3 between a host and client that are connected via LAN to the router is no problem, stable 950 Mbit/s up and down and CPU is barely used as shown in htop. However, when the iperf3 client is connected via Wi-Fi, the CPU usage on the AP spikes (one core at 100%, other 3 around 70%) and the speed hovers around 500 Mbits/s (Link speed when connected to the WAC124 is 866, and with the WAX202 1100 Mbits/s, as shown in connection information under Ubuntu), Iperf3 client was put directly next to the AP.

Is hostapd such a resource hog? I expected that 800 MHz core speed on the MT7621 should handle at least one device going at full speed.
I activated Software and Hardware offloading, but those seem to improve other things and not Wi-Fi performance.

Is there any way to gain some more speed by tuning some parameters? Or should I consider going for the WAX206 which has a faster chipset (and twice the price)

Just to be clear, you are not running iperf3 with the device itself as an end-point. It's between two connected devices?

Not usually, no. But the wireless drivers can be. Also keep in mind that the MT7921 is ten years old. Its MIPS core is showing its age. It's not a real four-core device, it's a dual core where each has two "hyperthread" virtual cores.

It getting repurposed for WiFi 6 devices is a bit of a disservice. The 7921 is a solid SoC, it's just not up to the kind of horsepower you need for gigabit without hardware support, and it doesn't support Wireless Ethernet Dispatch (WED).

I'd check the following:

  1. Is irqbalance installed and running? That might help.
  2. I'm pretty sure the 7921 doesn't support WED, but you can try enabling it. Look here for instructions.

The WAX206 uses the mt7622, which is also a solid SoC. It's another dual core, like the 7621, but it's a dual ARM64 core at 1350MHz, which has about four times the processing power. However, it too is an aging chipset. It does for sure support WED, but I suspect for the price you'll pay for a WAX206 you could probably get a new BPI-R3 full kit with a shiny new mt7986 (Filogic 830) core. Some (very basic) assembly required on the kit, but you'll have a device that can walk on water without getting its feet wet.

Thanks, I tried your suggestions but no visible improvements unfortunately.

There is also this little one that seems very powerful for its size: Beryl AX

Alternatively there are devices like the Dynalink dl-wrx36 or the Xiaomi Redmi AX6000 that tick all boxes but cost around 100 gbp.
The Banana pi kit looks amazing but incl taxes it would come close to twice the price of the WAX206

I think I will stick to the wax202 for now as my WAN is only 150 Mbits/s anyway and my wifi usage rarely goes over 100 Mbits/s on the local network.

Just to be clear, you are not running iperf3 with the device itself as an end-point. It's between two connected devices?

yes exactly. Running iperf3 -s on one of the x86 machines connected via lan to the router.

FWIW, I use MT7622 AP's and "only" get ~500 Mbps on 2x2 intel ax200 clients at medium distances through a wall. CPU is ~50% on one core and ~25% on the other at 1025 MHz - the governor doesn't need to raise the CPU to the max speed of 1.3 GHz.

And the other? Are you running the other instance of iperf3 -c x.x.x.x on the router via a terminal window or on another client? You might also check iperf3 -c x.x.x.x -R to see if you get the same download WiFi performance as upload.

Is your ISP connection via PPPoE? That will put more load on your CPU and take away from what WiFi has left to use.

Finally, in addition to trying irqbalance, you could try activating packet steering in the network>interfaces>global settings LuCI menu. It seemed to help a little with SQM/QoS when I used a MT7621 ER-X as my home gateway. Of course, CAKE SQM would take out one of your two CPU cores and in any event top out ~100 Mbps on the MT7621, so that would not help improve things at all for WiFi :wink: You would need to upgrade to a faster CPU to also be able to run SQM/QoS.

Like VA1DER said - the MT7621 is a bit dated. Used with hardware offloading and/or as a dumb AP so the CPU is almost completely free for WiFi, it can be an economical WiFi6 option, but if asking anything more from it than that....

The Beryl AX travel router you linked does have more CPU (a dual core filogic) , but I would be hesitant to buy it as a home AP before finding some good reviews on its WiFi performance and range. It's antennas may have too low a gain to give you a good radio pattern for longer home use ranges.

iperf3 -c is running on another x86 client connected via wifi.

My ISP connection is just simple LAN (I think there is a server somewhere in the building that takes care of routing)

Seems like the best contenders for fast wifi are the Banana Pi R3 and the Xiaomi Redmi AX6000

1 Like

Indeed. I tend to recommend the R3, because of how versatile it is, but the AX6000 is also very decent hardware. Just keep in mind that getting OpenWrt on it is a chore and dependent on getting a vulnerable firmware on it then taking advantage of an exploit to root it then get OpenWrt on it. You can read up on the procedure here to make sure you're good with it.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.