Device wiki says LEDE is supported but can't find device on supported hardware list (RT-AC58U)

I'm looking for a more sensible firmware than the stock FW offered for the RT-AC58U. Unfortunately, that's got a Qualcomm CPU, and those can be troublesome.

Anyway, this page claims that LEDE is supported on this device: https://wikidevi.com/wiki/ASUS_RT-AC58U
Alas, when looking at the supported hardware list I could not find this router. So, what's the deal here? Is there a mistake on that wiki page (which, after all, is completely possible) or is there some kind of beta version that supports this hardware that I don't know about? :wink:

The wiki also lists this as an alternative FW: http://lede-ac58u.zyxmon.org/
However, the Russian language and installation instructions (especially the really fuzzy part about returning to stock FW) really make me weary of this project...

See Support for Asus WIreless AC1300 RT-ACRH13 for details, to put it short:

The RT-AC58U could be supported, but currently isn't. Reasons for that are probably lack of a contributor pushing for it (taking responsibility that it actually works), the rather difficult way to accomplish the initial flash (requires a serial console and a two step installation via an initramfs image) and its rather small RAM (ath10k would like a bit more, this has been mitigated a bit by ath10k patches in LEDE, but it's around the limit).

Well... damn! I guess I should have made more research before purchasing this router... Admittedly the stock FW isn't THAT bad. I could use a decent QOS and a way to redirect WOL packets (i.e. static ARP entry). The latter can be accomplished with a simple SSL command and / or script on startup, but a startup script in turn requires an always-inserted USB. O_o

//sigh//

Anyway, thanks for the reply! :slight_smile:

Ask your questions - it is not that difficalt. The instruction tries to explain what is happenening. You can skip these expanations.

Serial console is not needed. The two step installation proccess is needed. The shell script make-stock2lede.sh in the root folder creates a single step firmware (the second step is embedded inside).

It feels a bit strange to ask questions about a completely different project...

But since you offer to answer... :wink:

My first question would be if you have used that FW at all and is it worth the time and effort of flashing it? Again, I'm pretty happy with the stock FW except for QoS and a minor problem with using WOL from the internet. If flashing this will cause me to have issues with OpenVPN or PPTP, 5GHz or other such features, then I'm a bit worried.

Secondly, if I understand correctly, returning to the stock FW focuses around the two commands executed over SSL:

ubirmvol /dev/ubi0 -N linux2
sysupgrade -F /bin/busybox

After that I need to set my PC IP to 192.168.1.2 and hammer the send button on the TFTP software (I was unable to find a copy of the mentioned Asus Rescue utility, but I take it it's just a skinned-over TFTP client) trying to send the official FW file to 192.168.1.1?

This last bit is the one I'm worried with. I have done such a procedure in the past on an old WRT54G I believe, but still... I'm not filled with confidence. :sweat:

1 Like

I release a new firmware version every week or two. It is based on lede trunk. I test every firmware before uploading. Usually my test last 24 hours. I cannot tell you whether it is worth using lede firmware in place of a stock one. If you know and used lede/openwrt before - it is worth to try it and decide yourself. In case of stock firmware you can use Entware-3x packages on a usb drive. They are similar to openwrt packages. Here is my post on Entware.on AC58U - http://www.zyxmon.org/2017/08/16/ustanavlivaem-entware-na-ledeopenwrt/ (Russian). Here is info on using entware with stock firmware - https://github.com/Entware-ng/Entware-ng/wiki/Install-on-Asus-stock-firmware

I have done this procedure several times with Asus utility and with tftp client. I have renamed stock firmware file to RT-AC58U.trx but I think it is not really needed.

Wow, I did NOT pay attention to the names and didn't realize you're the creator of that FW. Thus my question if you have experience is pretty stupid in hindsight. :stuck_out_tongue_closed_eyes: Sorry about that.

I did notice I can use Entware, but I was wondering why would I need it. The ability to add a startup-script solving the WOL problem can be done on the stock FW without Entware. That said, the requirement of having a pendrive inserted into the router to have scripts / Entware running feels... weird, to say the least. This is one of the reasons I was looking into alternative FW (startup / QoS scripts are usually a given).

In case of lede/openwrt firmware - you can certainly use native openwrt packages. It has some pros and cons that are described in Russian. If you use stock firmware - you can install openvpn, l2tp, pptp http and other servers on usb drive. There are 2000+ entware packages now. Here is the packages list:
http://entware-3x.zyxmon.org/binaries/armv7/Packages.html It hase some packages like rtorrent, deluge, syncthing, rclone that openwrt still does not have.

Oh, I know there are plenty of packages available - I didn't want to imply that Entware is pointless or there's nothing to do with it. It's just that I currently can't think of a feature I'd need. OpenVPN and PPTP servers are available on stock FW (not sure about LEDE, as I haven't had the pleasure of trying it yet, but I'd imagine it's available as well, as they aim to be similar to stock in functionality) and I don't need a HTTP server. I guess a large, fast-speed USB drive would make a fine NAS coupled with a torrent client, but I don't have such a drive to make use of it (and if I do any torrenting I use the PC).

I did notice the Russian forums describing the project, but there's a language barrier as I don't speak the language. While Google Translate can help me get the general idea of a forum post / article, it's not something I feel comfortable relying on when it comes to actual technical guides or instructions.

Anyway, thanks for all the responses. I may just give the FW a try. :slight_smile:

There is a lot of info in English on Entware. You can start with the wiki here https://github.com/Entware-ng/Entware-ng/wiki
Entware-3x is a fork for the new 3.x and later kernels. It has more packages and the packages versions are not restricted by 2.6 kernels. We estimate that most of Entware users are not Russian speaking.

Well, I screwed up.

I installed the 58U LEDE without issues, but I wasn't convinced. Besides, I wanted to check the stock restore procedure.

I've entered the two commands, and now my router is semi-bricked. I can ping it on 192.168.1.1, but I can't seem to send the stock FW using a TFTP client. I haven't tried these Asus utility as I can't seem to find it. :frowning:

I'm using the TFTP by Ph. Jounin, only specifying the host (192.168.1.1) and local file. My own IP is 192.168.0.2. Pressing PUT nothing happens (it says block #0, but nothing changes). Am I missing something?

If it is not a missprint your local ip should be from 192.168.1.0/24. I have usually used 192.168.1.70 (because uboot has tftp client mode and connects tftpd server with this ip).

  1. What is ttl of ping requests?
  2. You can also press and hold reset button to force recovery mode before you power on router. The asus uboot code restores ubi volumes on first boot. So if it is not the first boot after two commands you may need to force recovery mode.
  3. Rename stock firmware to RT-AC58U.trx, use 69 port in tftp client.

If you have saved response of two commands, please post it here.

There are some posts (Russian forum) when someone stuck in recovery procedure. Changing computer + reset button helped. Asus utilitu was used, asus utility can adjust host ip for recovery. Here is it - http://dlcdnet.asus.com/pub/ASUS/wireless/RT-AC3200/Rescue_2000.zip

If you still cannot recover stock firmware please give as many details as you can on what was done before and what is happening now.

Thanks, it was a typo and my IP was 192.168.1.2 (not 0.2). Also, thanks for the link - I'll definitely keep that for the future! When I tried to download the tool from Asus, it just didn't show ANY tools - only the FW (and I've tried a few different router models).

It eventually worked. I did use a TFTP recovery mode a long LONG time ago on a different router and didn't remember how "fiddly" it is. That is to say, you need to hit it at the right time, or it doesn't work (which is annoying and pointlessly raises blood pressure).

Anyway, my router's back to stock. What I found REALLY REALLY strange is that, once restored, it had all of my original settings. I still restored settings from a previous backup, just to be sure, but this was really weird.

Anyway, now that I got the procedure down, I'll likely be eager to do more experimenting more with LEDE and your FW in the future.

My biggest question is... how to get that WOL ARP working. What I found weird was that the ARP command didn't work as I expected it to. But I guess that's a minor thing. During my short playtime with the FW I managed to install DDNS for LEDE (using the web admin page, so I didn't use the packages you linked earlier). I did miss the ability to use the asuscomm.com DDNS service... but I take it that's only available on stock Asus FW?

Finally, I'm a bit unsure how to proceed with QoS. I once used something called "WRT54 tool" which generated a nice QoS script. I was hoping the "adaptive QoS" feature would be similar, but alas, this particular model doesn't have access to this feature in the stock FW. And I have no idea which package would be appropriate in LEDE.

That is normal. Lede does not use ubi volume with stock nvram.
I am not an expert in openwrt/lede. I use ac58u mainly for tests with entware after my armv7 nas died. If fact building lede firmware for it takes several minutes every week or two + some testing.

In case someone else will restore stock firmware - here is a screenshot that may help
tftp

Actually, it's way weirder. The RT-AC58U dts is part of LEDE:
https://github.com/lede-project/source/blob/master/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq4019-rt-ac58u.dts

as well as the custom board-2.bin

What happend was: Back in October/November of 2016, I picked up a RT-AC58U. It had a new IPQ40XX chip and I discovered that there was no support for the router, chip and platform. So I started a new github project LEDE-IPQ40XX

Back then, the upstream kernel already had some IPQ40XX support (Matthew McClintock and the GPL sources provided the rest). But the 4.9 was still in the RC-phase and backporting everything to 4.4 would have been much more work... and thankfully @Noltari had a set of patches for LEDE with the 4.8 kernel ready to go.

I figured, the easiest way to port the device would be to start a new separate target: ipq40xx.
This had the advantage that I didn't need to port any of the existing ipq806x patches to 4.8 or that I had to stick to IPQ806x's platform features.

Anyway, once the IPQ40XX gained some popularity on the ML, John decided to integrate/cherry-pick big parts of the external tree. This came a bit out of the blue and that's why the files ended up in the tree. I never had to post the patches to the ML or do a PR on github (hence there is none).

However, the merge of the two targets broke some stuff. The IPQ806x would no longer boot, since John decided to include the USB-PHYs drivers directly into the kernel (previously, they were modules and my tree had modules as well... oh well)... This was because of a bug in the IPQ806x's usb phy drivers that caused it to crash and panic (no idea if this was fixed or not). Another thing that broke was the 9980 and 9984 wifi card initialization, so IPQ806x had no WIFI. But this has since been fixed...

Now, the problem with the initramfs (in the buildbot situation. i.e.: building all devices at once) is that all devices sort of (sub-)target would end up sharing the same kernel + initramfs-image. (Or: DEVICE_PACKAGES gets ignored. no firmware for the wifi, etc..).

Now, as to why the RT-AC58U is still not really supported. John actually told me in a private mail that he would look at the "asus router". My guess is that his time ran out... And that's why I keep telling people to bribe him :wink: . It would be great if @blogic could tell us, what he wants or what is acceptable. I know there are ways around the initramfs.

Note:
The reason why the AVM FB4040 was so easier to integrate was the fact that I made a custom u-boot image for it (And Felix made the u-boot package). This was necessary, because AVM has the wonky ADAM2/EVA bootloader. I could do the same with the RT-AC58U. However, this will make it harder to go back to the stock firmware.

Another option would be to make FIT + ramdisk work.
Incidentally, I did play around with this back in the day:

Any other option?

USB is working fine on ipq8065 (ZyXEL NBG6817).

Please read/include the sentence before as well:

"The IPQ806x would no longer boot, since John decided to include the USB-PHYs drivers directly into the kernel (previously, they were modules and my tree had modules as well… oh well)… This was because of a bug in the IPQ806x’s usb phy drivers that caused it to crash and panic (no idea if this was fixed or not)."

What happend was that John reverted the patch later:
https://github.com/lede-project/source/commit/666bfc6fb554441f1940eba84e00be10487e2463

If you want to verify this: simply revert the "reverted patch" again and test if the NBG6817 will actually boot this time.

Please also note that @dissent1 made a PR to fix some more IPQ806x USB related issues. But sadly, it's been sitting in the queue for a while now (since August?):
https://github.com/lede-project/source/pull/1175

I don't have a IPQ806x, however you do! Please tell about your experience with the patch set? Because I think these should be integrated.

Hi,who can help to dump 2MB SPI FLASH,thanks very much。
attach the way to dump flash
http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=304726&highlight=AC58U&mobile=2

I add RT-AC58U support to my code: https://github.com/ptpt52/openwrt-openwrt

  • Install with two steps(-must-):

    1. install factory.trx image, this can be done via the web-interface
    2. after the factory.trx installation, install the sysupgrade.bin
      do this via luci web ui or ssh, it is recommended not to keep the configuration
  • Revert back to stock:

    1. login ssh to openwrt and execute: sysupgrade -F /bin/busybox
    2. after that system reboot to recovery mode, computer set static IP
      192.168.1.70, connect to lan port, use tftp send the RT-AC58U.trx
      to 192.168.1.1. like:
      tftp 192.168.1.1 put RT-AC58U.trx

custom builds downloads:
https://router-sh.ptpt52.com/rom/

help me test it.

1 Like