Add OpenWrt support for Xiaomi "Redmi AX6000"

I also always forget that LuCI is missing from the snapshots.

1 Like

Thanks. I tried this method, using a tutorial from the link shared by @shauno100:

However, after holding the reset button and powering the device, the LEDs start flashing orange rapidly, the restore tool shows a flash in progress which reaches the end fairly quickly (about 2 seconds). The progress popup window vanishes and the router flashes red LEDs rapidly. I gave it about 5 minutes and then unplugged and powered back on, but I am still in the original boot loop.

As an update, it seem like i was actually getting the u-boot menu, just misconfigured my serial connection. Following the debrick method on the wiki fails exactly the same way it does for @aholza:

Tried following the thread, but i don't see a solution for this issue. Not sure what to try next.

UPDATE:
Here is the log when I try to do the restore:

 detect button reset pressed 5 secs !
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:70, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
 confirm to launch xq_upgrade ! 
 cmd=dhcp
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 7
*** Unhandled DHCP Option in OFFER/ACK: 7
DHCP client bound to address 192.168.31.101 (24 ms)
Using ethernet@15100000 device
TFTP from server 192.168.31.100; our IP address is 192.168.31.101
Filename 'miwifi_rb06_firmware_847e9_1.0.48.bin'.
Load address: 0x48000000
Loading: *#################################################################
	 #################################################################
	 
	 #################################################################
.
.
.
	 #################################################################
	 #################################################################
	 ##
	 7.5 MiB/s
done
Bytes transferred = 20972472 (14003b8 hex)
TS before image verify 5ce9 
TRX MAGIC error!
Header check error!
Image verify failed!
========Upgrade fail!========
hm0807a_led miwifi-one-wire-led@0: R:255, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:255, G:0, B:0.
hm0807a_led miwifi-one-wire-led@0: R:0, G:0, B:0.

No advice in this matter?
I've tried compile latest git version with kernel 6, but with same results. Cannot connect this router to LG TV on speed 100. Just 10.
I'll be grateful for any advice :slight_smile:
Thanks

Hi!
Much likely the problem in cable. Try another or re-crimp if you have crimper.

Hi,
I don't think so. I've tested half dozen cables and result was always same. Not working with the Redmi router.

Just tested wired connection with LG TV (model 42LB673V). When TV is on connection speed is 100 Mbps. When off - there is no link. There is option something like "fast start" on LG TVs (electronics partially booted), when it is activated, wired connection speed is 10 Mbps (when TV is off and ready to turn on fastly).

So to exclude hardware problems:

  1. Make sure the cable and router port you use are able to give 1Gbps (test them with another device like notebook).
  2. Test TV on that cable but with another router to make sure TV is able to give 100 Mbps.

If TV passed that tests, it seems that ax6000 router and specific LG TV chip have poor compatibility.

anyone else getting poor network stability/constant ping spikes on 5ghz? its pretty unusable for gaming and being right next to the device, using different channel widths or using different wifi cards hasnt made a difference. 2.4ghz seems unaffected.

any ideas?

Hey, thanks for response.

Sure, connection between different routers and TV is without any issue. Even wired connection Redmi<->Rpi3 (100MB) was perfect.

I've tested connection with many combinations of ethtool's settings during last days. With the same negative result.

Except one time, when TV has connected on 100Mb speed. Not sure what has changed or what happened, but after approx 5 mins of tv attempting to connect, tv finally connected. But this happened only once, and after restarting TV it never happened again.

I'm giving it up :frowning:

Update..
I successfully booted the initramfs-kernel image.
The issue for me seemed to be the setting of the start address. I changed it back to 0x46000000 and the image booted.

this may sound like a dumb suggestion but try placing the router much further away or on different floor...i have seen routers where they seem to be tuned for long range and work badly at close range or same floor...but i prefer those kind because of the placement location of my router

Just installed 23.05.0 on an AX6000.
All seemed to go well apart from I can't seem to see the 5GHz Wireless from any devices.

Enabled, setup in AX 160MHz mode which my phone should be able to see but nothing. On the UI it is showing "disabled" but is definitely enabled.

2.4GHz working fine.

Any ideas?
Anyone seen similar?

EDIT - Looks like 160MHz doesn't work. Only upto 80MHz

select region by selecting Panama (PA) or China (CN). 160Mhz works for me in these regions

1 Like

Perfect. That works. Thanks.

Setting the correct country code for your region is not optional, but required for regulatory compliance. Both to avoid weather radars, which do have priority service compared to your personal WLAN, and to remain at legal channels- and signal levels. Most regulatory bodies and their enforcement agencies don't take violations of this lightly, and the priority service providers (military, aviation, port authorities, phone companies who pay dearly for their share of the cake) tend to guard their frequencies actively.

Aside from the legal side, you do seriously mess up the situation for yourself and your neighbours as well, as clients do follow the lead of the routers in their environment (as mandated). Some (Intel in particular) really don't like to see different regdomains in their environment, dropping them to the lowest common denominator of functionality.

2 Likes

Failed many times to install OpenWrt to AX6000. Steps I did:

  1. Got a soft-brick after flashing initramfs-factory.ubi (firmware=1), following wiki. Unbricked via TFTP (2 times)
  2. Got a soft-brick after using xmir-patcher, after installing firmware ax6000-stock-initramfs-factory.ubi:
 Detect valid SSH server on port 22 (auth OK)
device: "RB06"
img_write = True
Image files in directory "firmware/":
  "firmware/openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi"
Download file: "/tmp/dmesg.log" ....
Download file: "/tmp/mtd_list.txt" ....
Download file: "/tmp/mtd_addr.txt" ....
Download file: "/tmp/kcmdline.log" ....
Parse all images...
UBI: filetype: b'UBI#'
UBI: Decoding UBIFS...
UBI:   volume: "kernel" 	 size: 7237632 
parse_ubifs = 1
FIT size = 0x6DD33C (7028 KiB)
FIT: name = "ARM64 OpenWrt FIT (Flattened Image Tree)"
FIT: def_cfg: "config-1"
FIT: def_fdt: "fdt-1"
FDT: desc = "ARM64 OpenWrt xiaomi_redmi-router-ax6000-stock device tree blob"
FDT: type = "flat_dt"
FDT: arch = "arm64"
KRN: desc = "ARM64 OpenWrt Linux-5.15.138"
KRN: type = "kernel"
KRN: arch = "arm64"
KRN: compression = "lzma"
KRN: data = 3996566 bytes
FDT: compatible = ['xiaomi,redmi-router-ax6000-stock', 'mediatek,mt7986a']
FDT: model = "Xiaomi Redmi Router AX6000 (stock layout)"
FDT: dt_part: ['/soc/spi@1100a000/flash@0/partitions']
FIT: Founded "initrd-1" node
FIT: initrd image name: "ARM64 OpenWrt xiaomi_redmi-router-ax6000-stock initrd"
fw_img: 8192 KiB | kernel: 7028 KiB | rootfs: 3104 KiB 
Download file: "/tmp/bl_BL2.bin" ....
Download file: "/tmp/bl_FIP.bin" ....
Download file: "/tmp/env_Nvram.bin" ....
Download file: "/tmp/env_Bdata.bin" ....
Download file: "/tmp/env_BL2.bin" ....
current flag_boot_rootfs = 0
install_method = 400
--------- prepare command lines -----------
fw_img: 8192 KiB | kernel: 7028 KiB | rootfs: 3104 KiB
------------- flash images -------------
Upload file: "tmp/fw/fw_img.bin" ....
Run scripts for change NVRAM params...
Boot from firmware [1] activated.
Writing firmware image to addr 0x02400000 ...
  mtd -e "ubi1" write "/tmp/fw_img.bin" "ubi1"
The firmware has been successfully flashed!
Send command "reboot" via SSH/Telnet ...
 
ERROR: SSH execute command timed out! CMD: "reboot -f"

I'm not sure I used xmir properly but I didn't find any instructions.

It is very strange. Several people wrote that everything was installed fine.

xmir log for RB06

device: "RB06"
img_write = True
Image files in directory "firmware/":
"firmware/openwrt-23.05.0-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi"
Download file: "/tmp/dmesg.log" ....
Download file: "/tmp/kcmdline.log" ....
Parse all images...
UBI: filetype: b'UBI#'
UBI: Decoding UBIFS...
UBI: volume: "kernel" size: 7364608
parse_ubifs = 1
FIT size = 0x6EC4EC (7089 KiB)
FIT: name = "ARM64 OpenWrt FIT (Flattened Image Tree)"
FIT: def_cfg: "config-1"
FIT: def_fdt: "fdt-1"
FDT: desc = "ARM64 OpenWrt xiaomi_redmi-router-ax6000-stock device tree blob"
FDT: type = "flat_dt"
FDT: arch = "arm64"
KRN: desc = "ARM64 OpenWrt Linux-5.15.134"
KRN: type = "kernel"
KRN: arch = "arm64"
KRN: compression = "lzma"
KRN: data = 3772304 bytes
FDT: compatible = ['xiaomi,redmi-router-ax6000-stock', 'mediatek,mt7986a']
FDT: model = "Xiaomi Redmi Router AX6000 (stock layout)"
FDT: dt_part: ['/soc/spi@1100a000/flash@0/partitions']
FIT: Founded "initrd-1" node
FIT: initrd image name: "ARM64 OpenWrt xiaomi_redmi-router-ax6000-stock initrd"
fw_img: 8320 KiB | kernel: 7089 KiB | rootfs: 3383 KiB
Download file: "/tmp/bl_BL2.bin" ....
Download file: "/tmp/bl_FIP.bin" ....
Download file: "/tmp/env_Nvram.bin" ....
Download file: "/tmp/env_Bdata.bin" ....
Download file: "/tmp/env_BL2.bin" ....
current flag_boot_rootfs = 0
install_method = 400
--------- prepare command lines -----------
fw_img: 8320 KiB | kernel: 7089 KiB | rootfs: 3383 KiB
------------- flash images -------------
Upload file: "tmp/fw/fw_img.bin" ....
Run scripts for change NVRAM params...
Boot from firmware [1] activated.
Writing firmware image to addr 0x02400000 ...
mtd -e "ubi1" write "/tmp/fw_img.bin" "ubi1"
The firmware has been successfully flashed!
Send command "reboot" via SSH/Telnet ...
Forced REBOOT activated!

That's why I tried 3 times. Always same result. At the moment I do not know what to do with it :slight_smile: Maybe some logs or anything may be helpful?

In fact, the router is not fully bricked after flashing. It responds to ping on 192.168.1.1 but nothing more – no shh, telnet, http/https connectivity. Also it talks to tftp server:

...
vendor class: udhcp 1.36.1
client provides name: OpenWrt
...

Really happy with these. Got 3 working in a 802.11s mesh. Comfortably getting 500mbit across the mesh.

Which guide did you use for setting up the mesh network? And is it really faster/more stable then regular APs?

Just the standard Openwrt guide.
I don't have ethernet backhaul where my APs are located so Meshing is required and better than any other solution like Powerline plugs where I could never get above 80mbit

If you have ethernet backhaul then that will always be preferred meaning meshing isn't needed.

1 Like