Need help installing OpenWrt on asus RT-ACRH17 REV 1.60 aka RT-AC42U

need help installing OpenWrt for the first time on an asus RT-ACRH17 REV 1.60 router that still has the factory firmware installed. This hardware is listed as supported and the same hardware as the RT-AC42U model router. I tried to install using the stock firmware upgrade method from the webGUI but the openwrt file was rejected as a bad firmware file (I suspect it's signature may not have matched or somesuch. ) I moved on from there and have now most likely voided the asus factory warranty by removing the 4 screws from the bottom, destroying the tamper tag on one screwhead, carefully removing the top cover, and connecting to those so nicely labeled pins on the circuit board labeled GND, RXD, & TXD with a FTDI 3v3 USB to TTL serial cable.

I now have serial console access! How can I install a working OpenWrt Firmware on this device... possibly even booting from a usb thumb drive or maybe TFTP into ram first then flash.

The serial bootlog follows and appears to give some options.... but please, the implimentation is in the details and i need help with those details as to what to do from here:

full bootlog here: https://pastebin.com/ty7m9Sss

the boot commandline interface (option 4) has a few interesting options like boot from USB that could be useful, but how would i sertup the usb stick for this option.

the other options for TFTP look useful but how do i use this and TFTP to load firmware.
do I need to setup a TFTP server or client to host the firmware
how is the TFTP process done

finally there appears to be a serial option. how would I install over serial.

when successful here, I'd like to setup a support page for these units to help others.

Your specific device is not supportedby OpenWrt, as you probably already know.

Is it actually an identical device (with different model designation for whatever reason)? Just having the same hardware doesn't actually mean it is the same design. Before you go much further, you should verify that is truly the same down to the circut design level. If it's not, there is a chance that you could brick your device.

EDIT: nevermind what I said... I missed the comment on the device page that says they are equivalent devices.

here's the firmware for it: https://firmware-selector.openwrt.org/?version=22.03.3&target=ipq40xx%2Fgeneric&id=asus_rt-ac42u

how is it not supported

this says it is:

what am i missing

1 Like

Try https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=51b9aef553a82cbc80c12e13a4011d4d2e29fde4

If you got serial access, go into cli mode in u-boot, run tftpboot, then bootm while serving the initramfs image via TFTP.

Ah... I stand corrected. It is a very small note at the bottom of the page that I missed.

Comments:aka RT-ACRH17

Apologies.

Could you explain a bit further. Do I need to setup a tftp server or use a tftp client on another computer. how exactly do I serve the file to the router

Server, on some computer connected to the router.
Like https://pjo2.github.io/tftpd64/

I just hope the device is using uboot and the two commands are available ,)

no problem, we all miss stuff occasionally.

2 Likes

Use the asus recovery tool. Hold reset for a few seconds while you plug in power. Most probably fast blinking lights or similar will indicate it’s in recovery mode. Then press send (or equivalent) in the restoration app. (Dont neet to set static ip)

He'd seen it over serial though, wouldn't he ?

where do i get this asus recovery tool

https://www.asus.com/support/FAQ/1000814/

Check at the bottom.

Oh I see it’s an ipq40xx.

I’m gonna bet you need to follow the same steps for flashing the Asus Lyra. https://openwrt.org/toh/asus/lyra_map-ac2200

I don’t know if OpenWrt and OEM differ regarding UBI partitions like the Lyra, but if it does then you need serial and tftp for unbricking. (Also I don’t know if uses HIVESPOT.trx for the tftp filename, but you can always save the first MTD and poke around it and update the OpenWrt TOH page if you find out.

well, the recovery tool just became a non-option.... probably works well for windows users but i am unable to try it as i have an older mac running osx 10.13.6 high sierra (linux via raspberry pi is likely also available). OSX comes with a TFTP server however, so on to that method via serial console.

just to double check before I TFTP the wrong file onto the device, thus bricking it, which of the following files should i serve via TFTP?:

INSTALL:
https://downloads.openwrt.org/releases/22.03.3/targets/ipq40xx/generic/openwrt-22.03.3-ipq40xx-generic-asus_rt-ac42u-initramfs-fit-uImage.itb

or

UPGRADE:
https://downloads.openwrt.org/releases/22.03.3/targets/ipq40xx/generic/openwrt-22.03.3-ipq40xx-generic-asus_rt-ac42u-squashfs-sysupgrade.bin

or
what???

probably
https://downloads.openwrt.org/releases/22.03.3/targets/ipq40xx/generic/openwrt-22.03.3-ipq40xx-generic-asus_rt-ac42u-initramfs-fit-uImage.itb

but i'd like to double check before bricking the device.

Correct. Install then sysupgrade file afterwards

I have the same model router. I also have the recovery tool on windows that I used yesterday to flash freshtomato on another asus model. Do I just put the acrh17 into recovery mode and upload the 2 image.itb then sysugrade and I should be good?

I just successfully flashed one of these to OpenWrt 23.05.2 stable.

I couldn't get the "recovery mode" method to work (the image uploaded but apparently didn't flash, and it just rebooted to OEM without any errors or explanation). I also don't have a serial adapter to attempt the "TFTP" method (living dangerously, hopefully I don't brick this unit while configuring it).

But the "Lyra" method mentioned above worked like a charm (with one minor hiccup, see 8 & 9):

  1. Reset to factory defaults in OEM firmware, then do minimum setup required to get into the UI and enable SSH (it seems to force you to change the default password and click through a few more things). The SSH setting is in the Administration section.

  2. Get the "kernel" and "sysupgrade" images for the "RT-AC42U" (same device, just named different for USA and EU) from the firmware selector (or build your own, I guess). The "kernel" image is minimal by definition and only used as a stepping stone, so don't try adding extra packages. You can add packages to the "sysupgrade" image though (remembering that this router has 128 MB of flash).

  3. Copy the "kernel" image to the router with scp in "legacy" mode (-O) since the modern default use of sftp under the hood won't work here:

scp -O /localpath/openwrt-xx.xx.x-ipq40xx-generic-asus_rt-ac42u-initramfs-uImage.itb admin@router.asus.com:/tmp

  1. SSH into the router, write the image, and reboot:

ssh admin@router.asus.com

mtd-write -d linux -i /tmp/openwrt-xx.xx.x-ipq40xx-generic-asus_rt-ac42u-initramfs-uImage.itb

reboot -f

  1. When it comes back up, it'll be running the barebones OpenWrt with address 192.168.1.1, root login, empty password.

  2. Copy the "sysupgrade" image to the router using scp again:

scp -O /localpath/openwrt-xx.xx.x-xxxxxxxxxxxx-ipq40xx-generic-asus_rt-ac42u-squashfs-sysupgrade.bin root@192.168.1.1:/tmp

  1. SSH into the router and upgrade:

ssh root@192.168.1.1

sysupgrade -n /tmp/openwrt-xx.xx.x-xxxxxxxxxxxx-ipq40xx-generic-asus_rt-ac42u-squashfs-sysupgrade.bin

  1. This is where I had a hiccup: The above command failed with an error:
jffs2 partition is still present.
There's probably no space left
...
  1. Fortunately the error message provides the necessary command to fix it:

ubirmvol /dev/ubi0 --name=jffs2

  1. Then retry the upgrade and let the system reboot automatically:

sysupgrade -n /tmp/openwrt-xx.xx.x-xxxxxxxxxxxx-ipq40xx-generic-asus_rt-ac42u-squashfs-sysupgrade.bin

  1. When it comes back up, it's ready to configure.