Add support for ASUS RT-AX89X AX6000

@robimarko: Is it safe to use attended sysupgrade method with RT-AX89X if I have a few extra packages installed? Does it grow the base image or somehow adds packages the same way manual method does? I worry if it grows the base image it might hit the limit of what bootloader can handle and brick the installation?

Bootloader limit of 16MiB only affects the kernel, rootfs is mounted by the kernel later so owut etc are safe

2 Likes

Got it, thanks!

I tried it and it worked really nicely! Never used that attended upgrade method before but it’s really neat and easy.

1 Like

So I've managed to brick my B2 revision too - I was trying to pinpoint this issue.
Unfortunately after a sysupgrade it didn't boot. Only the power LED blinks slowly.
I've tried the reset using WPS button procedure. It didn't help.
I've put my B1 revision on duty for now.
Anyone having any other suggestion before I open the unit.
@robimarko @lytr @innovara any chance this unit is able to boot an initram image form USB (like MX4300 or RB5009) for easy recovery in case like this.

You could probably change bootargs to try and boot of USB

I see this on my working B1.

root@Asus:~# fw_printenv -n bootcmd
Warning: Bad CRC, using default environment
run distro_bootcmd

Just a little bit of tuning for easy recovery in the future :slight_smile: .


What do you think about those changes added to the ipq8074-rt-ax89x.dts used in dd-wrt
https://svn.dd-wrt.com/changeset/60296

 	350	
 	351	        reset_pins: reset_pinmux {
 	352	                aqr_reset_pin {
 	353	                        /* AQR107, AR8035, QCA8337 */
 	354	                        pins = "gpio63";
 	355	                        function = "gpio";
 	356	                        drive-strength = <8>;
 	357	                        bias-pull-up;
 	358	                        output-high;
 	359	                };
 	360	
 	361	                phy_reset_pin {
 	362	                        /* AR8033 */
 	363	                        pins = "gpio55";
 	364	                        function = "gpio";
 	365	                        drive-strength = <8>;
 	366	                        bias-pull-up;
 	367	                        output-high;
 	368	                };
 	369	
 	370	                malibu_reset_pin {
 	371	                        /* QCA8075 */
 	372	                        pins = "gpio37";
 	373	                        function = "gpio";
 	374	                        drive-strength = <8>;
 	375	                        bias-pull-up;
 	376	                        output-high;
 	377	                };
 	378	        };

They are not in the openwrt dts variant.
I see in the comment that they are actually not used as of the commit date.

Something similar will be required for B1 revision support (Which I will probably finally get to working on this weekend)

3 Likes

I just got this router to put openwrt on it. Then I stopped, as I really need to figure something out first:

Does MU-MIMO work fine with the open source drivers? Otherwise, is there a way to copy over the proprietary firmware from the trx and make it work?

I know most of these come from the spf11.1 qualcomm sdk, but I am simply wondering if a package that adds proprietary firmware like this exists, or if otherwise it would be accepted into openwrt

Cheers

Hello Reader, I wanted to inform you two things about this router.

First, this was tested on the B2 variant thats running 24.10.4. although you may get the same results on any version of 24.10.x

I wanted to see if the RT-AX89X router would work with 2.5gbe SFP+ modules and if it would auto-negotiate at 2.5gbps. This was confirmed to be true as the module I tested with was a “ASF-2G2-T+” module plugged directly into the routers SFP+ port with my linux testbed 2.5gbps interface connecting to it and auto-negotiating at 2.5gbps.

What I am trying to say is that I have confirmed you can use 2.5gbps SFP+ copper modules with the RT-AX89X router.

I also tested and confirmed that you can attach and mounted storage devices with capacities beyond 16TB. In my case, I was able to successfully attach and mount my 22TB hard drive to this router. I was even able to browse it on my linux test bed via samba.

3 Likes

Hi all.

I bricked the router, but somehow I was able to restore the NVRAM and all the partitions I had backed up from the openWRT LUCI interface.

I have detailed the process in a gist https://gist.github.com/effeffe/9cb9349410a434baaaffa55d48f4314e in case anyone needs. Hopefully it will be useful to someone.

Cheers

EDIT: I was able to connect to the UART interface without opening the unit using a lot of patience and tweezers. After all, you just need RX, TX and ideally GND (or take this from one of the ports of the router, like the SFP shield, but I haven’t tried this)

1 Like

Due to a handling error, I accidentally erased the nand.chip, and now my AX89X router won't boot. How can I reflash it? I have a TTL converter and a JTAG adapter.

If I retrieve a uBoot backup of the router with the JTAG, can I reflash it?

I managed to locate the pins needed for the JTAG.

If someone can provide me with a uBoot backup, I would be very grateful.

Have a read of the process I described. If you pm me, I can send you a copy of the first partitions

Edit: there you go https://github.com/effeffe/RT-AX89X-B2_dump

Hello! Looking for a ready-made OpenWrt build for ASUS RT-AX89X revision B1 with sppmaster's fix (DTS from post #922), so the 10G copper RJ-45 port (LAN1) works + NSS for hardware acceleration.

What I'm looking for:

Version: Preferably 24.10.x or 25.12-rc (or any working one)
Must work: 10G copper LAN port, Wi-Fi 5/6GHz, SFP+, Gigabit ports
Format: initramfs-factory.trx + squashfs-sysupgrade.bin

What I've tried:

  • Official builds from Firmware Selector (24.10.5, 25.12-rc2) — 10G copper doesn't work on B1
  • SWRT — considering it, but prefer pure OpenWrt
  • Don't know to build it myself

Could anyone share a direct link to a working build with this patch?
Or confirm if the patch is now in mainline and official builds are fine.

Thanks! :folded_hands:


P.S. Confirmed it's revision B1 (checked sticker on bottom). Don't need SFP+, need copper 10G specifically.

You won't find official images with NSS support.

1 Like

Hello,

I have question regarding this router and openWRT on it.
I have symetrical 10gbps
I put 10gb sfp transiver
I got ASUS RT-AX89X rev b2
OpenWrt 24.10.4

However, I'm hitting a cap of 2.5gbps and cpu usage 100%
Is it possible to achive routing close to 10gb on this router?

I read somewhere higher about some custom build with NSS, however I have 0 knowledge on that and how to get it and install neither if it will resolve the problem.

Could anyone help me on this topic?

Thank!

A custom build with NSS: qosmio/openwrt-ipq: NSS Fork of OpenWrt targeting Qualcomm IPQ807x/6018

If you read the README there are sections that mention what it is and why no official OpenWrt support exists.

What's NSS?

NSS (Network Subsystem) is a specialized hardware offloading engine developed by Qualcomm, integrated into their IPQ series SoCs (System-on-Chip), such as the IPQ807x and IPQ6018. NSS is designed to handle high-throughput network tasks like NAT, routing, and even security tasks such as IPsec, without burdening the main CPU cores.

Why Isn't NSS Supported in Vanilla OpenWrt?

NSS requires proprietary binaries (NSS firmware) and extensive patches to the Linux kernel and networking stack. Qualcomm does not openly release the necessary firmware or detailed documentation on how to integrate NSS support, making it extremely difficult for the OpenWrt community to maintain. The required patches are invasive and complex, altering significant portions of the network stack, which makes upstream integration into OpenWrt unlikely. Maintaining compatibility with each new kernel version is another barrier, as Qualcomm’s support for these patches is minimal and sporadic.

Without help from the NSS the CPU on it’s own is not able to route 10Gbps.