OpenWrt support for Asus RT-AX53U

i wonder if flow offloading aply to lan port and not very much to wlan ?

For me 200-300 Mbps with wi-fi is for 802.11.ac, i expect more with 802.11 ax....

Actually the ~300Mbit is over ac. I have another laptop with ax but that's company laptop from which connection to the router over iperf doesn't work. And my internet is quite slow at the moment so can't verify with speedtest (which is also blocked anyway :smiley: )
But 500 over 1G Etherntet is not much either I would say, I was expecting at least 800

Does the below dmesg means hw NAT is crashing ?

[ 1668.714258] mediatek_soc_hnat 1e100000.hnat: wan = eth1
[ 1668.714302] mediatek_soc_hnat 1e100000.hnat: lan = eth0
[ 1668.714331] mediatek_soc_hnat 1e100000.hnat: ppd = vlan1
[ 1668.714355] mediatek_soc_hnat 1e100000.hnat: gmac num = 2
[ 1668.715424] mediatek_soc_hnat 1e100000.hnat: ext devices = rai0
[ 1668.715458] mediatek_soc_hnat 1e100000.hnat: ext devices = ra0
[ 1668.715475] mediatek_soc_hnat 1e100000.hnat: ext devices = rai1
[ 1668.715493] mediatek_soc_hnat 1e100000.hnat: ext devices = ra1
[ 1668.715510] mediatek_soc_hnat 1e100000.hnat: ext devices = rai2
[ 1668.715528] mediatek_soc_hnat 1e100000.hnat: ext devices = ra2
[ 1668.715550] mediatek_soc_hnat 1e100000.hnat: ext devices = rai3
[ 1668.715571] mediatek_soc_hnat 1e100000.hnat: ext devices = ra3
[ 1668.715591] mediatek_soc_hnat 1e100000.hnat: ext devices = apclii0
[ 1668.715612] mediatek_soc_hnat 1e100000.hnat: ext devices = apcli0
[ 1668.728402] modprobe: page allocation failure: order:8, mode:0x24010c1
[ 1668.735161] CPU: 1 PID: 29550 Comm: modprobe Tainted: P                4.4.198 #1
[ 1668.742658] Stack : 00000000 00000000 81cd68c2 00000045 8188cc90 00000009 00000000 00000000
[ 1668.742658]    892f4f94 819bfce3 8185cb30 00000001 0000736e 81cd3690 00000000 00000001
[ 1668.742658]    00000000 81070974 00000000 8107077c 00000000 00000000 81863af8 840eda3c
[ 1668.742658]    00000000 8106e634 00000000 00000000 81f3ed9c 0027e000 819bf640 000eda3c
[ 1668.742658]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1668.742658]    ...
[ 1668.742797] Call Trace:
[ 1668.742822] [<81018ac0>] show_stack+0x54/0x88
[ 1668.742859] [<811e5a64>] dump_stack+0x8c/0xc4
[ 1668.742887] [<810aebb4>] warn_alloc_failed+0xf8/0x11c
[ 1668.742902] [<810b1484>] __alloc_pages_nodemask+0x73c/0x82c
[ 1668.742929] [<8102191c>] mips_dma_alloc_coherent+0x168/0x204
[ 1668.743044] [<c560eb58>] hnat_enable_hook+0x530/0xc28 [mtkhnat]
[ 1668.743123] [<8114c4e4>] kernfs_create_link+0x5c/0x98
[ 1668.743140] [<8114d484>] sysfs_do_create_link_sd.isra.0+0x50/0xf4
[ 1668.743144]
[ 1668.743244] Mem-Info:
[ 1668.743279] active_anon:6634 inactive_anon:202 isolated_anon:0
[ 1668.743279]  active_file:7715 inactive_file:8623 isolated_file:0
[ 1668.743279]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 1668.743279]  slab_reclaimable:2512 slab_unreclaimable:5960
[ 1668.743279]  mapped:5967 shmem:935 pagetables:223 bounce:0
[ 1668.743279]  free:14414 free_pcp:22 free_cma:0

With HW NAT disabled I can get ~850Mbit on Ethernet.
BTW performance on 2,4G is dramatically slow, I can get only 30-50Mbit.
That's all on stock firmware. On OpenWRT it's worse :confused:

I have the same problem.

I have installed OpenWrt and regardless if I use software/hardware NAT offload or not I can't squeeze more than 500 Mbits out of the router :confused:

over LAN I give 850 Mb/s. but WiFi is bad.

With what settings ? I'm not able to reach 500 Mbit with Ethernet on OpenWrt testing with operf3

root@OpenWrt:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.1.104, port 59347
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.104 port 59349
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  49.9 MBytes   417 Mbits/sec
[  5]   1.00-2.00   sec  58.6 MBytes   492 Mbits/sec
[  5]   2.00-3.00   sec  59.2 MBytes   497 Mbits/sec
[  5]   3.00-4.00   sec  57.8 MBytes   485 Mbits/sec
[  5]   4.00-5.00   sec  55.2 MBytes   464 Mbits/sec
[  5]   5.00-6.00   sec  54.8 MBytes   459 Mbits/sec
[  5]   6.00-7.00   sec  54.3 MBytes   456 Mbits/sec
[  5]   7.00-8.00   sec  58.1 MBytes   487 Mbits/sec
[  5]   8.00-9.01   sec  57.8 MBytes   482 Mbits/sec
[  5]   9.01-10.00  sec  53.8 MBytes   456 Mbits/sec
[  5]  10.00-10.01  sec   384 KBytes   246 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   560 MBytes   469 Mbits/sec                  receiver

ok, when i change for the 160 Mhz i have this

Mon Aug 29 21:23:17 2022 daemon.notice hostapd: Configuration file: /var/run/hostapd-phy1.conf (phy wlan1) --> new PHY
Mon Aug 29 21:23:17 2022 daemon.notice hostapd: wlan1: interface state UNINITIALIZED->COUNTRY_UPDATE
Mon Aug 29 21:23:17 2022 daemon.notice hostapd: wlan1: interface state COUNTRY_UPDATE->HT_SCAN
Mon Aug 29 21:23:18 2022 daemon.notice hostapd: wlan1: interface state HT_SCAN->DFS
Mon Aug 29 21:23:18 2022 daemon.notice hostapd: wlan1: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Mon Aug 29 21:23:18 2022 daemon.err hostapd: nl80211: kernel reports: (extension) channel is disabled
Mon Aug 29 21:23:18 2022 daemon.err hostapd: DFS start_dfs_cac() failed, -1
Mon Aug 29 21:23:18 2022 daemon.err hostapd: Interface initialization failed
Mon Aug 29 21:23:18 2022 daemon.notice hostapd: wlan1: interface state DFS->DISABLED
Mon Aug 29 21:23:18 2022 daemon.notice hostapd: wlan1: AP-DISABLED
Mon Aug 29 21:23:18 2022 daemon.notice netifd: Wireless device 'radio1' is now up

so it's an error with dfs

for info, when i change for 80 Mhz i have this

Mon Aug 29 21:28:10 2022 daemon.notice netifd: Wireless device 'radio1' is now down
Mon Aug 29 21:28:11 2022 daemon.notice hostapd: Configuration file: /var/run/hostapd-phy1.conf (phy wlan1) --> new PHY
Mon Aug 29 21:28:11 2022 daemon.notice hostapd: wlan1: interface state UNINITIALIZED->COUNTRY_UPDATE
Mon Aug 29 21:28:11 2022 daemon.notice hostapd: wlan1: interface state COUNTRY_UPDATE->HT_SCAN
Mon Aug 29 21:28:11 2022 daemon.notice hostapd: wlan1: interface state HT_SCAN->DFS
Mon Aug 29 21:28:11 2022 daemon.notice hostapd: wlan1: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=1, seg0=106, seg1=0, cac_time=60s
Mon Aug 29 21:28:12 2022 daemon.notice netifd: Wireless device 'radio1' is now up

and it work

MT7915E should suport 160 Mhz

 iw phy1 info | grep 80
                        Supported Channel Width: neither 160 nor 80+80
                        short GI (80 MHz)
                        HE MAC Capabilities (0x08011a000040):
                                HE40/HE80/5GHz
                                HE160/HE80+80/5GHz
                                STBC Tx <= 80MHz
                                STBC Rx <= 80MHz
                                Beamformee STS <= 80Mhz: 3
                                Beamformee STS > 80Mhz: 3
                                20MHz in 160/80+80MHz HE PPDU
                                80MHz in 160/80+80MHz HE PPDU
                        HE RX MCS and NSS set <= 80 MHz
                        HE TX MCS and NSS set <= 80 MHz
                        EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0
                        HE PHY Capabilities: (0x1c200e926f09af08000c00):
                                HE40/HE80/5GHz
                                HE160/HE80+80/5GHz
                                STBC Tx <= 80MHz
                                STBC Rx <= 80MHz
                                Beamformee STS <= 80Mhz: 3
                                Beamformee STS > 80Mhz: 3
                                Sounding Dimensions <= 80Mhz: 1
                                Sounding Dimensions > 80Mhz: 1
                        HE RX MCS and NSS set <= 80 MHz
                        HE TX MCS and NSS set <= 80 MHz
                        EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0
                        HE PHY Capabilities: (0x1c200c0000000000008000):
                                HE40/HE80/5GHz
                                HE160/HE80+80/5GHz
                                STBC Tx <= 80MHz
                                STBC Rx <= 80MHz
                        HE RX MCS and NSS set <= 80 MHz
                        HE TX MCS and NSS set <= 80 MHz
                        EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0
                        EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0
                        * 5180 MHz [36] (23.0 dBm)
                        * 5280 MHz [56] (20.0 dBm) (radar detection)
                        * 5580 MHz [116] (26.0 dBm) (radar detection)
                        * 5680 MHz [136] (26.0 dBm) (radar detection)
                        * 5805 MHz [161] (13.0 dBm)
                   total <= 19, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
                * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
                * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support

If you run iperf locally on the router itself you are likely maxing out the cpu during testing. What do the results look like when you run iperf between 2 machines on your network?

1 Like

via lan port my speed is 900 Mbps download and 600 Mbps upload , so it is very good via lan port. my problem is with wi-fi....

Hi,

@marceli : never run iperf3 on the router itself, you can do that if your router is a a powerful x86_64
but on all socs the result of doing this is something like:

[SUM]   0.00-10.00  sec   621 MBytes   521 Mbits/sec                  sender
[SUM]   0.00-10.00  sec   613 MBytes   514 Mbits/sec                  receiver

because:

For information:
There is a new patch on the snapshots about routing perf between lan and wan:

To summerize:
before: slow routing lan <-> wan but fast switching (use case: dumb AP with wan included in br-lan)
now: near gb routing lan <-> wan but switching between lan and wan is now slower

So take care on how you plug your ethernet wires

As a exemple, with today's snapshot and switching only (br-lan including the 4 ifaces and no wan+wan6):
You need to reboot the router after each fw conf change, I don't know why but it seams that FW changes now need a reboot to work

  1. uplink on WAN and no offloading (with or sw offloading, no hw offloading):
iperf3.exe -c 192.168.0.2 -bidir -P8
[SUM]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  sender
[SUM]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver
  1. uplink on WAN with hw offloading, lower perf:
iperf3.exe -c 192.168.0.2 -bidir -P8
[SUM]   0.00-10.00  sec  1.04 GBytes   896 Mbits/sec                  sender
[SUM]   0.00-10.00  sec  1.04 GBytes   895 Mbits/sec                  receiver

Now in router mode doing nat (I made a reset and let all the defaults):

  1. uplink on WAN and no offloading (with or sw offloading, no hw offloading):
iperf3.exe -c 192.168.0.2 -bidir -P8
[SUM]   0.00-10.00  sec  1.08 GBytes   925 Mbits/sec                  sender
[SUM]   0.00-10.00  sec  1.08 GBytes   925 Mbits/sec                  receiver

To be honest, that is a little better (933 Mbits/sec) with SW offloading

  1. uplink on WAN with hw offloading, better perf than before:
iperf3.exe -c 192.168.0.2 -bidir -P8
[SUM]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  sender
[SUM]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec                  receiver

Results are better than with my other MT7621 device (Cudy WR1300) as you can read here:

Perhaps they are working on this patch (I have a today's snapshot on the Asus), perhaps the ax53u is a little bit more powerfull (and as I have Wifi off for this test there is more CPU available for routing)

@cdumdum or @c_dum
For the Wifi speed, perhaps your USB Wifi dongle is not capable of more ?
Amazon reviews off your dongle are not very positive
Perhaps you didn't define the country code in the Wifi configuration page ? you can configure more TX power fo channels > 100

Today's snapshot seams worst that yesterday snapshot (CH36 @23dBm -> 200mW):

Right now I only have (it was better with yesterday snapshot):

iperf3.exe -c 192.168.1.1 -P8 
[SUM]   0.00-10.00  sec   574 MBytes   481 Mbits/sec                  sender
[SUM]   0.00-10.00  sec   564 MBytes   473 Mbits/sec                  receiver

iperf3.exe -c 192.168.1.1 -P8 -R
[SUM]   0.00-10.00  sec   412 MBytes   345 Mbits/sec    0             sender
[SUM]   0.00-10.00  sec   412 MBytes   345 Mbits/sec                  receiver

I can do 630/400 on CH100 and 400mW)

Today (with one core at 100%):

yesterday's snapshot (not in the screenshot, but with load well balanced between cores):

image

Perhaps devs have made some changes since 2 days, but I'm not smart enough to dig in the OpenWRT repos to try to find what they changes (but yeasterday snapshot was really better with load correctly balanced on all cores ... and not today)

I reinstalled yesterday's snapshot

from my laptop to a wired station (upload) on cannel 149 and 29dBm

On the reverse side (download) :

I think we simply have to be patient ... that is a snapshot

I'm able to change the power on 5G wifi if setting location to China but then if I set 199mW f.e. I'm getting only 54Mbit connection :open_mouth:
On wifi 2,4 I'm not able to select more than 100mW.

Try with BE or AU (but then restore your local country code!)
Check your country's regulations to select the best channel/power/DFS/radar combo

My laptop has an Intel Wi-Fi 6E AX210 160MHz card...maybe that makes a big difference

Fast Wifi also needs a fast CPU (lots of IRQ), on older hardware you'll be fine with an N or AC card, but upgrading to AX won't make any difference. In fact it will be worse (I've tried with older dual-core laptops, which work well, but upgrading them with a fast AX card only had bad effects, too much CPU used for nothing better in terms of Wifi speed... but with bad effect on general use (because there is no CPU left for other programs)

Sometimes you may also have an underlying problem, such as a bad network cable between your LAN and your router.
So starts with the basics, do an iperf3 test between 2 computers connected to the router switch to ensure that the "wired" part of your network is capable of 920~950 Mbps.

Then, if it works, do some Wifi speed test lan to lan (or lan to wlan if you prefer theses words) and monitor your computers'CPUs

Out of subject, just for fun. I just received and unboxed a Cudy X6 (same hardware that RT-AX53U).
With stock config (not even connected yet on the UI) I get that:

image

Strange thing is it works relatively well on my old Xiaomi Mi Router 3G running padavan. Wifi connection speed is higher but iperf3 results are similar. Unfortunately my other laptop is company laptop and somehow iperf3 is blocked. My wife's laptop doesn't have network socket, just wifi (new Huawei laptop and wifi connection speed is worse than on my 3-years old Lenovo)

Asus published the source for the router OEM fw, has anyone looked into that? maybe there's some code that would make the driver work better?

Source code for mtk drivers was never released by Asus in any GPLs.

1 Like

But it's not much faster on the OEM fw. For me it's indeed faster over Ethernet if I disable hw NAT but wifi performance is still terrible.