OpenWrt support for Xiaomi AX3000T

Hello, I want to return to stock Xiaomi software from remittor 24.10.1 version openwrt. My device is global version rd23 and I used MIWIFIRepairTool but it didn't work. Is there a way to return to stock Xiaomi software without opening the device?

First post of this topic teaches how to revert.
Anyway, MiWiFi Repair Tool should have worked fine.

this page shows that it's enabled by default, does it apply for AX3000T?

Yes, beamforming and BSS Coloring should already be enabled by default in the AX3000T as per this commit.

WED should still be explicitly enabled manually (if needed) in /etc/modules.conf.

1 Like

Asked to restore a dead router. It turned out to be Foresee with bad blocks at the end of NAND. Official builds do not work on this router, had to search and select custom ones. Can you tell me? On Snapshot with this everything is also sad, or should it work, applied patches, or the same as in 24.X - NO?

Summary

ubiformat: mtd8 (nand), size 117440512 bytes (112.0 MiB), 896 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 895 -- 100 % complete
ubiformat: 835 eraseblocks have valid erase counter, mean value is 1
ubiformat: 61 bad eraseblocks found, numbers: 834, 835, 836, 837, 838, 839, 840, 841, 842, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895
ubiformat: formatting eraseblock 895 -- 100 % complete
UBI device number 0, total 835 LEBs (106024960 bytes, 101.1 MiB), available 829 LEBs (105263104 bytes, 100.3 MiB), LEB size 126976 bytes (124.0 KiB)

please edit your older posts to mention that, i was sure that it's not enabled by default because of your posts 1 2, thanks.

Sorry for the confusion. When I wrote my initial comment, I didn't know about it yet. I only found out it from this post by @dsouza which links to the GL.iNet wiki.

Anyway I've added udpate, and I'm thinking of adding it to the AX3000T wiki too.

Hello everyone , quick question i installed the latest snapshot of openwrt on my ax3000T xiaomi , and since i do have foresee chip with bad block , that is the only option for me . But now that i want to install some packages on it and unfortunately i cant .

What i want to do is to install some ipk that i downloaded , wich do require kmod-inet-diag , that would seem like missing from the repos

how do i install it ?

I tried downloading the kmot-inet-diag from the 3000T 24.10 repo, but it gave me some error about untrusted signature in luci , then i tried putty and added a --allowuntrusted it gave v2 format error .

So any help would be appreciated
Thanks

add your kmod packages to the firmware image, you can build a custom one here

1 Like

I cant , its a custom build meant for chips with bad block . Flashing the snapshot from the link would brick the device .

You can take @remittor's 24.10 build from the first message of this thread.

Does it support the "check then write" procedure for badblocks on foresee nand ? @remittor

MiWiFi Repair Tool did not work. I used the program exactly as it should be, but even though I unplugged the power cord and held down the reset button, a loading screen like in the videos did not appear.

Have you set the IPv4 address (instead of getting it dynamically via DHCP) to 192.168.31.100 (for example)?

In my case, it worked flawlessly. I have the RD03 and used version 1.0.47 (CN) of the firmware (which is the default one).

I have same problem orange led blinking but flash process not starting I am trying to revert from openwrt software to stock software. I have rd23 global version.

I tried both 192.168.31.100 and 192.168.1.2 dhcp IP addresses, but when I turn on the device by holding down the reset button on the router, the flash function does not work as in the videos where nothing is happening except the light blinking yellow.

Just a few posts above.

I have multiple AX3000T units. I just noticed that the Ethernet upload performance in the units with Airoha AN8855 is slower than the units with MediaTek MT7531 switch (which are as expected), see below. Download speed is OK in both models (~940Mbps).

  • AX3000T with Airoha AN8855: upload speed limited to ~890 Mbps
  • AX3000T with MediaTek MT7531: upload speed OK as expected around ~935 Mbps

Tested with iperf3 using a local iperf3 server using the same cable/server/power adapter/etc, with OpenWrt 24.10.1 (but also happens with 24.10.0). Only the AX3000T units were changed in place during the test.

In these tests the iperf3 client was running on the AX3000T device itself. I will test with a client connected to an ethernet port just in case.

iperf3 Test Resuls

Airoha AN8855 (Upload 893Mbps)

root@OpenWrt:~# iperf3 -c 192.168.1.151
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.3 port 60936 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   107 MBytes   898 Mbits/sec    0    597 KBytes       
[  5]   1.00-2.00   sec   106 MBytes   892 Mbits/sec    0    597 KBytes       
[  5]   2.00-3.00   sec   107 MBytes   895 Mbits/sec    0    597 KBytes       
[  5]   3.00-4.00   sec   106 MBytes   888 Mbits/sec    0    597 KBytes       
[  5]   4.00-5.00   sec   106 MBytes   893 Mbits/sec    0    597 KBytes       
[  5]   5.00-6.00   sec   107 MBytes   895 Mbits/sec    0    597 KBytes       
[  5]   6.00-7.00   sec   106 MBytes   889 Mbits/sec    0    597 KBytes       
[  5]   7.00-8.00   sec   107 MBytes   897 Mbits/sec    0    597 KBytes       
[  5]   8.00-9.00   sec   106 MBytes   892 Mbits/sec    0    597 KBytes       
[  5]   9.00-10.00  sec   106 MBytes   892 Mbits/sec    0    597 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.04 GBytes   893 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  1.04 GBytes   892 Mbits/sec                  receiver

iperf Done.
root@OpenWrt:~# 

MediaTek MT7531 (Upload 937Mbps)

root@OpenWrt:~# iperf3 -c 192.168.1.151
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.254 port 34438 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   112 MBytes   941 Mbits/sec    0    648 KBytes       
[  5]   1.00-2.00   sec   111 MBytes   934 Mbits/sec    0    648 KBytes       
[  5]   2.00-3.00   sec   111 MBytes   934 Mbits/sec    0    648 KBytes       
[  5]   3.00-4.00   sec   112 MBytes   938 Mbits/sec    0    691 KBytes       
[  5]   4.00-5.00   sec   112 MBytes   936 Mbits/sec    0    691 KBytes       
[  5]   5.00-6.00   sec   112 MBytes   935 Mbits/sec    0    691 KBytes       
[  5]   6.00-7.00   sec   112 MBytes   935 Mbits/sec    0    691 KBytes       
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec    0    691 KBytes       
[  5]   8.00-9.00   sec   111 MBytes   934 Mbits/sec    0    691 KBytes       
[  5]   9.00-10.00  sec   112 MBytes   937 Mbits/sec    0    691 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   937 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  1.09 GBytes   935 Mbits/sec                  receiver

iperf Done.
root@OpenWrt:~# 

1 Like

I suspect that the ethernet TX/RX buffer size might be at play in this iperf3 performance difference between AX3000T units with AN8855 switch when compared with units with MT7531 units.

While MT7531 units achieve top upload speed with an standard iperf3 command line (~935Mbps), AN8855 tops at ~890Mbps as I posted previously. I discovered that setting the window size to 128k (`iperf3 -c 192.168.1.151 -w128k') does solve the issue. However bigger or smaller window sizes make performance worse (it only achieves this expected performance with a window of 128k).

AN8855 iperf3 performance with different window sizes
root@apesc:~# iperf3 -c 192.168.1.151
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.3 port 53102 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   107 MBytes   899 Mbits/sec    0    583 KBytes       
[  5]   1.00-2.00   sec   106 MBytes   892 Mbits/sec    0    583 KBytes       
[  5]   2.00-3.00   sec   106 MBytes   893 Mbits/sec    0    583 KBytes       
[  5]   3.00-4.00   sec   107 MBytes   894 Mbits/sec    0    583 KBytes       
[  5]   4.00-5.00   sec   106 MBytes   890 Mbits/sec    0    583 KBytes       
[  5]   5.00-6.00   sec   106 MBytes   889 Mbits/sec    0    583 KBytes       
[  5]   6.00-7.00   sec   106 MBytes   892 Mbits/sec    0    583 KBytes       
[  5]   7.00-8.00   sec   107 MBytes   897 Mbits/sec    0    583 KBytes       
[  5]   8.00-9.00   sec   107 MBytes   894 Mbits/sec    0    583 KBytes       
[  5]   9.00-10.00  sec   106 MBytes   889 Mbits/sec    0    583 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.04 GBytes   893 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.04 GBytes   892 Mbits/sec                  receiver

iperf Done.
root@apesc:~# iperf3 -c 192.168.1.151 -w 128k
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.3 port 48938 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   109 MBytes   914 Mbits/sec    0    185 KBytes       
[  5]   1.00-2.00   sec   112 MBytes   936 Mbits/sec    0    185 KBytes       
[  5]   2.00-3.00   sec   111 MBytes   933 Mbits/sec    0    185 KBytes       
[  5]   3.00-4.00   sec   111 MBytes   934 Mbits/sec    0    185 KBytes       
[  5]   4.00-5.00   sec   111 MBytes   933 Mbits/sec    0    185 KBytes       
[  5]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0    185 KBytes       
[  5]   6.00-7.00   sec   111 MBytes   929 Mbits/sec    0    185 KBytes       
[  5]   7.00-8.00   sec   111 MBytes   934 Mbits/sec    0    185 KBytes       
[  5]   8.00-9.00   sec   112 MBytes   935 Mbits/sec    0    185 KBytes       
[  5]   9.00-10.00  sec   111 MBytes   933 Mbits/sec    0    185 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.08 GBytes   932 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.08 GBytes   932 Mbits/sec                  receiver

iperf Done.
root@apesc:~# iperf3 -c 192.168.1.151 -w 256k
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.3 port 45398 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   106 MBytes   887 Mbits/sec    0    214 KBytes       
[  5]   1.00-2.00   sec   106 MBytes   891 Mbits/sec    0    214 KBytes       
[  5]   2.00-3.00   sec   106 MBytes   892 Mbits/sec    0    214 KBytes       
[  5]   3.00-4.00   sec   106 MBytes   891 Mbits/sec    0    214 KBytes       
[  5]   4.00-5.00   sec   106 MBytes   893 Mbits/sec    0    214 KBytes       
[  5]   5.00-6.00   sec   106 MBytes   892 Mbits/sec    0    214 KBytes       
[  5]   6.00-7.00   sec   106 MBytes   890 Mbits/sec    0    214 KBytes       
[  5]   7.00-8.00   sec   106 MBytes   891 Mbits/sec    0    214 KBytes       
[  5]   8.00-9.00   sec   106 MBytes   888 Mbits/sec    0    214 KBytes       
[  5]   9.00-10.00  sec   106 MBytes   891 Mbits/sec    0    214 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.04 GBytes   891 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.04 GBytes   891 Mbits/sec                  receiver

iperf Done.
root@apesc:~# iperf3 -c 192.168.1.151 -w 64k
Connecting to host 192.168.1.151, port 5201
[  5] local 192.168.1.3 port 59434 connected to 192.168.1.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   109 MBytes   912 Mbits/sec    0    116 KBytes       
[  5]   1.00-2.00   sec   109 MBytes   916 Mbits/sec    0    116 KBytes       
[  5]   2.00-3.00   sec   104 MBytes   875 Mbits/sec    0    116 KBytes       
[  5]   3.00-4.00   sec   102 MBytes   855 Mbits/sec    0    116 KBytes       
[  5]   4.00-5.00   sec   104 MBytes   872 Mbits/sec    0    116 KBytes       
[  5]   5.00-6.00   sec   106 MBytes   887 Mbits/sec    0    116 KBytes       
[  5]   6.00-7.00   sec   103 MBytes   861 Mbits/sec    0    116 KBytes       
[  5]   7.00-8.00   sec   104 MBytes   870 Mbits/sec    0    116 KBytes       
[  5]   8.00-9.00   sec   102 MBytes   857 Mbits/sec    0    116 KBytes       
[  5]   9.00-10.00  sec   105 MBytes   878 Mbits/sec    0    116 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.02 GBytes   878 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.02 GBytes   878 Mbits/sec                  receiver

iperf Done.
root@apesc:~# 

1 Like

Hey everyone, it's been a while! I need help upgrading to the latest official OpenWrt image.

I’ve been using a snapshot image from last year because the official release wasn’t available at that time. The router I have is the RD03 first version, originally came with firmware 1.0.64 but I downgraded it to 1.0.47 before flashing the OpenWrt snapshot.

| Firmware Version | OpenWrt SNAPSHOT r26589-fe5fe3c8e7 / LuCI Master 24.158.03388~a6f8361 |
| Kernel Version | 6.6.32 |

Can anyone provide guidance or a link on how to safely upgrade to the latest official release? I no longer have access to opkg since it's down in the snapshot version. Any help would be greatly appreciated. Thanks!