Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Just curious but why was needed reboots so often for you?
I have two of ax3600 one just as a dumb AP with 801.11r and both had 30 days uptime until I yesterday did new build from pr repo and flashed them. I`m not using ath10k as its garbage compared to ath11k on this black box. Whole time I had 5-20 connected various clients with WiFi4-Wifi5-Wifi6 devices. Even tho I'm using 23dBm with cron job to limit it to 15dBm at night with wifi reload command(maybe this reload helped me to not reboot them ?)
I can definitely see some better memory management from new -pr repo, Robi and Ansuel sacrificed a lot of time to this project and I'm really grateful for that work!

reason for reboots was that I noticed I can‘t connect to the AP anymore. There were no related messages and there were old connections still working fine. edit: memory was not an issue

Testing release 56194b5
Dumb AP with wpa2/3 Mixed.
i get a lot of

[ 2207.325826] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0
[ 2240.500122] ath11k c000000.wifi: Failed to add peer: fc:xx for VDEV: 0
[ 2240.500177] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0
[ 2267.524793] ath11k c000000.wifi: Failed to add peer: fc:xx for VDEV: 0
[ 2267.524848] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0
[ 2273.679948] ath11k c000000.wifi: Failed to add peer: fc:xx for VDEV: 0
[ 2273.680001] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0
[ 2306.959282] ath11k c000000.wifi: Failed to add peer: fc:xx for VDEV: 0
[ 2306.959339] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0
[ 2332.067740] ath11k c000000.wifi: Failed to add peer: bc:xx for VDEV: 1
[ 2332.067795] ath11k c000000.wifi: Failed to add station: bc:xx for VDEV: 1
[ 2340.130973] ath11k c000000.wifi: Failed to add peer: fc:xx for VDEV: 0
[ 2340.131027] ath11k c000000.wifi: Failed to add station: fc:xx for VDEV: 0

But so far it seems stable.

Yes exactly the same here.
VDEV errors / wifi crash resulting in wifi clients being unable to connect.

I get this about twice a week, requiring a reboot.

Memory usage is fairly stable at this point I find in terms of leaks.

What firmware and how many clients clings can the limit be exceeded?

@Ansuel : I've checked your build from tree ipq807x-5.15-pr-wifi-offload. It seems that there's still some offload issue in direction wifi->wan. on speedtest download is ok, but upload sometimes 8-10Mbit, sometimes 100Mbit after few seconds... but never full bandwidth over wifi (intel ax210, 80MHz). On lan cable everything works perfect. Any idea what can be adjusted/check else?

edit: over 2.4GHz - upload is max to wifi speed, on 5GHz band -> 2-10 Mbit

I didn‘t experienced any reboots so far. There are around 6 Clients. I now checked the client which was not able to connect as the log said and this iPhone said it was connected via unsecure WEP? :flushed:
Disabled/Enabled Wifi on the iPhone and now its connected again without security warning and the kernel warnings are gone!? It looks like the other clients selfhealed themselfs …

Could you try to setup only WPA2-PSK + Force CCMP (AES) ?
I have that setup and never had those errors.
I also have krack countermeasures enable.
I have 80Mhz, not 160Mhz, because one of my mobile phones sometimes doesn't like 160Mhz, it connects to wifi, but can't use internet.
Give it a try to see if those errors go away (or not).

Changed to WPA2-PSK + Force CCMP (AES) on both bands.
But same errors occures.
I also use 80Mhz, krack countermeasures disabled.

But so far even with the errors, i seems every client can use internet (children + wife didn't say anything)

1 Like

Hello guys, I updated the firmware "Updated prebuilt images 2022-05-22" Ansuel, AX3600, there was only one reboot during the work, the speed became more stable overall, and the increase. Great job!!!.

@robimarko anyway wifi is still a meme....

free ram decrease when upload is not running and free ram increase while i upload file....

like i stop an upload on westranser and ram goes from 160 to 130 and decreasing...
i restart the upload ram goes 130 to 160

I should really investigate the idle ring... the buf recycle code looks correct to me... (found some leaked memory but not something that would cause 160mb consumed in some hours.

like this can be clearly be see with
while true; do free; done and watching how ram behave while uploading and while the system is idle... (it's incredible than on system load ath11k is more conservative...)

From what i notice they apply some logic for how the buffer ring are handled so i wonder if the logic is flawed in the case of the system not loaded... (there are some check that decide what buffer to replenish based on the other ring state...)

Hello everyone,

First, thanks for this port, I'm using it for few months on AX3600 and it works great, no problem so far.
I just have a weird problem with wired connection.
My ISP provides me 1Gb as download, I've downloaded speedtest-cli on the router, I can get 900Mb so it's fine, but if I plug a cable on the router itself to my computer, I can't get the same download speeds, it's limited to 500Mb.
I tried the same computer/cable on my ISP router and I can get full download speed.
Is there something to check on the router to find what's wrong?

Thanks!

Well yeah, BTW PCI ath11k is still broken after the last wireless-backports update.
It's now a mess as QRTR and MHI was backported to be used by ath11k PCI but that means that it will conflict with OpenWrt provided kmods, it's a mess.

If SSDK was compileable under Buildroot I would have tested ath11k in-kernel, and not this backporting mess.
But QCA has hardcoded everything for the OpenWrt toolchain in SSDK, so getting that to compile would basically mean a rewrite to KBuild

Yep i notice those patch on wlan-open for the unifying of the functions...

Well honestly the problem is with mixing the packages from kernel and backports... IMHO we were lucky that the changes weren't that much and worked... So everything is broken again... god damn...

Well, I tried explaining that it would conflict but Hauke wants the PCI version to work from backports, it makes sense however PCI and AHB versions share a lot of core stuff but with SMD and MHI variants.
And then SMD versions conflict as the core kmod is built from a different kernel.
Not to mention that quilt is quite stupid and for sure that are some patches that have been upstream but for some reason, it applies them fine again.

I honestly have no idea how to fix it at this point as I really want to finally make a PR and start moving into getting it in OpenWrt

1 Like

Finally got around to backporting the remaining stuff for ath11k till the ath-next tip, it works on AX9000 fine as I can get 700/500 over speedtest at HE80.

2 Likes

did you notice any patch that quote about memory management? or only some fixup for tx/rx rate?

Only one was about reuse of the same memory for the firmware, check the ath-next patches from ath11k: add support for extended wmi service bit to today

Hello,
Is there any way to enable offloading between switch ports?
I'm now using pc connected at port1 and another machine connected to port2. When I copy files between them, Core0 load of AX3600 is almost 100% and speeds suffer.
I'm not using VLANS

Anyone seen this?

Wed May 25 22:08:31 2022 daemon.notice hostapd: Unsupported authentication algorithm (3)

Have these since 2 weeks but don't notice something failing

EDIT: using hostapd that comes with github firmware