Add OpenWrt support for Xiaomi "Redmi AX6000"

You should have booted into OpenWrt initramfs, available in the LAN ports at 192.168.1.1 (use an IP from range 192.168.1.x in your computer). As the range in the WAN side is the same, disconnect WAN cable to avoid conflicts until you have finished installation.

Thank you @jav
This is one of the tests I did this morning (during the network scan), but I didn't have access.
By trying with another PC, I succeeded on 192.168.1.1 (problem with IP configuration on the other PC? One of my permanent routes causing a problem? I don't know, it's not a big deal for the moment)
Problem solved. Thank you.

There seem to be a HWNAT (hardware accelerated NAT driver) in the MTK official SDK, and people found that using HWNAT will significantly increase the LAN/WIFI throughput of Redmi AX6000.

https://www.right.com.cn/forum/thread-8261104-1-1.html

I was trying to compile openwrt snapshot code with the patch, but I am not familiar with kernel development.

Maybe someone knows how to upstream this?

2 Likes

Ideally you just pull that commit or download it as a patch and patch the code before you build the image. The issue I see is that the code you linked is for the 5.4 series of kernels but OW uses the 5.15 series so someone will have to see if it applies cleanly or tweak the files if not.

A quick check shows that Mediatek hardware acceleration was dropped from OpenWrt tree in 2018. See this commit:

What it's been added is the hw flow offload function. There're some attempts to add hw NAT back, but this is still WiP:

3 Likes

Hi, I created a new account just to come here and say thank you for the amazing work!
My network has never been better! Having a cheap device that has this much performance for this cheap being able to run OW is huge!
I know the support for this modem is still in "beta" but it's running rock solid for me and I didn't encounter any problems.
The install instructions could be improved on some points, specifically when to to use scp to send the files, how to enable the telnet client on windows and the fact that i had to use a python script to discover the ssh root password (could I have changed it in the telnet?), but otherwise it's very good already!

I feel that sometimes open sources dev can be very tiresome and lack incentives, so again, thank you so much! You're all awesome!
<3

6 Likes

Thank you for the feedback.

If you can share the specific details to be updated on the wiki, I'll try to go through them.

Particularly, you don't need to use a python script to find the root passwd, you can just change it in the telnet connection.

1 Like

hello there ,
I wanted to install the OpenWrt on Redmi AX6000 ,

can you please share with us the latest guide to follow ?
step by step and highlight your notes along with the installation process

thank you

1 Like

Greetings!
Have some floating problem with 5 GHz AP. 2.4 is OK.
Time to time it just disappears and cannot be connected to from any device.
Had this problem, touched nothing, it disappeared for a week (8 days no reboot and problems), today it came again w/o any actions and changes to settings.
Updated FW to fresh one, configured system through LuCi, WiFi worked. In several hours problem appeared again and "flickered" some times. While AP being inaccessible 5Ghz Channel Analysis may work or not, from time to time. Scanning for AP as client in Wireless section - always works and shows neighbours.

Probably HW issue / overheat? Too strange to be SW issue cuz it stops/starts working w/o any impact.

I live in RU, but use PA code and 20 dbm limit and legit frequencies. Band is fixed, not auto. Changing region to RU don't help. Either changing to 40/80 MHz.

wireless
config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc/18000000.wmac'
	option channel '1'
	option band '2g'
	option htmode 'HE40'
	option cell_density '0'
	option noscan '1'
	option txpower '20'
	option country 'PA'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid '*******'
	option encryption 'psk2'
	option key '*********'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/18000000.wmac+1'
	option band '5g'
	option cell_density '0'
	option htmode 'HE160'
	option country 'PA'
	option channel '36'
	option txpower '20'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid '******'
	option encryption 'psk2'
	option key '******'

Please use your own countries code for your radios.

Chances are you’re using a DFS channel.

I bought another AX6000 to use as a WDS client.

These are my iperf3 results through 3 walls at 10m, 160Mhz channel 100 and no interference:

$ iperf3 -c 192.168.2.1
Connecting to host 192.168.2.1, port 5201
[  5] local 192.168.2.3 port 48226 connected to 192.168.2.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   106 MBytes   886 Mbits/sec    0   1.91 MBytes       
[  5]   1.00-2.00   sec   111 MBytes   933 Mbits/sec    1   1.47 MBytes       
[  5]   2.00-3.00   sec   110 MBytes   923 Mbits/sec    0   1.60 MBytes       
[  5]   3.00-4.00   sec   104 MBytes   870 Mbits/sec    0   1.73 MBytes       
[  5]   4.00-5.00   sec   110 MBytes   923 Mbits/sec    0   1.82 MBytes       
[  5]   5.00-6.00   sec   109 MBytes   912 Mbits/sec    1   1.36 MBytes       
[  5]   6.00-7.00   sec   109 MBytes   912 Mbits/sec    0   1.42 MBytes       
[  5]   7.00-8.00   sec   110 MBytes   923 Mbits/sec    0   1.49 MBytes       
[  5]   8.00-9.00   sec   112 MBytes   944 Mbits/sec    0   1.52 MBytes       
[  5]   9.00-10.00  sec   109 MBytes   912 Mbits/sec    0   1.54 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.06 GBytes   914 Mbits/sec    2             sender
[  5]   0.00-10.01  sec  1.06 GBytes   911 Mbits/sec                  receiver

So yes, near gigabit throughput is achievable with a pair of these $100 beasts. This is likely the best we'll see on the OEM open-source side until 802.11be, at which point it would make sense to go 2.5G.

1 Like

I was able to get 1.1gbit/s with an Intel AX200 at 160MHZ :slight_smile: You should be able to get there easily with a 4x4 setup. If you're running iperf on the routers themselves, might be a CPU limitation.

Two of the three walls are concrete block so I think it's just my home. On my previous 2x2 80Mhz setup I was only able to get about 340 MB/s so this reaches 3/4 of the theoretical speed improvement, much better than I typically get from Wi-Fi advertising.

I've also tried enabling

option he_bss_color '8'
option he_su_beamformee '1'

...but I'm not sure if they help or hinder WDS clients/servers and don't see much of a difference. iperf test is from a client to NanoPi R4S and both of my AX6000 APs are in dumb mode with firewall, dhcp, etc disabled.

1 Like

Changing region to RU don't help.

Please use your own countries code for your radios.

Flashed update week ago, fresh-configured all stuff, and, despite already having tested it, set correct region (RU). During this week had several times of 5 GHz disappearing and appearing on it's own some time later (probably less than in hour).
Makes me think of HW issues...
No specific info in syslog/kernel, just "client disconnected". And none of my devices sees 5Ghz AP.

Did you set it to 80MHz on a non DFS channel? Your last post specified 160MHz which means DFS.

@981213 Is there any chance you can provide the exact syntax for setting the LED RGB colour in /etc/rc.local? I refer to here where you mentioned the RGB colour could be set to anything.

I am using command echo "94 220 25 1" > /sys/class/leds/rgb:status/multi_intensity for example which is clearly wrong. I have tried without quotes and with commas between the RGB components with no success. Basically I am unsure what the RGB format is. I'd like my LED strip to be a solid green colour when the router is up and running.

What I'm using right now (red green blue):

echo "0 255 31" >/sys/class/leds/rgb:network/multi_intensity
echo "255 0 127" >/sys/class/leds/rgb:status/multi_intensity
1 Like

Thanks mate, i just had an extra number (4th) in RGB value which was the issue. Am running the below now for pure green and all good.

echo "0 191 0" > /sys/class/leds/rgb:status/multi_intensity

@981213 Please disregard :slight_smile:

1 Like

Stock firmware v1.0.64 already shows downgrade=1 in url, not allowing to downgrade. Simply press Enter doesn't help.
But don't hesitate to change it to downgrade=2 :wink:
Succesfully installed Snapshot r21968 then.

2 Likes