OpenWrt support for Xiaomi AX3000T

One last thing you may try is to verify the checksum of the file to confirm it is not corrupted. Assuming you are on Windows, open folder of firmware file -> right-click and 'Open in Terminal' -> run this command:

certUtil -hashfile .\miwifi_rd03_firmware_ef0ee_1.0.47.bin SHA256

For me the output checksum is: 77bf35b27b6ec29fbfe2c3f4280618cd70bade5e9998d407b634ce8a12825cc6

Of course I can't guarantee that this is the true checksum of the file, but it may help rule out any download issues in case you get a different output.

Same here, the file doesn't seem to be currupted. Maybe it is not possible to downgrade to 1.0.47 via the upgrade interface?

Flashing openwrt to AX3000T using the method described in https://openwrt.org/inbox/toh/xiaomi/ax3000t works fine, however exchanging the bootloader does not work for me: I always getting an error message when applying the first step in "Change to OpenWrt U-Boot" since the .itb image does not contain 'UBI' in the beginning of the file. Anyone knows how to solve this?

I previously tried to downgrade too but it didn't work, but after I used miwifirepairtool by following tutorials on YouTube, I was able to downgrade.

3 Likes

This router is being affected by the same issue described here which hinders 802.11ax performance with obstacles (such as brick walls) in the WiFi path:

(tested with an iPhone 13Pro and a snapshot build OpenWrt SNAPSHOT r24769-96580500d2 I did from 2024-01-06 master)

I will try to manually apply the solution of disabling 160Mhz mode (that solved the issue in other devices) to see if it makes any difference.

@dimfish if I confirm disabling 160Mhz mode fixes the issue, it would be good to include a patch to disable 160MHz in the AX3000T build similar to this one for mt7915.

Very strange. Commit with disabled vht160 is already there since July:

Right, but I believe the above commit from @nbd168 applies only to mt7915. AX3000T has a different WiFi chipset (mt7981 as it shows up in the WiFi configuration). So it is likely (but I am not sure) the patch needs to be ported from mt7915 to mt7981 (and also to mt7986/Redmi AX6000 which also has this issue).

BTW, I have confirmed that manually removing 160MHz executing the command below (as suggested by @anon14195144 here) does solve the issue also for AX3000T:

sed -i '/SHORT-GI-160/d;/vht160_hw/d;/$vht160/d;/# supported/d' /lib/netifd/wireless/mac80211.sh

AX3000T SNAPSHOT r24769-96580500d2 - Default config (with 160Mhz enabled):

AX3000T SNAPSHOT r24769-96580500d2 - With 160Mhz disabled by above command:

1 Like

I'm failing installing uboot-mod from compiled snapshots.

root@OpenWrt:~# ubiformat /dev/mtd8 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb
ubiformat: mtd8 (nand), size 35651584 bytes (34.0 MiB), 272 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 271 -- 100 % complete  
ubiformat: 272 eraseblocks have valid erase counter, mean value is 2
ubiformat: error!: file "/tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb" (size 8060928 bytes) is not multiple of eraseblock size (131072 bytes)
           error 0 (No error information)

root@OpenWrt:~# cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r24770-066b0fee76'
DISTRIB_TARGET='mediatek/filogic'
DISTRIB_ARCH='aarch64_cortex-a53'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r24770-066b0fee76'
DISTRIB_TAINTS='no-all'
root@OpenWrt:~# uname -a 
Linux OpenWrt 5.15.146 #0 SMP Sun Jan 7 15:56:05 2024 aarch64 GNU/Linux
root@OpenWrt:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00040000 00020000 "Nvram"
mtd2: 00040000 00020000 "Bdata"
mtd3: 00200000 00020000 "Factory"
mtd4: 00200000 00020000 "FIP"
mtd5: 00040000 00020000 "crash"
mtd6: 00040000 00020000 "crash_log"
mtd7: 00040000 00020000 "KF"
mtd8: 02200000 00020000 "ubi_kernel"
mtd9: 04e00000 00020000 "ubi"
root@OpenWrt:~#

currently I have installed the stock layout self compiled snapshots which are working great.

are you sure you client is also capable ? I'm getting 700-900Mbps chrome download from Nginx on my cable connected laptop. probably single tcp connection.

Regarding WiFi speed, I made a detailed review - https://www.youtube.com/watch?v=jGB1QwiEvwM
My WiFi speed was around 960 Mbit/s between the laptop via WiFi and the PC which was connected to the router with an Ethernet cable

@anon91370077 Yep, I saw this commit last night. This morning I did a new master/snapshot build to include this commit and did a quick test. I am happy to report that this commit fixed the issue, thank you @nbd!

3 Likes

@hauke @dimfish can this commit be cherrypicked into 23.05 branch (so AX3000T support would be included in the upcoming 23.05.3 stable release)? I am willing to test and validate it.

1 Like

I don't see any reason to spend time adopting to 23.05, while there is already exists build (see head message)

1 Like

No problem. In my case I do my own "dumb AP" builds directly from official OpenWrt source git. I will cherrypick your commit into my own 23.05.x build tree. Thanks!

It's not so simple :slight_smile: Code is really different for LED and some other stuff.

1 Like

Thanks, I was not aware of additional dependencies on other master changes. In fact when I tried to cherry pick your commit into 23.05 branch I've got a bunch of merge conflict errors (just as you said).

So for now I will keep using the snapshot build, it is working well.

Thanks!

~/openwrt/test$ git checkout openwrt-23.05
Branch 'openwrt-23.05' set up to track remote branch 'openwrt-23.05' from 'origin'.
Switched to a new branch 'openwrt-23.05'
~/openwrt/test$ git branch
  master
* openwrt-23.05
~/openwrt/test$ git cherry-pick 7dbcc1215a56cc1da68c81bf92d7efa174c5e051
Auto-merging package/boot/uboot-envtools/files/mediatek_filogic
CONFLICT (content): Merge conflict in package/boot/uboot-envtools/files/mediatek_filogic
Auto-merging package/boot/uboot-mediatek/Makefile
Auto-merging target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi
CONFLICT (content): Merge conflict in target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi
Auto-merging target/linux/mediatek/filogic/base-files/etc/board.d/01_leds
Auto-merging target/linux/mediatek/filogic/base-files/etc/board.d/02_network
CONFLICT (content): Merge conflict in target/linux/mediatek/filogic/base-files/etc/board.d/02_network
Auto-merging target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
CONFLICT (content): Merge conflict in target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
Auto-merging target/linux/mediatek/image/filogic.mk
error: could not apply 7dbcc1215a... mediatek: filogic: add support for Xiaomi AX3000T
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

Hi dimfish, can I sysupgrade direct to your snapshot builds from remittor's 23.05 build?

Yes, you can sysupgrade. There will be a warning because -stock suffix has been removed but you can ignore it.

Hello
How can I find Openwrt with Kernel 5.15.146 for the Xiaomi AX3000T? As I checked the dimfish package on Github, the kernel was 5.15.145.

The latest official snapshot