Add OpenWrt support for Xiaomi "Redmi AX6000"

Thanks to the people that worked on this one. The guide on the website is good and I converted over fairly painlessly.
The only critique/advice i'd give is to reorder it a bit so that the instructions on how to interact with the stock firmware (so you can downgrade it) is first instead of in the stok section.
Anyway, so far so good with me. If anyone is interested here is a fairly plain mainline (with dsa) build I compiled yesterday

Jason Xu, are you okay?

Haven't you updated the Drive Redmi-AX6000 folder with new firmware for a while?
Do you still have access to groups that release firmware and which one would you recommend?

I'm waiting

Hugs

Hi, something is wrong with the latest firmwares, some of my devices do not want to connect to the network, they inform me that the ap is full or that the credentials are wrong, even though I did not change anything in the config. After 3-4 restarts, I usually manage to connect to wifi, but this behavior is at least inconvenient. The most interesting thing about all this is that the log is clean, as if this devices did not even try to connect. The problem occurs on iPhone 14 pro, intel ax201 card and MacBook m2 pro. The problem has been present for about 2 weeks. I will also add that I have a schedule set so that the router restarts every night because the 5ghz radio randomly stops working and gets up only after restarting the entire router. I'm using snapshot builds.

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi'
        option band '2g'
        option channel '9'
        option country 'PL'
        option cell_density '0'
        option htmode 'HE20'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'lede'
        option ifname 'lede0'
        option encryption 'sae-mixed'
        option key '****'
        option ieee80211k '1'
        option bss_transition '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi+1'
        option band '5g'
        option htmode 'HE160'
        option channel '100'
        option country 'PL'
        option cell_density '0'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'lede'
        option ifname 'lede1'
        option encryption 'sae-mixed'
        option key '****'
        option ieee80211k '1'
        option bss_transition '1'

config wifi-iface 'wifinet2'
        option device 'radio0'
        option mode 'ap'
        option ssid 'IoT'
        option encryption 'psk2'
        option ifname 'IoT0'
        option key '****'
        option network 'lan'

Hi Guys,

What is wocpu being used for?
I mean that WARP mechanism (mediatek wi-fi warp accelerator, present since mt7622).
Is there any use of it in OpenWRT?

Does openwrt have any plans to add mtk drivers? The mtk drive does have a better signal.

Look here: Use mtk sdk HWNAT driver to replace hw flow offload

While I can't speak for the project, it's safe to assume that this is not going to happen, ever. If there are problems with m76, help fixing it - it's mainline, it's the way to go to improve the situation for everyone, once.

Now I revert mt76 package to old one, which I have been using without problems for my devices. So far, so good.

I also have used new one, but it does get very annoying disconnecting, what I see in the log were these:
IEEE 802.11: deauthenticated due to local deauth request

IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

And the worse thing is that I wake up in the morning and my phone is still connected to WiFi but after a while it shows that it's disconnected and then connects right back up again.

I did give someone else the new one I had problems with before to test, and they had a similar problem, but after they deleted the default generated wireless configuration in luci and added one manually, the problem suspiciously disappeared!

1 Like

I'm having the random disconnect/unable to reconnect issue too lately, same thing in logs. The reauthentication looks legit, but I have to reboot the AP to get the device back online. Only thing I see is

Mon Jul 24 00:08:21 2023 daemon.info hostapd: phy1-ap0: STA xx:xx:xx:xx:xx:xx IEEE 802.11: authenticated
Mon Jul 24 00:08:21 2023 daemon.info hostapd: phy1-ap0: STA xx:xx:xx:xx:xx:xx IEEE 802.11: associated (aid 2)

No other errors or warnings. MT76 seems to have had some pretty big regressions as of late, think these changes should've waited till after 23.05 since a lot of stuff seems to be breaking.

A possible workaround seems to be setting the AP to WPA2 only, vice WPA2+WPA3. Unsure if thats actually a reliable fix though.

OMG, there seems to be another bug...see this:

image

I wasn't around this router during any of the times shown in the picture...then this bug causes me to come back and not connect to the corresponding WiFi band. I've always set the same SSID and password for the 2.4G and 5.2G/5.8G bands, so I basically didn't notice this much.

And today, my PC woke up from sleeping (not hibernation), this also happened after I recompiled the firmware on July 9

With the old mt76 package I see it has lost hardware offload...

[!] Hardware flow offloading unavailable, falling back to software offloading

some tips:
don't make shared wpa2/wpa3 networks just make a wpa2 and a wpa3 separately
for your wpa2 network don't enable management frames, even optionally, make sure it's disabled (definitely seen it cause problems with samsung/android devices)
DFS doesn't seem to work with wpa3, so if you've made a wpa3 network on a band, you pretty much have to manually choose a wireless channel, you can't choose 'Auto'

I've been using WPA3 on DFS channel 100 flawlessly for a week now.

I was having some disconnects in station mode but those were either caused by recent mt76 patches or using WPA2/3 mixed-mode. Since switching to WPA3 and pulling in the latest commits I haven't had any issues.

cool, i'll double check it myself

The recent WPA2+WPA3 packages are an artifact of a hostapd update.
OpenWrt master: https://github.com/openwrt/openwrt/commit/cd804c1ebb34c9740f8ad9fe393a81f3efb7b009
23.05 snapshot: https://github.com/openwrt/openwrt/commit/8d7d9aa4a46366a0057b3ccf461322dda8008552

Reverting that fixed the disconnect/unable to reconnect/wrong PSK bug. 802.11s is still pretty broken though.

I noticed that, this device consume too much power and get warm...
Is there are any power save features could be enabled?

On 'iw phy0 info' I saw;
SM Power Save disabled
Yeah this is for devices I think but... why does it disabled and do you how to enable it?

Had the 2nd kernel oops resulting in broken WiFi radios/reboot required. For context, this is the 2nd one in nearly 9 months of 24/7 usage. No idea what caused it.

Snapshot build from a few days ago. From dmesg:

[430910.938958] mt798x-wmac 18000000.wifi: Message 00005aed (seq 2) timeout
[430931.398730] mt798x-wmac 18000000.wifi: Message 00005aed (seq 3) timeout
[430951.856932] mt798x-wmac 18000000.wifi: Message 00005aed (seq 4) timeout
[430972.315175] mt798x-wmac 18000000.wifi: Message 000026ed (seq 5) timeout
[430992.774687] mt798x-wmac 18000000.wifi: Message 000025ed (seq 6) timeout
[430992.781695] ------------[ cut here ]------------
[430992.786642] WARNING: CPU: 0 PID: 10800 at ___ieee80211_stop_tx_ba_session+0x2f4/0x340 [mac80211]
[430992.795794] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7915e mt76_connac_lib mt76 mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c crc_ccitt compat crypto_safexcel configs sha1_generic seqiv md5 des_generic libdes authencesn authenc leds_ws2812b leds_gpio gpio_button_hotplug
[430992.852829] CPU: 0 PID: 10800 Comm: kworker/u8:1 Not tainted 6.1.40 #0
[430992.859683] Hardware name: Xiaomi Redmi Router AX6000 (OpenWrt U-Boot layout) (DT)
[430992.867576] Workqueue: phy1 ieee80211_ba_session_work [mac80211]
[430992.873929] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[430992.881217] pc : ___ieee80211_stop_tx_ba_session+0x2f4/0x340 [mac80211]
[430992.888175] lr : ___ieee80211_stop_tx_ba_session+0x1f0/0x340 [mac80211]
[430992.895132] sp : ffffffc011f4bc90
[430992.898776] x29: ffffffc011f4bc90 x28: 0000000000000001 x27: ffffff800353c000
[430992.906239] x26: ffffff80020dc680 x25: ffffff8002028880 x24: ffffff8002028880
[430992.913702] x23: ffffffc00095e4d0 x22: ffffff80035380e8 x21: 0000000000000001
[430992.921166] x20: ffffff800167fc00 x19: ffffff800353c000 x18: 0000000000000105
[430992.928628] x17: ffffffc0173cf000 x16: ffffffc008000000 x15: ffffffc008ae9950
[430992.936090] x14: 000000000000030f x13: 0000000000000105 x12: 00000000ffffffea
[430992.943553] x11: 0000000000000040 x10: ffffffc008ae6c20 x9 : ffffffc008ae6c18
[430992.951014] x8 : ffffff8000403b78 x7 : 0000000000000000 x6 : 000005173681c2cd
[430992.958477] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[430992.965939] x2 : 0000000000000001 x1 : 0000000000000002 x0 : 00000000ffffff92
[430992.973402] Call trace:
[430992.976180]  ___ieee80211_stop_tx_ba_session+0x2f4/0x340 [mac80211]
[430992.982792]  ieee80211_ba_session_work+0x420/0x4a4 [mac80211]
[430992.988883]  process_one_work+0x210/0x394
[430992.993227]  worker_thread+0x160/0x4b4
[430992.997307]  kthread+0xd4/0xe0
[430993.000694]  ret_from_fork+0x10/0x20
[430993.004601] ---[ end trace 0000000000000000 ]---
[431013.232231] mt798x-wmac 18000000.wifi: Message 00005aed (seq 7) timeout
[431033.691114] mt798x-wmac 18000000.wifi: Message 00005aed (seq 8) timeout
[431054.150010] mt798x-wmac 18000000.wifi: Message 000026ed (seq 9) timeout
1 Like

Does anyone has tried to sysupgrade to new firmware with
OPENSSL_ENGINE_BUILTIN and OPENSSL_ENGINE_BUILTIN_AFALG and OPENSSL_ENGINE_BUILTIN_DEVCRYPTO
enabled?

I could do that for a few days after this , but I see it has been broken for a lot days and no one commit it.

I have always been using stock layout and have not tried openwrt uboot layout.

Greetings to the OpenWRT community
I performed the procedure described on the page (https://openwrt.org/toh/xiaomi/redmi_ax6000),
after the last command launched (sysupgrade -n /tmp/ax6000-ubootmod-squashfs-sysupgrade.itb) the router kicked me out and gave no response.
I connected the serial port and the only response I get is the following:

F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
T0: 0000 020D [010F]
Jump to BL

NOTICE: BL2: v2.9(release):OpenWrt v2023-07-24-00ac6db3-1 (mt7986-spim-nand-ddr4)
NOTICE: BL2: Built : 15:04:53, Jul 29 2023
NOTICE: WDT: Cold boot
NOTICE: WDT: disabled
NOTICE: CPU: MT7986 (2000MHz)
NOTICE: EMI: Using DDR4 settings
NOTICE: EMI: Detected DRAM size: 512MB
NOTICE: EMI: complex R/W mem test passed
NOTICE: SPI_NAND parses attributes from parameter page.
NOTICE: SPI_NAND Detected ID 0xc8
NOTICE: Page size 2048, Block size 131072, size 134217728
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.9(release):OpenWrt v2023-07-24-00ac6db3-1 (mt7986-spim-nand-ddr4)
NOTICE: BL31: Built : 15:04:53, Jul 29 2023

U-Boot 2023.07.02-OpenWrt-r23643-ca8868a511 (Jul 29 2023 - 15:04:53 +0000)

CPU: MediaTek MT7986
Model: Xiaomi Redmi AX6000
DRAM: initcall sequence 0000000041e71750 failed at call 0000000041e0267c (err=-22)

ERROR ### Please RESET the board

Someone please help me to resolve my problem

Thank you

Bad news: board is bricked and you’ll need a ch341a and wson 8x6 clip to fix.

Good news is it fixable with those 2 tools.

https://github.com/openwrt/openwrt/commit/915fd357fd06139ac436f246800c2eb55202cba2 fixed this

Follow Adding support for TP-Link XDR-6086 - #168 by kastellsc for more info