Adding OpenWrt support for Xiaomi "Redmi Router AX6S"/"Xiaomi Router AX3200"

Officially, only through the proprietary TFTP client. If there is nothing else on the pages of WIKI, then it does not exist.
I flashed many dozens of these routers in order to increase the power of the Wi-Fi signal, there was not one with a non-working TFTP. This is part of the bootloader (BIOS). If it is damaged, then the router will not boot.
Perhaps someone will give a link to such software, I do not have it.

I meant to write USB TTL, sorry

  1. I'm OK with SSH connection type, maybe it's your PuTTy installation?
  2. Can confirm this, just installed on 3 rb03 unit for my flat, telnet works even though this showed "false"

I've got a strange issue with my AX6S where the 802.11k amendment is being broadcasted on the primary (ra0 & rai0) but isn't being broadcast on additional SSIDs I've created. I'm running the proprietary Mediatek drivers/firmware.

Any ideas why this might be the case and if there's something I can do to fix this?

Screenshot of my Luci page:

Hi, this instruction open ssh on RB01 without UART and Second Xiaomi router
https://4pda.to/forum/index.php?showtopic=1033757&view=findpost&p=124330579

Hi, this video instruction open ssh on RB01 without UART and Second Xiaomi router

How is your bufferbloat on fiber ? I have terrible UPLOAD bufferbloat and can't find any solution sqm doesn't work if hw offloading is enabled also ISP requires pppoe session, I used to have cable and didn't have such high bufferbloat. If I'm uploading more than 50% (50mbs of 100mbs) ping starts rising and can't play online games.

I'm using simplest_tbf.qos + fq_codel (queue discipline) and I have A+ on bufferbloat (with SW+HW offload enabled). I can say, that I have slower internet bandwidth comparing to cake + piece of cake.

My config looks like:

# https://www.waveform.com/tools/bufferbloat?test-id=992b05f5-5e29-494e-b39d-dfa12c67c157

config queue 'eth1'
	option enabled '1'
	option interface 'wan'
	option download '840000'
	option upload '840000'
	option qdisc 'fq_codel'
	option script 'simplest_tbf.qos'
	option linklayer 'ethernet'
	option debug_logging '0'
	option verbosity '5'
	option overhead '44'
	option linklayer_advanced '1'
	option tcMTU '2047'
	option tcTSIZE '128'
	option tcMPU '84'
	option linklayer_adaptation_mechanism 'default'

Thanks I've changed to this config, but sqm doesn't seem to work at all if hw offloading is enabled I've put 840 000/84 000 (I have 1000/100) and speedtest goes above ping is even higher

wan6 is not started on boot (ISP doesnt support v6 lol), wan connects vith pppoe, Packet Steering disabled, sw + hw offloading enabled, I've posted config and logs below if you have any idea thank you in advance.

config queue 'eth1'
	option debug_logging '0'
	option enabled '1'
	option qdisc 'fq_codel'
	option script 'simplest_tbf.qos'
	option linklayer 'ethernet'
	option overhead '44'
	option linklayer_advanced '1'
	option tcMTU '2047'
	option tcTSIZE '128'
	option tcMPU '84'
	option linklayer_adaptation_mechanism 'default'
	option download '840000'
	option upload '84000'
	option verbosity '8'
	option interface 'pppoe-wan'

my interfaces

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

config globals 'globals'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	option igmp_snooping '1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'wan'
	option macaddr 'xxxx'

config interface 'wan'
	option device 'wan'
	option proto 'pppoe'
	option username 'xxxx'
	option password 'xxxx'
	option ipv6 'auto'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'
	option auto '0'
	option reqaddress 'none'
	option reqprefix 'auto'

debug log

Tue Aug 15 00:28:13 2023 user.notice SQM: Stopping SQM on pppoe-wan
Tue Aug 15 00:28:13 2023 user.notice SQM: ifb associated with interface pppoe-wan: ifb4pppoe-wan
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc del dev pppoe-wan ingress
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc del dev pppoe-wan root
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc del dev ifb4pppoe-wan root
Tue Aug 15 00:28:13 2023 user.notice SQM: /usr/lib/sqm/stop-sqm: ifb4pppoe-wan shaper deleted
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev ifb4pppoe-wan down
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete ifb4pppoe-wan type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: /usr/lib/sqm/stop-sqm: ifb4pppoe-wan interface deleted
Tue Aug 15 00:28:13 2023 user.notice SQM: Starting SQM script: simplest_tbf.qos on pppoe-wan, in: 840000 Kbps, out: 84000 Kbps
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: function candidate name: sqm_start
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: TYPE_OUTPUT: sqm_start: not found
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: return value: 1
Tue Aug 15 00:28:13 2023 user.notice SQM: Using generic sqm_start_default function.
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: function candidate name: sqm_prepare_script
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: TYPE_OUTPUT: sqm_prepare_script is a function
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: return value: 0
Tue Aug 15 00:28:13 2023 user.notice SQM: sqm_start_default: starting sqm_prepare_script
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_2a565 type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: IFACE: SQM_IFB_2a565 MTU: 1500
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_2a565 root tbf limit 1 burst 1514 rate 1kbps
Tue Aug 15 00:28:13 2023 user.notice SQM: QDISC tbf is useable.
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_2a565 down
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_2a565 type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_2db1d type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_2db1d root fq_codel
Tue Aug 15 00:28:13 2023 user.notice SQM: QDISC fq_codel is useable.
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_2db1d down
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_2db1d type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: sqm_start_default: Starting simplest_tbf.qos
Tue Aug 15 00:28:13 2023 user.notice SQM: ifb associated with interface pppoe-wan:
Tue Aug 15 00:28:13 2023 user.notice SQM: Currently no ifb is associated with pppoe-wan, this is normal during starting of the sqm system.
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name ifb4pppoe-wan type ifb
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: function candidate name: egress
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: TYPE_OUTPUT: egress is a function
Tue Aug 15 00:28:13 2023 user.notice SQM: fn_exists: return value: 0
Tue Aug 15 00:28:13 2023 user.notice SQM: IFACE: pppoe-wan MTU: 1492
Tue Aug 15 00:28:13 2023 user.notice SQM: get_burst: 1: 1492, 2: 84000, 3: 1000
Tue Aug 15 00:28:13 2023 user.notice SQM: get_burst (by duration): BURST [Byte]: 10500, BANDWIDTH [Kbps]: 84000, DURATION [us]: 1000
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev pppoe-wan root
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: LAST ERROR: Error: Cannot delete qdisc with handle of zero.
Tue Aug 15 00:28:13 2023 user.notice SQM: LLA: default link layer adjustment method for !cake is tc_stab
Tue Aug 15 00:28:13 2023 user.notice SQM: STAB: stab mtu 2047 tsize 128 mpu 84 overhead 44 linklayer ethernet
Tue Aug 15 00:28:13 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev pppoe-wan root handle 1: stab mtu 2047 tsize 128 mpu 84 overhead 44 linklayer ethernet tbf rate 84000kbit burst 10500 latency 300ms
Tue Aug 15 00:28:13 2023 user.notice SQM: get_limit:  CURLIMIT: 1001
Tue Aug 15 00:28:14 2023 user.notice SQM: get_target defaulting to auto.
Tue Aug 15 00:28:14 2023 user.notice SQM: get_ECN: ECN CURECN: ecn IECN: ECN EECN: ECN
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev pppoe-wan parent 1: handle 110: fq_codel limit 1001 target 5000us interval 100000us ecn flows 1024
Tue Aug 15 00:28:14 2023 user.notice SQM: sqm_start_default: egress shaping activated
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_e75c0 type ifb
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_e75c0 ingress
Tue Aug 15 00:28:14 2023 user.notice SQM: QDISC ingress is useable.
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_e75c0 down
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_e75c0 type ifb
Tue Aug 15 00:28:14 2023 user.notice SQM: fn_exists: function candidate name: ingress
Tue Aug 15 00:28:14 2023 user.notice SQM: fn_exists: TYPE_OUTPUT: ingress is a function
Tue Aug 15 00:28:14 2023 user.notice SQM: fn_exists: return value: 0
Tue Aug 15 00:28:14 2023 user.notice SQM: ingress
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev pppoe-wan handle ffff: ingress
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: LAST ERROR: Error: Invalid handle.
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev pppoe-wan handle ffff: ingress
Tue Aug 15 00:28:14 2023 user.notice SQM: IFACE: pppoe-wan MTU: 1492
Tue Aug 15 00:28:14 2023 user.notice SQM: get_burst: 1: 1492, 2: 840000, 3: 1000
Tue Aug 15 00:28:14 2023 user.notice SQM: get_burst (by duration): BURST [Byte]: 105000, BANDWIDTH [Kbps]: 840000, DURATION [us]: 1000
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev ifb4pppoe-wan root
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: LAST ERROR: Error: Cannot delete qdisc with handle of zero.
Tue Aug 15 00:28:14 2023 user.notice SQM: LLA: default link layer adjustment method for !cake is tc_stab
Tue Aug 15 00:28:14 2023 user.notice SQM: STAB: stab mtu 2047 tsize 128 mpu 84 overhead 44 linklayer ethernet
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev ifb4pppoe-wan root handle 1: stab mtu 2047 tsize 128 mpu 84 overhead 44 linklayer ethernet tbf rate 840000kbit burst 105000 latency 300ms
Tue Aug 15 00:28:14 2023 user.notice SQM: get_limit:  CURLIMIT: 1001
Tue Aug 15 00:28:14 2023 user.notice SQM: get_target defaulting to auto.
Tue Aug 15 00:28:14 2023 user.notice SQM: get_ECN: ECN CURECN: ecn IECN: ECN EECN: ECN
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev ifb4pppoe-wan parent 1: handle 110: fq_codel limit 1001 target 5000us interval 100000us ecn flows 1024
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev ifb4pppoe-wan up
Tue Aug 15 00:28:14 2023 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc filter add dev pppoe-wan parent ffff: protocol all prio 10 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb4pppoe-wan
Tue Aug 15 00:28:14 2023 user.notice SQM: sqm_start_default: ingress shaping activated
Tue Aug 15 00:28:14 2023 user.notice SQM: simplest_tbf.qos was started on pppoe-wan successfully

This question is not specific to the Redmi AX6S/Xiaomi AX3200 which are the subject of this topic.

I suggest creating a new topic in the forum section "Installing and Using OpenWrt -> Network and Wireless Configuration".

You may find additional help there.

2 Likes

It's normal.
You can only have one at a time. Either HW offlaoding or SQM.

1 Like

Did you check https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm ? If you are using PPPoE 1000/100 probably overhead should be 42, mpu 84. There is another thread in that forum related just for SQM configuration (you can even read that thread CAKE w/ Adaptive Bandwidth - #3159 by Lynx which is very interesting).
One more thing, HW offload should be disabled for best result. I accept lower bandwidth, lower ping and A score.

2 Likes

Hi sorry for bringing this back, I saw your comment which seems to be using a proprietary driver also. I'm just wondering if is it possible to bridge different interface in the WIFI? let see I have created a VLAN22 and I want it to be used instead of the default lan. Is it possible?

I don't use any VLANs but I don't see any reason why this wouldn't be possible. The proprietary driver generates interfaces for each SSID (ra0, ra1 etc. for 2.4GHz and rai0, rai1 etc. for 5GHz) which are then bound to whatever bridge you want. Here's some screenshots to give you an idea:

@gyrex is this on kernel 5.10? is your device running kernel 5.10?

Hi thanks for the response, that's what I actually did but no luck for me. All lan ports are working but just the wifi, I can't seem to bridge it on vlan22 nor vlan1 unless it is set to default ( without vilan filtering). Maybe the firmware I installed doesn't support wifi tagging right?

This video instruction installation OpenWrt on router ax3200 RB01

Thanks for your effort making this video.

@Kaba14 , just for clarification:

in the video, you demonstrated how to enable Telnet using the “netmode: 4” method by steps discovered by @jmceleney and reused the script @jmceleney developed, right?

Could you consider adding a brief note in the video description mentioning the script's original author, and maybe direct link to the original script source in the GitHub repository?

Thanks.

2 Likes

@Kaba14, Could you please include the original source of the method you described in your instruction published on the 4pda forum? Also, it's not clear why a direct link to the original script on GitHub is not provided.
Kindly add all these information as a sign of respect for the effort put in by contributors and authors.
Thank you.

2 Likes

I'm using the latest development builds with open source wifi drivers, vlan tagging it's working fine for wifi.

My setup is with ax6s as DAP, 4 vlans, 6 ssid.
3 vlans paired with a Sonicwall and one with OPNsense, all working as expected.

I would suggest try openwrt with vanilla open source drivers.

1 Like