Adding OpenWrt support for Xiaomi AX3600 (Part 1)

You are right, is cable connected PC.

I will test the speed with an ASUS router again, than switch back to the Xiaomi. However I don’t think, that the ISP is the problem. My connection is normally very stable.

With 5.10 I got full speed of my ISP provided speed, so I'm afraid it has something to do with the current version or setting.

I will update to a new version, as soon robi will provide something new.

Added the NAPI patch and pushed.

5 Likes

Thanks for looking into it, yeah U-boot will modify what it wants, and then it should just pass the memory pointer in r2.

I think I will try dumping the DTB from the running kernel, that way its clear if U-boot messed something up.

Great, build is on its way. Any sysfs or other config flags that might be needed?

No, its enabled by default in the driver for IPQ8074 and QCN9074 so it should just work

1 Like

On wired networking the speed and CPU load is the same as it was.

On Wifi the load is slightly lower, but it is spread quite a bit better then it was before across the cores.

Single client, AC @ 330Mbits Iperf3 DL (4 threads, WLAN-LAN):
image

Single client, AC @ 342Mbits Iperf3 UL (4 threads, WLAN-LAN):
image

80MHz@SISO in both the above cases. What I noticed is that Speedtest starts faster, and the ramp-up phase is also quicker. Tomorrow I can do AX tests if someone is not doing it in the mean time :slight_smile:

1 Like

Yeah, wired won't be affected it's just enabling threaded NAPI for ath11k.

I did a couple of rounds of AX@80MHz and I can get around 720Mbps compared to around 550Mbps without threaded NAPI and it spreads the load much better.
This is with my phone (Poco F2 Pro) and with 5 parallel connections as with only 1 I cant really get more than 330-ish usually
And it also includes NAT overhead as well as iperf3 server was intentionally connected to WAN.

Will do some 160MHz AX tests tomorrow. The diff should be very visible in that case. The load spread is already visible in AC mode, but maybe it was not enough traffic for NAPI to show a significantly lowered CPU load. We will see tomorrow.

1 Like

So I should have just kept quite. For this first time, it took me more than 2 attempts tonight.
Updating to the latest compiled version (r18856-d21fd5135c ) took a solid NINE flashes.

2 Likes

About 2 hours in, with the same build packages as before (actually +htop), I’m seeing free memory staying up at between 140MB and 170MB.

I’ve never seen free memory stay this high post boot for more than a couple of minutes. Prior builds the free memory would fluctuate between 90MB and 110MB.

@dchard are you seeing similar?

--
Update: At 14 hours uptime point, 157MB free

Same here!

1 Like

The memory consumption is better on my end as well. Never seen this low memory usage after half a day ever before. So yes, it improved quite nicely.

2 Likes

I'm seeing lower RAM usage too.

Related to this, the low-traffic AP (ap3 below, click to zoom) seems to have the margin to stably sit in the higher usage RAM state without OOM. Still too early to conclusively, but it seems the iperf3 cron workaround may not be strictly needed any more: the ~100MB effective loss of RAM isn't a functional problem.

sysupdate ran OK on the first attempt on two routers, with a "wifi down; killall -9 wpad; killall -9 hostapd" prefix. It failed on first attempt on the third router where WiFi wasn't first forced offline, and worked on the next try with WiFi taken offline. These three AX3600 are only WiFi/WDS connected, but that isn't a barrier to issuing a typo-free compound command that force-kills your ssh session.

Edit: 6 hours later, it's still stable at the higher level of usage, 100Mb free:

8b085be7-ad3f-4730-97a7-f74bedfbbaa5

2 Likes

@robimarko want to hear something familiar? My Xiaomi Mi 11 lite 5G NE just arrived, it can connect to 2.4G AX with nice speeds, but it sees no 5GHz AC or AX networks, where my Xiaomi Mi8 Lite sees the 5GHz AC network of the AX6... Wifi analyzer is not even showing the 5G network...

Sorry by newbie suggestion, but did you set he_bss_color wireless property? My POCO-F3 can't connect to AX/5Ghz if this is not configured.

Well, this is new even for me.
My Poco F2 Pro was picky at the start but now it works great even without BSS coloring.

Make sure to update it to latest FW

I did. Just got it today. And the issue is not with your build, as the phone also dont see any networks above channel 64, not just mine...

Like, how do you f*ck that much up?
I am always just surprised with the quality of SDK based products

@robimarko and @Ansuel
I haven't said much in a while and I want to start by thanking you guys for your work. Recent memory usage has greatly improved!
Meanwhile I've been reading the posts here and I'd like to ask for an opinion regarding the bss color. I have seen in the TIP git they added some patches in hostapd to support dynamic BSS colouring and collision recovery which would be better than everyone adding a fixed color to the ssid. I have also seen them add support in ath11k for dynamic MU-EDCA with a patch which should increase overall performance.
If needed I can provide links to the patches.

Also, after some investigation, can't we stop ath11k from using the regdb from the board file like was done for ath10k? I saw that the "respect user regdb" option just comments out some parts of the reg file in ath10k, can't we do something similar?

Also, I'd like to ask you guys for some pointers in fixing the failsafe mode in this router, it would be amazing to fix something without a full tftp reflash, but I have no idea how it is done and there is no documentation :frowning_face:

1 Like

On the xiaomi.eu firmware page I found this line in the changelog:

Removed 5GHz region restrictions

What the f*ck does that even mean? Of course the phone region is selected correctly, the used channel is allowed in my country, and the phone is an EU variant.