Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Yes that's the correct one.

1 Like

@dspalu32 Can you make a PR with those patches?
I would do it myself but I have shitty internet on vacation and no way of testing.
Roaming is quite important

Good news if those patches help wired roaming, though it's not immediately obvious to me how anything except WDS/4addr modes would be affected.

Walking around the house running Ubiquiti WiFiman on my phone, I can cause lots of roaming without any glitches in connectivity. This is switching between 3x WDS-bridged AX3600, with each running 5GHz and 2.4GHz APs all simply using the same SSID (i.e. not 802.11r). I'm very happy.

@robimarko It'll be a few days before I'm at a computer again too.

I think you're right, I tried it remotely with a Pi4 switching between APs and it was happy. Trying it now I'm home with a Macbook and S8, and they still need minutes to get connectivity when connecting to the AX... Grr :slight_smile:

wrong place to ask that question

I forked the

repo

and added the patches.
They did not apply cleanly. Maybe I messed up the sequence?

The sources looked like the patches were applied anyways so I went ahead, testing.

Unfortunately still have roaming delays.

I‘ll probably wait for the PR.

With these patches added, the memory leak issue seems to be resolved:

  1. ath11k: use MHI provided APIs to allocate and free MHI controller
  2. ath11k: Avoid memcpy() over-reading of he_cap
  3. ath11k: set register access length for MHI driver
4 Likes

I am not sure about the first and third patch.

Do AX3600/AX6 use MHI?

Not sure too.
Haven't tested which patch(es) actually did that.
But with them it works.

I just checked Kconfig.
It's not selected by ATH11K_AHB

Okay thanks for confirmation.
So the second one should resolve the problem(?)

The memcpy one could be the one solving things as AHB ath11k does not use MHI, which is for the PCI cards only.

I cant test, but hopefully it solves the issue.

4 Likes

I'm trying apply the second patch only, after ~12h uptime the free memory from ~170MB to ~120MB, Looks like this patch worked ?

Just FYI, Ansuel's wifi offload doesn't work for me at all, it seems there is no traffic on wifi if I use the new firmware.

Has anybody noticed problems with Software Flow Offload and Wireguard or Wireguard in general?

I have recently started using the ax3600 as my main router and with Software Flow Offload enabled the performance(iperf) over a wireguard connection is very bad(~5Mbps) if I run the test from a ethernet device, however from Wifi the performance is about line speed(~80Mbps) no matter what I have Software Flow Offload.

With Software Flow Offload disabled everything is more or less working at line speed but with pretty wonky performance - while the peaks are fine the average is still about half the line speed.

I was checking out the Lede repo and stumbled upon this commit https://github.com/coolsnowwolf/lede/commit/7a4f49fb25c9b1e603341f57cbc7612e0ab20280 which claims to have fixed a memory leak. Maybe someone would like to check it out. Also im not sure if you guys are aware of it but Lede seems to be doing progress in terms of AX3600 support.

lede??????????????????????????????????
just read some post above... he probably just read this topic and backported the patch fact is that we asked for a pr and all this mess of having tons of split project working on the same thing is slowing down all the support for this target. A bit pissed... but could be that i'm just a bit stressed ahahahha
(my idea but sometime I see no intention by the chinese community about contribute to the project and it seems they pref to work on their own)

1 Like

yeah, I know, i get you don't worry. I was just seeing a ton of IPQ807x / ax3600 / ax6 related commits authored (not cherry picked) from this guy and i thought that they might be original. Also regarding the split projects Its been like this for quite some time. I highly doubt its going to change anytime in the near future, so we'll have to bear with it. By the way to me it is quite strange that they made ax3600 official while there are still known issues.

1 Like

anyway don't be confused... (or i could be confused) lede is just the old name of the current openwrt project... so they are just using an old repo and adding stuff to it. Not that official probably just another custom firmware probably

However, what is interesting is that even with the memory leak patch (which was also mentioned here) there is a guys claiming there are still memory leaks https://github.com/coolsnowwolf/lede/issues/7512
(i have not tested the patch myself)