Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Whats the version you are running?
I usually stay away from EEA MIUI versions, Global has worked fine for me

MIUI Global 12.5.8 stable (RKOEUXM)

If its RKOEUXM then thats EEA version
Global is currently and usually much newer then EEA

What would you recommend to try? I dont think there are any settings to change, so I need to swap ROMs.

I would recommend switching to a global release, that's the easiest to try

I still had issues with 5 GHZ 160 MHz with the Laptop. I could connect to the WLAN but had no connection to the interenet (I Use the AX 3600 as stupid AP without Routing, all Interfaces are placed in the LAN). Aftzer Starting the wireless Interface new and switching back to 80 MHz the connection was successful. Now i changed to 160 Mhz again and all workes fine.

For me is happening the same in both bands (with all releases i've tried). If you put the router in AP mode (no dhcp, static lan ip, firewall off, wlan only), there is no internet the second time you reconnect to the ap.

If you reboot the router and connect, first time everything is ok, when you disconnect and reconnect (in my case I connected to other ap I have, and then reconnect), there is no internet.
One thing I realized is, If I disconnect LAN cable and reconnect, wifi is ok for that time until second reconnection. I do the same another time, and it reconnects first time. Other thing I realized is that If I change the mac of the phone or pc, it reconnects, so maybe is something related to hostapd or broken arp table or dhcpd (system log is clean)

I had to put AX6 in router mode to solve this problem, because it's happening in Coolsnowwolf, robiemarko and Boos releases, 5.10 and 5.15

I'm having exactly the same problem... with ax3600

Can you link those?
I saw the BSS coloring for Hostapd but that has been shot down before, a possible solution is to set it randomly from OpenWrt if its not already set

It sounds like the old problem of MAC addresses not getting flushed (known issue). See this post for a workaround.

These are probably the ones shot downHere they are:
BSS coloring in hostapd:

BSS coloring in mac80211:

MU-EDCA in hostapd:

MU-EDCA in mac80211:

Also I seem to be doing some progress on the failsafe part. It seems that only the preinit section is ran, do we need something to start at boot to have the ethernet ports available? cause that seems to be the issue

1 Like

Thanks, is the qca-ssdk-shell added in your build @robimarko ? Maybe it's interesting to add it by default in the builds and the script, because it's a common fault when in AP mode

Thanks @psi-c will try it or rebuild if not included that package, it was broking my head this week trying a lot of releases for AX6, but definitely the one with 5.15 is the most performance in terms of low ram usage and speed

My experience in AX3600 as wireless AP connected by lan cable: I connect my PC with cable, run "wifi down" only and then sysupgrade works 1rst try.

No, it's not included by default.
This is something that should probably be sorted out differently.

Hm, this looks like it's trying to do something that should solve duplicate FDB entries:
https://source.codeaurora.org/quic/cc-qrdk/oss/lklm/qca-ssdk/commit/?h=NHSS.QSDK.12.1.r2&id=f6a154d5fc7e393a87b3700cf6bf77f0af0732ff

I hope i haven't put the trail together incorrectly, but here's some info:

I believe hostapd was updated to version 2.10 as part of this commit.

Within openwrt, looking here, it looks like coloring was added upstream if not defined in config.

Oh great, I was following that commit as part of Johns original BSS coloring patches and they had merged all except for the random BSS color one.
So, they merged a different one as Jouni is author of this one.

This would explain why I am getting really good performance even without defining BSS coloring, this is good as its one less thing to worry as we are already using Hostapd 2.10.

That's already been committed for some time and I have seen it, but this doesn't fix the problem. That commit leaves us with a random bss color, yes, but the "BSS Color Disabled" is set to 1 (Yes) which disables bss colouring

But what's the purpose of random BSS color then?
Cause I don't see an on/off switch type option for hostapd config at all, it's just the BSS color 1-63 you want.

But you are right, it broadcasts the BSS color, in my case it chose 0xa aka 10 but BSS Color Disabled is set to True.

Ok, so they are setting it cause clients are crap and require BSS color despite it being disabled.
So, adding random setting in OpenWrt is still required.

Right now hostapd's behaviour is, if a number is set in he_bss_color= then that number is broadcasted allong with the flag "BSS Color Disabled" to zero, otherwise, this flag is set to 1 and a random number is broadcasted
What we need is a option to make it auto, and for it to detect and act up on color collisions, that's what those patches add. Why they have been rejected by the hostapd team is beyond me but they implement one of the core features of ax

Adding a random option in openwrt's script won't work as it will not be dynamic, and can interfere with local stations that might be already using that color, and if by some chance they are openwrt they will colide, over and over causing performance losses.

As for the MU-EDCA patches they should help provide better WMM(QoS) dynamically with the required needs.

Well, I assume that they weren't generic enough.
John sent something originally back in 2020, I see that in September of 2021 they sent new versions.
Also, v2 was sent in November, its still pending.
Even if they are merged they still need to add CCA and rest of the stuff to the kernel so that it all happens automatically.

ath11k looks to already know if there is a collision and propagates that to mac80211
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/drivers/net/wireless/ath/ath11k?h=ath-next&id=886433a984254c6d2c2074688dc8f48c40b1c070