Adding OpenWrt support for Xiaomi AX3600 (Part 1)

I am using GitHub Actions to have robimarko’s repo built automatically with my custom packages. It’s here: https://github.com/rodriguezst/ipq807x-openwrt-builder

It works by checking daily for new commits in robimarko’s repo and if new commits are found a new build is triggered using my custom packages. Feel free to fork my repo and adapt it to your needs (adding the kernel modules or packages you need).

5 Likes

Hello. Today i have installed prebuilt robimarko's OpenWRT, and can't get 160 MHz WiFi width working. WLAN interface even doesn't appear, and LuCI says that network is disabled. Is this a common bug?

You need to set the country code for it to come up.

Perfect! And wireguard already is there :smile:

Hey, I have a problem. When I Update List in Software get error The opkg update command failed with code 7. How to fix it? Greetings

Unfortunately this error is kind of known and expected, as ax3600 (and similar devices) is at very early stage of support.
That means the code to support these devices is not committed nor merged into official OpenWRT yet, hence these errors.
So if you need a package you need to compile it and include it into your own image.

You can install my build (see above) then unpack packages.7z to FTP and chenge to
src/gz openwrt_core ftp://IP_ADDREESS/packages

3 Likes

Yep. it works like a charm.

Installed @dimfish build, but there are very slow WiFi 6 speeds, just like on generic robimarko's images. With iperf3 server running on the router I get 25 mbps on upload, and 250 mbps download. On stock fw there was 300/300 stable. No matter Windows or Linux, i get the same results. On generic image, on dimfish build, even on mine build, the same. 160 MHz width enabled succesfully with CN country code. LuCI shows high connection speeds 1000+ mbps, but in practise... Tests done on the PC with Intel AX200. What's strange, i get higher upload results via 2,4GHz network (N mode), and phone connected via AC also gets higher upload results. Unfortunately i don't have any other devices that support AX. So, could you help me? Installed in "dualboot" with stock fw, system log here: https://katb.in/rujahubunok

Thanks, that helped

802.11ax standard doesn't seem to be well supported in OpenWRT just yet unfortunately.

You'll need to setup both radios as AC if you want to use OpenWRT.

I'm back on factory firmware atm due to the low memory kernel oops issues.

2 Likes

Is there anything besides iot WiFi are connected using pcie?

On AX3600 not, but why?

I'm also wondering this, lurking for a long time here, if it's finally time to stop using 2 routers...

Just out of curiousity.

I have been using the latest robimarko image for a week. The memory usage is high, but it is true that in addition to the base image, I use services like ddns, and http-dns-proxy that use a lot of memory.
I also use prometheus/graphana for router data tracking.
The uptime record is 3 days, after that I had to reboot due to OOM, but otherwise it is quite stable.
I get 500/500 on AX with 160Mhz. I have noticed that the ram consumption goes up a lot if you have a lot of traffic on eth0 , and goes down when you do speedtest on wifi. I have also noticed that it consumes more ram if you use 802.11AC than 802.11AX.
The jump in the picture is after switching clients from AC to AX (4 clients) and it is 40 mb of memory freed.

Sorry for my english , is not my native language.

3 Likes

@robimarko
This is the memory usage with WIFI fw 1100:

Not at all different compared to 1201. So the increase is for sure coming on the driver side. Likely what you described about the DP buffer sizes.

Hey guys, happy holidays!

Just an update, I keep seeing a lot of complaints about the memory usage and other issues with the newer builds, firmware etc. No problems whatsoever here, and this has been my daily driver for a while now!

I have been using a build generated from the IPQ807x-5.10-backports branch from @robimarko's repo and it's been ROCK SOLID, even better than the previous stuff. Everything is stock, I just have 2-3 patches on top (the PPoE one I posted a while ago, and the sysupgrade on the same partition - btw this works great, I was able to sysupgrade from a previous build with no issues!). I'm running a few different APs on all the radios, and I have devices all the time connected to both Wi-Fi and wired (TVs, Philips Hue, Chromecast, other IoT stuff etc.).

Have a look at the screenshots:

Speeds vary a lot, my current ISP is pure garbage, but the firmware is running flawlessly. Best case scenario, I'm hitting around 700-800Mbps on the WAN and Wi-Fi, 400Mbps for the Wireguard VPN network.

3 Likes

@robimarko
I'm looking to get Ethernet working for kernel 5.15. I've updated some patches and so on but now I'm stuck at the ssdk (what else...)

qca-ssdk-2021-04-28-c9bc3bc3/build/linux/KSLIB/qca808x.o
qca808x.c:562:10: error: 'struct phy_driver' has no member named 'ack_interrupt'; did you mean 'handle_interrupt'?
  562 |         .ack_interrupt  = qca808x_ack_interrupt,
      |          ^~~~~~~~~~~~~
      |          handle_interrupt

I guess the reason is that the callback "ack_interrupt()" has been removed lately

https://patchwork.kernel.org/project/netdevbpf/patch/20201123153817.1616814-16-ciorneiioana@gmail.com/

So I think the ssdk has to be updated to use the new callbacks ("handle_interrupt" and so on), but I'm afraid this is above my knowledge.
For example:

https://patchwork.kernel.org/project/netdevbpf/patch/20201123153817.1616814-11-ciorneiioana@gmail.com/

I can create a few PR's with the work I've done so far if you like.

2 Likes