OpenWrt support for Xiaomi AX3000T

Friends, after I installed OpenWRT on the AX3000T I noticed that at various times some web pages did not load on the first attempt, having to reload a second or third time to finally load correctly. Likewise, some commands that use Internet on Linux fail with the "No route to host" error. Anyone else have a similar experience? I don't know if it's a problem with OpenWRT or if the router's OS change just coincided with problems with my ISP or the external servers I try to connect to. I'm currently using the latest build of dimfish. My WAN is a PPPOE connection to the operator's modem in bridge mode and when the problem starts the PPPOE connection remains active so I don't think it's a problem with the operator. I imagine maybe it's a DNS problem, in OpenWRT I configured the WAN interface to use CloudFlare and Google's DNS.

Config:

Summary
root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'FILTERED'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.10.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option delegate '0'

config device
        option name 'wan'
        option macaddr 'cc:d8:43:17:dc:51'

config interface 'wan'
        option device 'wan'
        option proto 'pppoe'
        option username 'FILTERED'
        option password 'FILTERED'
        option ipv6 '0'
        option peerdns '0'
        option delegate '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'
        list dns '8.8.8.8'
        list dns '8.8.4.4'


Screenshot_20240420_124717

Hello Friends, good afternoon everyone, my Xiaomi 路由器AX3000T recently arrived with firmware 1.0.47

I have done everything, put higher version 1.0.64, put the same version 1.0.47 again, install the exploit, change the region from CN to EU, I have put practically all the OpenWRT firmware and the problem is always the same, never I can see the 2.4 and 5 Ghz networks, it does not show me the WIFI network on any Apple, Android, etc. terminal to be able to connect, only the wired LAN network works.

I live in Spain, what could be the problem with this equipment?
I hope you have some clue since I can't return it.

greetings

1 Like

Hi everyone,

While installing the OpenWrt U-Boot mod, I TFTPd the wrong image to the device and overwrote almost the first half of the NAND chip, and I unfortunately only have a backup of the "ubi" partition...

After a few hours, I managed to restore this device to a working OpenWrt image, however I get a few Wi-Fi related errors during boot, which result in no Wi-Fi interface being detected.

Could any of you that have this router share a dump of their partitons (but the "ubi")?

I do have a backup of the env settings, which contain most of the data unique to my router, like the MAC addresses, serial number etc. I'm also aware that some calibration data is very device specific, and its Wi-Fi probably won't be as reliable as it once was (if I can even manage to get it working again), but I guess it's worth a try anyway.

Thanks.

I've installed LUCI but still cannot access the router on 192.168.1.1, ssh works fine?

Hi, i found this link to the repository for you

You may have lost nvram (there are mac, serial, pin and stock firmware settings etc) or/and factory (wifi calibrations).

(I didn’t check this backup)

1 Like

Try connect to lan port and switch to enable WiFi 2.4 and WiFi 5 band from the web ui.
WiFi is disabled by default in the OpenWrt

I have flashed my other rd03 with dimfish image, now openwrt opens fine on the ip address.

How do I flash my other rd03 to same image please?

Additionally, how do I set these up in a mesh?

If LUCI is installed, you can access it with your router IP. Did you change the router address?

  1. use WinSCP to transfer the firmware/sysupgrade to " root/tmp/ ".

  2. SSH:

sysupgrade -v /tmp/*.bin

Example:

openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade (6).itb is your sysupgrade file

the command is

sysupgrade -v /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade (6).itb

or quite simply:

sysupgrade -v /tmp/*.itb

Thank you! I managed to restore my router to working state.

Looking at the hexdump of those partitions, I see that KF, crash and crash_log are empty. Nvram seem to store the U-Boot settings data (which I had saved, so I should be able to manually edit the data to match the factory settings of my router), while Bdata only stores a few env data, and Factory seems to store some cryptic stuff, which is probably related to the Wi-Fi calibration data.

It also looks like those partitions only use a tiny bit of space compared to their allocated size. Maybe some resize could be done to either leave more room for a recovery partition, or to increase the size of the default one?

I'm very interested in further investigating the Factory, Nvram and Bdata, if anyone is willing to share theirs with me.

Thanks again!

True)

Some generic data of you router configuration (only for stock firmware), these parameters from bdata reused in the nvram (every time when you reset configuration, these data copy to nvram, and only in the stock firmware)

Impossible) , Sir, you have 128MB flash, please forget about a few mb.

ps
nvram & bdata paremeters can be changed from OpenWrt with help console utility (fw_setenv/fw_printenv, fw_setsys/fw_printsys)

Thanks

For reflash is it system upgrade rather than factory ubi?

I'm not sure how to winscp to the device, any guides?

FACTORY.UBI only if you are using the original/stock firmware
If OpenWrt is already installed, SYSUPGRADE.

Install WinSCP on Windows, then open the program and transfer the data.

Hi,
I saw your solution but I'm not sure that I understand it.
Did you suggest to empty Network field from Wireless->Interface configuration->General setup and set Device in Interface->General Settings?
What that should do?
Thanks!

That's the way it is. This is the solution. It ensures that Wi-Fi continues to work when the router is restarted.

Good afternoon.
Please tell me where I can read about how the power value of a router transmitter is formed?

OpenWrt 23.05.2, r23630-842932a63d
root@MiR_AX3:~# iwinfo radio1 txpower
...

17 dBm (50 mW)
18 dBm (63 mW)
19 dBm (79 mW)
20 dBm (100 mW)
21 dBm (125 mW)
22 dBm (158 mW)
23 dBm (199 mW)
24 dBm (251 mW)
25 dBm (316 mW)

  • 26 dBm (398 mW)

Shows power at 26dBm, but if you look at the chip parameters:
https://china.org.ru/product/1600967756981
802.11ax(80M): +17±1.5dBm (MCS11)
802.11ax(160M): +15.5±1.5dBm (MCS11)

Let's say the antenna gives another +3dBm. Where else does 6dBm come from? How much can you trust these values?

This is not technical documentation. The maximum power is limited by the country of sale, the real power can only be determined with a measuring device, in particular an oscilloscope. By the way, refresh your snapshot version, the maximum value of 28 dBm (630 mW) will appear.

1 Like

I'm having the exact same problem. Tried different OpenWRT builds - the one from remmitor, dimfish, snapshot, etc. all have the same issue. WLAN is enabled on the configuration but I can't see any networks being broadcasted on any of my devices.
I'm wondering whether my unit is defective...
dmesg and logread outputs look fine.

Does anyone have any other ideas on what logs to check for wireless troubleshooting?

Thanks. Unfortunately that too didn't work :frowning:

I see the following in the logs

Wed Apr 24 12:18:22 2024 daemon.warn odhcpd[1816]: No default route present, overriding ra_lifetime!
Wed Apr 24 12:23:19 2024 daemon.warn odhcpd[1816]: No default route present, overriding ra_lifetime!
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio1 (2961): WARNING: Variable 'data' does not exist or is not an array/object
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio1 (2961): Phy not found
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio1 (2961): Could not find PHY for device 'radio1'
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio0 (2960): WARNING: Variable 'data' does not exist or is not an array/object
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio0 (2960): Phy not found
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio0 (2960): Could not find PHY for device 'radio0'
Wed Apr 24 12:26:15 2024 daemon.notice netifd: Wireless device 'radio1' set retry=0
Wed Apr 24 12:26:15 2024 daemon.crit netifd: Wireless device 'radio1' setup failed, retry=0
Wed Apr 24 12:26:15 2024 daemon.notice netifd: Wireless device 'radio0' set retry=0
Wed Apr 24 12:26:15 2024 daemon.crit netifd: Wireless device 'radio0' setup failed, retry=0
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio1 (2978): WARNING: Variable 'data' does not exist or is not an array/object
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio1 (2978): Bug: PHY is undefined for device 'radio1'
Wed Apr 24 12:26:15 2024 daemon.notice netifd: Wireless device 'radio1' is now down
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio0 (2982): WARNING: Variable 'data' does not exist or is not an array/object
Wed Apr 24 12:26:15 2024 daemon.notice netifd: radio0 (2982): Bug: PHY is undefined for device 'radio0'
Wed Apr 24 12:26:15 2024 daemon.notice netifd: Wireless device 'radio0' is now down
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: Set new config for phy phy1:
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: Remove interface 'phy1'
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy1-ap0: interface state ENABLED->DISABLED
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy1-ap0: AP-DISABLED
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy1-ap0: CTRL-EVENT-TERMINATING
Wed Apr 24 12:27:36 2024 daemon.err hostapd: rmdir[ctrl_interface=/var/run/hostapd]: Permission denied
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: nl80211: deinit ifname=phy1-ap0 disabled_11b_rates=0
Wed Apr 24 12:27:36 2024 kern.info kernel: [  928.099521] device phy1-ap0 left promiscuous mode
Wed Apr 24 12:27:36 2024 kern.info kernel: [  928.104378] br-lan: port 5(phy1-ap0) entered disabled state
Wed Apr 24 12:27:36 2024 daemon.notice netifd: Network device 'phy1-ap0' link is down
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: Set new config for phy phy0:
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: Remove interface 'phy0'
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy0-ap0: interface state ENABLED->DISABLED
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy0-ap0: AP-DISABLED
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: phy0-ap0: CTRL-EVENT-TERMINATING
Wed Apr 24 12:27:36 2024 daemon.err hostapd: rmdir[ctrl_interface=/var/run/hostapd]: Permission denied
Wed Apr 24 12:27:36 2024 daemon.notice hostapd: nl80211: deinit ifname=phy0-ap0 disabled_11b_rates=0
Wed Apr 24 12:27:36 2024 kern.info kernel: [  928.456695] device phy0-ap0 left promiscuous mode
Wed Apr 24 12:27:36 2024 kern.info kernel: [  928.461507] br-lan: port 4(phy0-ap0) entered disabled state
Wed Apr 24 12:27:36 2024 daemon.notice netifd: Network device 'phy0-ap0' link is down
Wed Apr 24 12:27:37 2024 daemon.notice wpa_supplicant[1687]: Set new config for phy phy1
Wed Apr 24 12:27:37 2024 daemon.notice wpa_supplicant[1687]: Set new config for phy phy0
Wed Apr 24 12:27:37 2024 daemon.notice netifd: Wireless device 'radio3' is now down
Wed Apr 24 12:27:37 2024 daemon.notice netifd: Wireless device 'radio2' is now down

Does anybody know why 4 radios appear on the config instead of 2?

root@OpenWrt:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='platform/18000000.wifi'
wireless.radio0.channel='1'
wireless.radio0.band='2g'
wireless.radio0.htmode='HE20'
wireless.radio0.disabled='0'
wireless.radio0.country='PA'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='mi-router-ax3000t-2g-0c2d9'
wireless.default_radio0.encryption='psk2'
wireless.default_radio0.key='12345678'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.path='platform/18000000.wifi+1'
wireless.radio1.channel='64'
wireless.radio1.band='5g'
wireless.radio1.htmode='HE80'
wireless.radio1.disabled='0'
wireless.radio1.country='PA'
wireless.radio1.cell_density='0'
wireless.default_radio1=wifi-iface
wireless.default_radio1.device='radio1'
wireless.default_radio1.network='lan'
wireless.default_radio1.mode='ap'
wireless.default_radio1.ssid='mi-router-ax3000t-5g-1c2d9'
wireless.default_radio1.encryption='psk2'
wireless.default_radio1.key='12345678'
wireless.radio2=wifi-device
wireless.radio2.type='mac80211'
wireless.radio2.path='platform/soc/18000000.wifi'
wireless.radio2.channel='1'
wireless.radio2.band='2g'
wireless.radio2.htmode='HE20'
wireless.radio2.disabled='1'
wireless.default_radio2=wifi-iface
wireless.default_radio2.device='radio2'
wireless.default_radio2.network='lan'
wireless.default_radio2.mode='ap'
wireless.default_radio2.ssid='OpenWrt'
wireless.default_radio2.encryption='none'
wireless.radio3=wifi-device
wireless.radio3.type='mac80211'
wireless.radio3.path='platform/soc/18000000.wifi+1'
wireless.radio3.channel='36'
wireless.radio3.band='5g'
wireless.radio3.htmode='HE80'
wireless.radio3.disabled='1'
wireless.default_radio3=wifi-iface
wireless.default_radio3.device='radio3'
wireless.default_radio3.network='lan'
wireless.default_radio3.mode='ap'
wireless.default_radio3.ssid='OpenWrt'
wireless.default_radio3.encryption='none'

Hi,
Please reset your configuration (with help reset button or from luci), and after then share dmesg output (without lan/wireless configuration)

2 Likes