Adding OpenWrt support for Xiaomi AX3600 (Part 1)

I'm still on a pre-interface-rename and pre-single-partition release. How should I updated to official snapshots? Should I still go through latest Robimarko's builds?

I think robi was about to shut down his repo downloads (at least packages feed and kernel modules)
We could use images from https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/ instead (and they should have working opkg install)

some offtopic: it seems that Xiaomi this year will release a new router on IPQ9570 with 4 x2.5GBe, 1x10G, 1xSFP, 1xUSB 3.0, 256mb flash, 2gb ram, looks like Qualcomm Networking Pro 620 platform. I accidentally found a page here: https://www.acwifi.net/23365.html - specification looks insane, I wonder about price...

You can use the official images, but you must migrate to single partition and this you cannot do that directly with sysupgrade.

You gotta flash the initramfs factory image to the unused rootfs and switch to it, then you can just sysupgrade, there are full instructions somewhere here in the thread.

I have shut down the package feed as I want everybody to migrate to official builds.

2 Likes

Yeah, happened a month ago, I think its around 230-ish EUR in China currently

Ok, today everything worked fine, keeping configs and installing luci...
From the last Robimarko's prebuilt image to the first official snapshot:
(thank you @robimarko for all the work, support and prebuilt images)
ssh:

uci set system.@system[0].compat_version="1.0"
uci commit system
service wpad stop

luci:
sysupgrade

ssh:

opkg update
opkg install luci
6 Likes

Any advice on how to un-brick my router if I missed that step and try to install an official image without single partition?

Use TFTP recovery

thx - will give it a try when I have some free time :slight_smile:

I´m on latest @dimfish release.

Can I update to https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin or will it cause issues?

Today I tried to flash my second AX6, it doesnt answer atfer installing openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin prebuilt from @robimarko
Simply repair with mifiwifi repair tool and try a second attempt?

Btw: Great work!!!!

Ok, so the ASU errors are real ones.
Issue being that we are using libwolfssl-cpucrypto as a default package to utilize the crypto extensions, but trying to use the imagebuilder will result in regular libwolfssl being pulled in as a dependency, installed before the libwolfssl-cpucrypto and then they will conflict.

Putting libwolfsslcpu-crypto first in the packages list allows for "working around" that issue. For instance:
make image PROFILE="xiaomi_ax3600" PACKAGES="libwolfsslcpu-crypto luci"

an alternative is use openssl directly

Yes, that will work as only the first match will be used

Just opened an issue some minutes ago https://github.com/openwrt/packages/issues/20347 :yum:

2 Likes

Nice, just opened an issue on https://github.com/openwrt/asu/issues/438 while trying to AUC my image.
There were similar issues on the belkin rt3200/Linksys E8450 which resulted in renaming libwolfssl-cpu-crypto to libwolfsslcpu-crypto which resolved the issues for them (more or less).
For now i changed everything from wolfssl to mbedtls and removed libwolfsslcpu-crypto at all.

Its not an ASU issue but OpenWrt OPKG one

Upgrade to official OpenWrt from my builds.
Due name incompatibiltity of mtd11 "ubi_kernel" don't upgrade via LUCI!

0. Create backup.
1. Upload openwrt-ipq807x-generic-redmi_ax6-initramfs-factory.ubi to /tmp.
2. Flash initramfs:
ubiformat /dev/mtd11 -f /tmp/openwrt-ipq807x-generic-redmi_ax6-initramfs-factory.ubi

Then in case of no errors:

reboot

3. Download default or create your own firmware-selector.openwrt.org and upload openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin to /tmp.
4. Flash via sysupgrade

sysupgrade -n /tmp/openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin

Restore backup.
In file backup-*.tgz replace everywhere eth0 => wan & eth1-3 => lan1-3:

find etc/config -type f -exec sh -c "cp -a {} {}.orig && cat {}.orig | sed -r 's/\beth0\b/wan/' | sed -r 's/\beth([1-3])\b/lan\1/'>{}" \;

opgk update fails: I ust the AX 3600 as dump AP (Lan is set to static and i don`t usw the wan port)

root@OpenWrt:~# opkg update
Downloading https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/packages/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/packages/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/kmods/5.15.88-1-693dfdfd34dada48430c38089716b35c/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/kmods/5.15.88-1-693dfdfd34dada48430c38089716b35c/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/Packages.gz

Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/Packages.gz

Collected errors:
 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/packages/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/targets/ipq807x/generic/kmods/5.15.88-1-693dfdfd34dada48430c38089716b35c/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

 * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/Packages.gz, wget returned 4.
 * opkg_download: Check your network settings and connectivity.

Successfully updated from and ancient build to the official snapshots. Massive thanks for the great work.
I am able to saturate my 1000/200 line using SW offload + packet steering. With irqbalance I can get 750mbps with SQM which I'd say is great.

Hope the new builds will be just as stable :slight_smile:

What are some other tweaks for optimizing performance? Does setting he_su_beamformer & co. do anything for wireless?