TPLink Archer AX23 CPU Pinned when doing wireless speedtest

Hiya, ive been using openwrt on my AX23 for a little over 3 months now, i finally got netdata running and noticed that the CPU usage is pinned to 98% when downloading over the 5ghz radio

Its running OpenWrt 23.05.2 r23630-842932a63d

Does anyone know why this is and how I can leverage more speed out this device, i can see link speeds of 500 Mbit/s on the radio but I can never see that speed on the actual device capping at an average of 180mbps

I do have 1Gbps internet and I can achieve 940mbps on hardline connection through the AX23 with HFO

What does LuCI say in status/realtime graphs/load?

a) mt7621a is not a fast SOC, it has very effective offloading, but its processing capabilities is limited (and wireless processing needs some of that).
b) doing an online speedtest stresses both the wan side (routing, NAT, maybe PPPoE), as well as the wireless side
c) did you consider the effect of your measuring instruments on measurement? The more fancy it goes, the more CPU power is spent on taking the measurement, affecting the results - this does affect luci, it probably affects netdata to some extent as well. So if you measure, take it simple, top/ htop over ssh.

2 Likes

A) that is fair, with Netdata enabled the cpu usage is 20% idle, not amazing with netdata disabled it hovers around 2% on all cores

B) this doesn't really affect the CPU usage when on Lan the cpu is at 3% with full line speed on speedtest cli through a PPPoE interface, wireless is another story its pinned to 100% however with netdata disabled i now get 231mbps over wifi.

C) Yes i have, Netdata has been disabled for the most part of 2 months, i only had it enabled when i did a sysupgrade and it started on boot, i will be removing it as i dont use it anymore.

Overall do you have any suggestions on what may help squeeze that little bit more out of the wireless radio or am i cpu limited all the way.

I just tested Iperf3 with my sisters ipad, it has a wireless link of 840Mbit/s and i can achieve 750mbps max and an average of 634 while the cpu hovers around 80% lan to lan

with speedtest i can only manage half that at 301mbps

iperf3 runs locally, and is easier on the CPU than speedtest.
PPPoE eats a lot of CPU cycles too.

running iperf3 on an Atom E3825 generates roughly 50% CPU load, using wired ethernet, speedtest via the same device, at the same speed (1/1 gbit, externally, and internally) maxes out the CPU.

plus, I have no PPPoE on top of that.

I have iperf3 running on a separate machine from the router so it shouldn't affect the router cpu right? (Server -> router -> Ipad)

and the PPPoE doesn't raise the cpu load when i use lan for speed test, could it cause that much of a perf loss on wireless even though it doesnt seem to load the cpu too much?

correct

I'm confused, you just said

or am I missing something ?

1 Like

apologies I should have clarified, i was asking if PPPoE can cause the performance drop with speedtest since it will be (ipad-> router -> wan) instead of iperf3 which is (lan connected server->router->wifi ipad)

(SPEEDTEST.NET)
with my pc over an eth cable shows 940mbps with 3% cpu usage on the router
the ipad over wifi sees 300mbps with 98% cpu usage

(IPERF3)
On iperf3 from my ethernet connected server running iper3 for the ipad it can run 650- 700mbps download on wifi with the router cpu usage at 80%

TLDR speedtest on wifi is slower than the speed i can achieve wifi to lan

would you be interesting in trying out newer versions of 23.05.2 or SNAPSHOT?
If you install auc via opkg install, and then run auc it will go and speak to the firmware selector and check if there any updated packages.
In January 2024 there was a new firmware available for MT76 wireless,

i did a attended sysupgrade last night so it should be a new version of 23.05.2 with new packages, do you know how i can check the firmware version for the wireless?

from SSH, opkg list will let you know what's installed.


This is whats installed

Ok,

kmod-mt76-connac - +2024-02-03-6124ea91-1
kmod-mt76-core - +2024-02-03-6124ea91-1
kmod-mt7915e - +2024-02-03-6124ea91-1

Latest is from February not August.
If you have auc installed, you can move to SNAPSHOT to test using

auc -b SNAPSHOT -B SNAPSHOT

If your ISP is PPPoE, yes, that is going to add additional load to your CPU.

In the LuCI network>firewall menu settings, make sure you try enabling software offload and hardware offload. If you haven't done this yet, this will help free up CPU for supporting wireless.

Try installing irqbalance and then enable it by editing the /etc/config/irqbalance file. The CPU in your router only has 2 cores, but each core has 2 threads. Sometimes irqbalance can help get a little more out of the MT7621AT.

In the LuCI network>interface> global options tab check the packet steering box and see if this helps.

1 Like

Thanks however this is how it is setup, I have Software and Hardware offloading ticked and it is working

I get full line speed at 2-3% cpu usage

Packet steering is enabled

Without modifications it looks balanced but i will give that a try.

root@OpenWrt:~# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  8:    1080694     614607     733644     749488  MIPS GIC Local   1  timer
  9:    1183312          0          0          0  MIPS GIC  63  IPI call
 10:          0    4938401          0          0  MIPS GIC  64  IPI call
 11:          0          0    2251872          0  MIPS GIC  65  IPI call
 12:          0          0          0    2653448  MIPS GIC  66  IPI call
 13:       3225          0          0          0  MIPS GIC  67  IPI resched
 14:          0      26614          0          0  MIPS GIC  68  IPI resched
 15:          0          0       5168          0  MIPS GIC  69  IPI resched
 16:          0          0          0       5898  MIPS GIC  70  IPI resched
 17:          0          0          0          0  MIPS GIC  19  1e000600.gpio-bank0, 1e000600.gpio-bank1, 1e000600.gpio-bank2
 19:         14          0          0          0  MIPS GIC  33  ttyS0
 21:    3823154          0          0          0  MIPS GIC  10  1e100000.ethernet
 22:          8          0          0          0  MIPS GIC  30  mt7530
 23:          5          0          0          0    mt7530   0  mt7530-0:00
 24:          3          0          0          0    mt7530   1  mt7530-0:01
 25:          0          0          0          0    mt7530   2  mt7530-0:02
 26:          0          0          0          0    mt7530   3  mt7530-0:03
 27:          0          0          0          0  1e000600.gpio   8  keys
 28:          0          0          0          0  1e000600.gpio   7  keys
 29:     153848          0          0          0  MIPS GIC  11  mt7915e-hif
 30:    3323174          0          0          0  MIPS GIC  31  mt7915e
ERR:       2540
root@OpenWrt:~#

I will move to snapshot and let you know how it goes

Ive run into a issue running the command

EDIT: had to remove the second -B SNAPSHOT upgrading now

root@OpenWrt:~# auc -b SNAPSHOT -B SNAPSHOT
auc/0.3.2-1
Server:    https://sysupgrade.openwrt.org
Running:   23.05.2 r23630-842932a63d on ramips/mt7621 (tplink,archer-ax23-v1)
WARNING: cannot determing currently running branch.
Invalid argument (22)
root@OpenWrt:~#
1 Like

Sorry for the week long delay on replying....

I should say this version did not seem to improve the wifi performance i still capped out at around 370Mbps over wifi on speedtest.net and 700mbps on iperf3.

Im still open to any suggestions you may have to bring more speed.

PS i havent tried IRQbalance as it has been a busy week XD

700 Mbps over WiFi is quite good real world performance. Unfortunately, I suspect the CPU is not strong enough to handle PPPoE and WiFi simultaneously at that throughput.

Hardware offload does not help with the PPPoE CPU load and speedtest.net is using your PPPoE WAN connection to go out to the internet. The iperf3 test probably is not.

Probably not a helpful suggestion, but if you can switch to non PPPoE ISP, things might improve.

1 Like