Adding OpenWrt support for Xiaomi AX3600 (Part 1)

imho the only way is analyze what fal does and reimplement it (aka don't even try to port it)... but it's a nightmare considering this way someone has to stick to the qcom implementation and doesn't really know if something can be done differently.

Well, that is the only way when you don't have any kind of a datasheet.

Considering how it went with ipq40xx and your experience I'm starting to think we will have a Documentation when ipq807x will be obsolete and we have ipq808x

Most likely

@robimarko you know what a good test would be? Hack the ssdk_hppe.c source in ssdk and comment part of it and check the results. Would be interesting to check what is the min init required.

I don't think that the switch would be that hard to get working without the bandwidth management/QM stuff but the ethernet on the other hand, well that's a whole new thing.

I really dont have to be poking around SSDK but I would so love to get rid of it and have DSA

1 Like

Yes, something definitely went wrong.
It probably has something to do with the fact that I saved my configuration under a name I chose myself.

Now I have recompiled the whole thing again and look: The first tests seem to be promising. At least I am writing these lines over the AX3600 as an wifi access point!
Of course, I don't know if everything works yet, but the basics are fine for now.

So many many thanks!
But not only to you, but to all those here who are working so actively to get this device up and running for OpenWRT - especially @robimarko, of course.

In case someone else is in a similar situation, I have uploaded my build here (does anyone have a tip for a trustworthy file hoster?)::


Installed your build, and now it working like a charm! Switching between wifi-networks is immediate, without any delay of connectivity.
But what the cost? Why @robimarko doesn't include it in his builds?

At least the build is affected by the memory leak. (I currently only have ~60MB free).
I've read a lot about the 512MB patch but I don't know how to activate it yet.

It's enabled by default.

@wf1nder I am looking to get rid of QCA crap, not pull in more of it as even now its unmaintainable and this target needs to be redone from scratch

@robimarko I am running AX3600-restart build from your repo and included the "lede-ath11k-patches" and the 512MB patches. No memory issues over the last 21 days. The wifi works very well.
Yesterday I tried the Backports-branch and the wireless seems to be very laggy, plus frequent disconnects on my iPhone 13 and significantly lowere amounts of free RAM.
Overall the router is very sluggish with the backports build.

Anything I need to tweak in the configs?

I honestly don't have any advice I can give you

Then the patch-name is a little bit misleading because i only have 406,9 MiB of total memory.

No it’s not. Hardware does have 512MB RAM

I am replying to you, but this goes for all the "testers" who complain without proper details of the issues.

Robi is not a mind reader. Especially when you compare two versions, exactly state what the versions are. "LEDE patches" means nothing. "significantly lowere amounts of free RAM" means nothing. "Slughish" means nothing.

If there is a memory leak issue, or performance issue, conduct proper tests and share the results, not the complaints. Especially when you compare two versions. You need to be able to quantify a performance issue. For example monitor the memory usage for a couple days and share the charts. IF you are using not the default images, share the diff so we see what you modified. If you experience low memory, check the kernel logs for OOM events etc.

Just laying these useless complains does not help the development effort, just spams the topic.

Not to mention the contradiction of what we see about the memory leak recently. On my side, the router was very prone to the memory leak due to my usecase (small amount of clients mostly idling). Yet with the latest IPQ-backports branch I have very good results both in terms of Wifi performance, as well as with the leak, although I am using slightly newer wifi firmware (WLAN.HK.

So the bottom line is: share proper amount of details and actual measurements and comparisons, that backs your case, if you really want to help.


Just to clarify my post - this was no complain at all! I am very impressed how well the thing is actually working! And even more impressed and thankful how much effort was put into the system in particular by @robimarko.

Yes i know. That's why i'm saying misleading. because can only use 406MB of These 512.
i thought the Patch would give Access to the füll 512 MB.

The device has 512MB, this is what the patch name refers to. That it applies to devices (not just the AX3600 but all of them) with 512MB RAM. So the patch name is correct, your interpretation is not correct.


So with activated 512Mb Patch i get access to 407mb of total available memory - correct?
If so the patch ist succesfully activated at my current build.

Yes, that is correct. If you look carefully, without the patch you have only access to 376MB of total memory, but that is just part of the patch and not the most important aspect.
THe most important apsect is this: link
It tells the driver to limit among other things the maximum number of clients to 128. The whole point is to tell the driver that it should use less memory, and hopefully trigger memory cleanup more frequently or aggressively. And it so far works. The newer wifi firmware also helped, that is not part of the build yet, but anyone can give it a try.

We are waiting for the new wifi fw to be released (version 2.6.x.x) hopefully before the end of this year, we expect even better memory management as well as fixing the regulatory crap for ETSI countries.