OpenWrt Forum Archive

Topic: Missing support for ASUS RT-AC68U

The content of this topic has been archived between 2 May 2018 and 7 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi,

Do you have plans for support router ASUS RT-AC68U? It is great and very powerfull router, but original firmware (AsusWRT) is NOT great. I try custom firmware AsusWRT-merlin based on original, but it has the same problems and many more as original.

I use this router with few this wireles adapters https://www.asus.com/Networking/PCEAC68/ and it is amazing. My focus is on speed (AC standard), IPv6 support and security. Original firmware doesn't support all my needs but OpenWRT does.

ASUS RT-AC68U
Overview: http://www.asus.com/Networking/RTAC68U/
Spec: http://www.asus.com/Networking/RTAC68U/specifications/
Wiki: https://wikidevi.com/wiki/ASUS_RT-AC68U_v1

802.11n TurboQAM:up to600Mbps
802.11ac: up to 1300Mbps

Supported Wi-Fi standards: 2,4 GHz (b/g/n) and 5 GHz (a/n/ac)
HW: Broadcom BCM4709 Wi-Fi chipset, Arm Cortex A9 dual-core 800MHz CPU, 256MB of DDR RAM

Performance tests:
http://www.pcworld.com/article/2082233/ … ingly.html
http://www.cnet.com/products/asus-rt-ac … -router/2/
http://www.trustedreviews.com/asus-rt-a … nce_Page-2

Thanks for your answers.

There is a nice progress around Broadcom ARM development. We recently added support for SPI flash and some required improvements to the partitioned driver. NVRAM support is quite close too. Unfortunately NAND driver and wireless drivers are still on our list and you should not expect the second one soon.

How much of the router is working at the moment? I can see an image for RT-AC87U (not mentioned anywhere in supported devices) in the trunk, but still no image for RT-AC68U.

(Last edited by wanthalf on 15 Feb 2015, 00:04)

wanthalf wrote:

How much of the router is working at the moment? I can see an image for RT-AC87U (not mentioned anywhere in supported devices) in the trunk, but still no image for RT-AC68U.

I need someone with serial console who is ready to do some tests. Then I can add *basic* support for this hardware.

If anyone is interested, please start providing boot log (original or DD-WRT) and "nvram show | grep gpio" output.

admin@RT-AC68U:/tmp/home/root# nvram show|grep gpio
btn_rst_gpio=4107
reset_gpio=11
size: 47965 bytes (17571 left)
gpio7=wps_button
gpio9=usbport1
btn_turbo_gpio=255
led_usb_gpio=4096
btn_wps_gpio=4103
led_2g_gpio=255
led_usb3_gpio=4110
btn_led_gpio=5
led_wan_gpio=255
led_5g_gpio=4102
led_wps_gpio=4099
led_turbo_gpio=4100
led_lan_gpio=255
btn_radio_gpio=255
pwr_usb_gpio=9
led_all_gpio=255
have_fan_gpio=255
fan_gpio=255
btn_wltog_gpio=4111
led_pwr_gpio=4099
pwr_usb_gpio2=255

Hi Zajec at al,

If i read this here http://www.asus.com/us/Networking/RTAC8 … fications/ at ASUS, the device is pretty well equipped with a lot of stuff . of course that is coming at a pretty solid price.

ASUS makes a big point on supporting DD-WRT "openness", even if i doubt that a binary donwload is what everyone who looks for open really wants. Neverthless, ASUS lists the device as officially supported by DD-WRT on http://www.asus.com/us/site/routers/DD-WRT/.

However, i did find only limited material (and no pre-cooked pieces of ASUS/Broadcom code to be embedded) in the DD-WRT svn at http://svn.dd-wrt.com/search?q=ac87

This guy here has been digging really deep into this router and some of the available sources:
http://elatov.github.io/2014/11/dd-wrt- … 8u-router/

This guy here https://pcdiy.asus.com/2014/08/august-2 … -rt-ac87r/  has gone into quite documenting the disection of the device, including creating a nice block diagram of the devce at https://i1.wp.com/pcdiy.asus.com/wp-con … iagram.png

An alternative pile of sources is here: https://github.com/RMerl/asuswrt-merlin … er/release

I also reasd other things that would obviously are not (yet) available as standard configurations, for example:

e9689_RT-AC87U_Manual_English.pdf wrote:

P. 63
4.2.4 IPTV

The wireless router supports connection to IPTV services through an ISP or a LAN. The IPTV tab provides the configuration settings needed to set up IPTV, VoIP, multicasting, and UDP for your service. Contact your ISP for specific information regarding your service.

Source: http://dlcdnet.asus.com/pub/ASUS/wirele … ul_new.zip

I have read here on OpenWRT that some other code that was on DD-WRT could successfully migrated over to OpenWRT. I'd assume once that happens, the users gain some flexibility by the modularity of the OpenWRT approach.

SO - I am wondering how DD-WRT and OpenWRT can embed/use any of the specialty functions that the Vendor Firmware embeds, like acceleration features of the SoC or the 2.4/5 GHz MIMO?

Any progress?

tony762 wrote:

Any progress?

Ask yourself. Did you attach serial console to test OpenWrt on this device?

evan.xinos provided basic GPIO info, but didn't even care to provide boot log I asked for. Fortunately I found
http://www.snbforums.com/threads/asus-r … own.15502/
which included info important for me:

Jan  1 01:00:12 kernel: Found a AMD NAND flash:
Jan  1 01:00:12 kernel: Total size:  128MB
Jan  1 01:00:12 kernel: Block size:  128KB
Jan  1 01:00:13 kernel: Creating 4 MTD partitions on "nflash":
Jan  1 01:00:13 kernel: 0x000000000000-0x000000080000 : "boot"
Jan  1 01:00:13 kernel: 0x000000080000-0x000000200000 : "nvram"
Jan  1 01:00:13 kernel: 0x000000200000-0x000002000000 : "linux"
Jan  1 01:00:13 kernel: 0x00000039e7d4-0x000002000000 : "rootfs"
(...)
Jan  1 01:00:13 kernel: Creating 1 MTD partitions on "brcmnand":
Jan  1 01:00:13 kernel: 0x000002000000-0x000008000000 : "brcmnand"

Now I just need someone with serial console.

Zajec wrote:

Now I just need someone with serial console.

Is that all?
http://wiki.openwrt.org/toh/asus/rt-ac68u#oem_bootlog

I still can't get any non-ASUS image to boot, because of the CFE signature check which I don't want or even know how to disable. If you know how I can build an image and then attach a valid signature, I'll put up the openWRT bootlog as well.

I also have various pictures I wanted to put in the wiki, but at the time that didn't work. I'll try that again tomorrow (or in a few hours, if you will, as it's past midnight).

dorian wrote:
Zajec wrote:

Now I just need someone with serial console.

Is that all?
http://wiki.openwrt.org/toh/asus/rt-ac68u#oem_bootlog

A nice beginning, thanks smile

It seems there is one partition that OpenWrt isn't aware of:

0x000007ec0000-0x000008000000 : "asus"

I don't know if it contains something important or not.

Please dump this partition:

cat /dev/mtdblock5 > /tmp/mtdblock5.bin

, copy it to your PC and send me, so I can analyze its content. You can copy it e.g. by connecting USB pendrive, then checking "mount" and doing something like "cp /tmp/mtdblock5.bin /mnt/USBdrive/".

After I verify this partition you should be ready to install OpenWrt build from
http://downloads.openwrt.org/snapshots/ … x/generic/
smile

Zajec wrote:

It seems there is one partition that OpenWrt isn't aware of:

0x000007ec0000-0x000008000000 : "asus"

I don't know if it contains something important or not.

Please dump this partition:

cat /dev/mtdblock5 > /tmp/mtdblock5.bin

, copy it to your PC and send me, so I can analyze its content. You can copy it e.g. by connecting USB pendrive, then checking "mount" and doing something like "cp /tmp/mtdblock5.bin /mnt/USBdrive/".

After I verify this partition you should be ready to install OpenWrt build from
http://downloads.openwrt.org/snapshots/ … x/generic/
smile

This may be firmware specific, but in the latest official firmware (I also just updated the boot log for it in the wiki) this virtual block device is 1310720 bytes in size and only contains 0xFF bytes. There is nothing useful in it and it appears it is no longer used for anything.

Great smile So install OpenWrt and let use know if it works!

Zajec wrote:

Great smile So install OpenWrt and let use know if it works!

Now you're just being cute.
It doesn't. If you know how to produce an image with a valid CFE checksum let me know, so I can build one... smile

Also, the image you provide with your build system isn't valid, and can't be used with the CFE boot toolset to send it to the device (tftp boot or flashing), even with the check disabled.

(Last edited by dorian on 24 Mar 2015, 06:52)

I have got a RT-AC68U and i hope i can be your information supplier and testing institute, just tell me what i need to do.
Like to get OpenWRT on it and (hopefully) use Huawei E3276s-150.

Zajec or dorian, got any orders to give me? -:)

Romino wrote:

I have got a RT-AC68U and i hope i can be your information supplier and testing institute, just tell me what i need to do.
Like to get OpenWRT on it and (hopefully) use Huawei E3276s-150.

Zajec or dorian, got any orders to give me? -:)

I've got a device myself (actually, I have more than one), so no. smile
But feel free to flash or tftp boot this image on your device:
http://downloads.openwrt.org/snapshots/ … uashfs.trx
Maybe you've got a bootloader old enough and it works or can figure out what signature to attach to the beginning of the binary. I asked ASUS and Broadcom, but so far, I've gotten no meaningful response.

dorian wrote:
Romino wrote:

I have got a RT-AC68U and i hope i can be your information supplier and testing institute, just tell me what i need to do.
Like to get OpenWRT on it and (hopefully) use Huawei E3276s-150.

Zajec or dorian, got any orders to give me? -:)

I've got a device myself (actually, I have more than one), so no. smile
But feel free to flash or tftp boot this image on your device:
http://downloads.openwrt.org/snapshots/ … uashfs.trx
Maybe you've got a bootloader old enough and it works or can figure out what signature to attach to the beginning of the binary. I asked ASUS and Broadcom, but so far, I've gotten no meaningful response.

I flashed the latest trunk image for rt-ac68u, it booted successfully, but usb storage seems not working, even after I install all necessary packages such as: kmod-ust-storage, kmod-usb2, kmod-usb3, kmod-fs-ext4 and block-mount.

Any idea?

tangsoft wrote:

I flashed the latest trunk image for rt-ac68u, it booted successfully, but usb storage seems not working

Wow, this is a great news! smile USB is indeed unsupported, I just updated http://wiki.openwrt.org/doc/hardware/so … imitations

@tangsoft: I've few requests to you:

  1. Can you share info how did you install OpenWrt?

  2. Can you verify that reboot button is working?

  3. Can you check if you can enter failsafe mode using WPS button?

  4. Can you provide me a table of LEDs with GPIO info? See http://wiki.openwrt.org/doc/devel/add.new.device#gpios

Zajec wrote:
tangsoft wrote:

I flashed the latest trunk image for rt-ac68u, it booted successfully, but usb storage seems not working

Wow, this is a great news! smile USB is indeed unsupported, I just updated http://wiki.openwrt.org/doc/hardware/so … imitations

Zajec wrote:

@tangsoft: I've few requests to you:

  1. Can you share info how did you install OpenWrt?

1st time, i install the trunk image through DD-WRT firmware upgrade web page.
Just now, i found i can not upgrade the trunk image through luci, since there is no sysupgrade image. So I have to use tftp under recovery mode.
And with the latest image, the usb still not working.

Zajec wrote:
  1. Can you verify that reboot button is working?

i found no reboot button, you mean reset button?

Zajec wrote:
  1. Can you check if you can enter failsafe mode using WPS button?

How to use WPS button? just press a while not working.

Zajec wrote:
  1. Can you provide me a table of LEDs with GPIO info? See http://wiki.openwrt.org/doc/devel/add.new.device#gpios

It is too late here, I'll figure out dumping the gpio info tomorrow.

Thanks!

(Last edited by tangsoft on 27 Mar 2015, 02:46)

@Zajec,
When I try to dump the gpio values by following the guide you provide, and find it is not acted as supposed.

ls /sys/class/gpio/
export       gpiochip464  gpiochip480  gpiochip496  unexport

and issue the command:
echo $GPIO > export
ash: write error: No such device

any idea?

(Last edited by tangsoft on 27 Mar 2015, 14:04)

tangsoft wrote:

and issue the command:
echo $GPIO > export
ash: write error: No such device

The GPIO chip you should check is 496, so you have to check GPIOs: 496, 497, 498, ..., 511.

A bit lower on page
http://wiki.openwrt.org/doc/devel/add.n … #gpio_leds
there is a shell scrip you can use. Just replace "GPIOCHIP=0" with "GPIOCHIP=496" in it and start it. I'll check all GPIOs one by one.

Zajec wrote:
tangsoft wrote:

and issue the command:
echo $GPIO > export
ash: write error: No such device

The GPIO chip you should check is 496, so you have to check GPIOs: 496, 497, 498, ..., 511.

A bit lower on page
http://wiki.openwrt.org/doc/devel/add.n … #gpio_leds
there is a shell scrip you can use. Just replace "GPIOCHIP=0" with "GPIOCHIP=496" in it and start it. I'll check all GPIOs one by one.

@Zajec,
Sorry for delay, I did not quite understand how gpio checking works.
So I fixed the shell scripts to make it work. I am not sure if it what you want.
Here is the output:

root@OpenWrt:/sys/class/gpio# /tmp/gpiotest
[GPIO496] Trying value 0
[GPIO496] Trying value 1
[GPIO497] Trying value 0
[GPIO497] Trying value 1
[GPIO498] Trying value 0
[GPIO498] Trying value 1
[GPIO499] Trying value 0
[GPIO499] Trying value 1
[GPIO500] Trying value 0
[GPIO500] Trying value 1
[GPIO501] Trying value 0
[GPIO501] Trying value 1
[GPIO502] Trying value 0
[GPIO502] Trying value 1
sh: write error: Device or resource busy
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio503/direction: nonexistent directory
[GPIO503] Trying value 0
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio503/value: nonexistent directory
[GPIO503] Trying value 1
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio503/value: nonexistent directory
sh: write error: Invalid argument
[GPIO504] Trying value 0
[GPIO504] Trying value 1
[GPIO505] Trying value 0
[GPIO505] Trying value 1
[GPIO506] Trying value 0
[GPIO506] Trying value 1
sh: write error: Device or resource busy
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio507/direction: nonexistent directory
[GPIO507] Trying value 0
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio507/value: nonexistent directory
[GPIO507] Trying value 1
/tmp/gpiotest: line 18: can't create /sys/class/gpio/gpio507/value: nonexistent directory
sh: write error: Invalid argument
[GPIO508] Trying value 0
[GPIO508] Trying value 1
[GPIO509] Trying value 0
[GPIO509] Trying value 1
[GPIO510] Trying value 0
[GPIO510] Trying value 1
[GPIO511] Trying value 0
[GPIO511] Trying value 1

==============================
#!/bin/sh
NGPIO=$(cat /sys/class/gpio/gpiochip496/ngpio)
GPIO=496
while [ $((GPIO-496)) -lt $NGPIO ] ; do
        echo $GPIO > /sys/class/gpio/export
        echo out > /sys/class/gpio/gpio$GPIO/direction

        echo "[GPIO$GPIO] Trying value 0"
        echo 0 > /sys/class/gpio/gpio$GPIO/value
        sleep 3s

        echo "[GPIO$GPIO] Trying value 1"
        echo 1 > /sys/class/gpio/gpio$GPIO/value
        sleep 3s

        echo $GPIO > /sys/class/gpio/unexport
        GPIO=$((GPIO+1))
done

Finally figure it out, here you go:

RT-AC68U GPIO

Name        Color        GPIO        Polarity
===================================
Power       blue        499        low
WAN        —        —        ---
USB2.0      blue          496        low
USB3.0    blue        510        low
2.4G        —        —        ---
5G        —        —        ---
LED back     white     500        low

@Zajec

Buttons
Name            Press    GPIO        Polarit
=======================================
LED on/off        down        501        high
WIFI on/off        down        511        low
WPS            —        —        —

==================
#!/bin/sh
NCHIP=496
NGPIO=$(cat /sys/class/gpio/gpiochip$NCHIP/ngpio)
GPIO=$NCHIP
while [ $(($GPIO-$NCHIP)) -lt $NGPIO ] ; do
        echo $GPIO > /sys/class/gpio/export
        echo in > /sys/class/gpio/gpio$GPIO/direction
        echo "[GPIO$GPIO] value $(cat /sys/class/gpio/gpio$GPIO/value)"
        echo $GPIO > /sys/class/gpio/unexport
        GPIO=$((GPIO+1))
done

tangsoft wrote:

Finally figure it out, here you go:

Thanks for the GPIO mappings!


tangsoft wrote:
Zajec wrote:

Can you verify that reboot button is working?

i found no reboot button, you mean reset button?

Yes. Verify if pressing reset button for a second trigger the restart.


tangsoft wrote:
Zajec wrote:

Can you check if you can enter failsafe mode using WPS button?

How to use WPS button? just press a while not working.

Try pressing WPS when you can see following messages in serial console:

Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level

(Last edited by Zajec on 28 Mar 2015, 09:51)

Zajec wrote:
tangsoft wrote:
Zajec wrote:

Can you verify that reboot button is working?

i found no reboot button, you mean reset button?

Yes. Verify if pressing reset button for a second trigger the restart.

Yes, press reset button for a second then release, does trigger the restart.


Zajec wrote:
tangsoft wrote:
Zajec wrote:

Can you check if you can enter failsafe mode using WPS button?

How to use WPS button? just press a while not working.

Try pressing WPS when you can see following messages in serial console:

Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level

I can not verify this until I get ttl cable, at this time, i have no serial console access.

(Last edited by tangsoft on 30 Mar 2015, 11:29)