Install adam:ONE (v4+) on Asus Routers via USB storage

ASUS routers can now run adam:ONE® on most of the stable build of Merlin Supported Models, plus a few additional models, specifically this list:

  • RT-AC66U_B1 (same firmware as the RT-AC68U)

  • RT-AC68U (including revisions C1 and E1)

  • RT-AC68P (same firmware as RT-AC68U)

  • RT-AC68UF (same firmware as RT-AC68U)

  • RT-AC88U

  • RT-AC3100

  • RT-AC5300

  • RT-AC1900 (same firmware as RT-AC68U)

  • RT-AC1900P (same firmware as RT-AC68U)

  • RT-AC86U (starting with version 382.1)

  • RT-AC2900 (same firmware as RT-AC86U)

  • RT-AX88U

  • RT-AX88U Pro

  • RT-AX56U

  • RT-AX58U (Tri-core processor only. The quad-core hardware version 2 (RT-AX58U V2) is NOT supported.)

  • RT-AX68U

  • RT-AX86U

  • RT-AX3000 (same firmware as RT-AX58U) (Tri-core processor only. The quad-core hardware version 2 (RT-AX58U V2) is NOT supported.)

  • GT-AC2900

  • GT-AX11000

  • GT-AXE11000

  • ZenWiFi Pro XT12

  • GT-AX6000

  • GT-AXE16000

  • GT-AX11000_PRO

  • RT-AX86U_PRO

NOTE: This deployment is for adam:ONE® version 4+ only.

NOTE 2: For ASUS firmware that is newer than Merlin’s (e.g. 386 vs 384), in some cases, the Rescue utility must be used in order to apply Stable Merlin versions. In such a case, follow this how-to, and apply Merlin’s stable version directly with the firmware restoration utility.

NOTE 3: This article defaults to using the standard router.asus.com to access the ASUS webGUI. Depending on the Merlin firmware version being used, other variants such as asusrouter.com may also work.

Requirements:

  • A qualifying ASUS router model from list above
  • A USB3 or USB3.1 flash storage drive with 2GB of capacity or more (ultra fit recommended)

Stage 1 of 4 – Download Firmware

Save your ASUS router configuration (optional)

Just in case you want to restore factory firmware in the future with your current settings, document your settings or save a configuration backup.

Download Merlin firmware

  1. Head over to https://www.asuswrt-merlin.net/ and follow his instructions for a Stable download of firmware for your router

  2. Optionally perform a 30-30-30 for a fresh start of Merlin-default NVRAM settings

Stage 2 of 4 – Router Setup

  1. Make sure your router’s WAN connection is connected to your ISP or upstream connection.

  2. Connect your computer to your ASUS router via ethernet (recommended) or WiFi. Make sure you do not have two connections. Use WiFi or Ethernet, but not both.

  3. Insert your USB flash drive into the router’s USB port (preferably a USB3 port).

  4. Log into router.asus.com in your web browser.

  5. Go through the ASUS quick internet setup when prompted.

  6. Install the Merlin firmware through Administration → Firmware Upgrade.

  7. Confirm you’re running Merlin AsusWrt.

  8. Go to Administration → System tab, and enable login via ssh on LAN

Stage 3 of 4 – Installing adam:ONE® muscle software

  1. Make an SSH connection to router.asus.com (the username you created during the ASUS quick internet setup is the only one that will work – if you made it admin, the ssh prompt is:
    ssh admin@router.asus.com)

  2. Check to make sure date/time is accurate with this command:

    date
    If date is inaccurate, certificate validation will fail, so try running this command:
    service restart_ntpd (then run date again to confirm it is correct before proceeding.

  3. Now, run these commands (for tested/stable/production version of adam:ONE®):

    cd /tmp
    curl -L https://adamnet.io/asususb >adamone.sh
    chmod +x adamone.sh
    ./adamone.sh install
    
  4. Skip this step if you ran the stable installation from the previous step. For BETA release only, run these commands instead:

    cd /tmp
    curl -L https://adamnet.io/asususbtesting >adamone.sh
    chmod +x adamone.sh
    ./adamone.sh install testing
    
  5. The on-screen prompts and instructions from the previous will offer USB ext2 formatting options as well as check JFFS for writability and guide you through the requirements.

    • When prompted to choose SWAP space, if you’re unsure, choose N for None

    Almost there! Note that 8-16GB USB3 flash drives are optimal, we’ve seen 64GB USB3 flash drives take over an hour to format!

  6. Once the router is rebooted, start a new ssh session, and get your BoxID from this command:

    grep box-id /jffs/addons/adamone/muscle.conf | cut -d= -f2

  7. Register BoxID (obtained at the previous step) at https://dashboard.adamnet.worksSign up link

  8. Follow online and email verification instructions to further customize your setup and policies

Stage 4 of 4 – Verification Checks

  1. Confirm the service is running (some checks may fail until the BoxID is registered in previous step):

    /jffs/scripts/adamone status
    /jffs/scripts/adamone checkalive
    iptables -nvL
    

The last item should show you adam:ONE® tables.

Note that the USB flash drive must stay inserted for adam:ONE® services to function.

Troubleshooting adam:ONE® service

Optionally force an upgrade to the running binaries on ASUS router with:

/jffs/scripts/adamone upgrade force

Troubleshooting USB flash drive functionality

If your USB flash drive works on a computer, but is not detected in the router script, or detected at first and then later cannot be mounted, make sure it is re-partitioned with MBR (not GPT). This can be done with Windows diskpart command line or macOS diskutil.

Troubleshooting router web interface

During installation, the router’s web interface changes from

http://router.asus.com
to
https://router.asus.com:8080

This is required since http://mytools.management binds itself to the router’s LAN TCP port 80.

Troubleshooting no Internet access

In the event that you enabled hard blocking setting during the installations script, endpoint internet access will fail in the following scenarios:

  • USB flash drive is unreliable
  • USB flash drive has been removed

Consider a temporary uninstall (see below), replace the USB flash drive, and follow the installation script again.

Troubleshooting router command-line restart

If you use ssh for management, note that service reboot is the safe way to reboot (reboot by itself does not always restart correctly on newer models).

Troubleshooting with command-line switches

/jffs/scripts/adamone stop - stops adam:ONE®, cronjobs and starts dnsmasq
/jffs/scripts/adamone start - stops dnsmasq and starts adam:ONE® and cronjobs
/jffs/scripts/adamone selfupdate - updates script

DNSFilter feature in AsusWRT

In the case DNSFilter is enabled on your ASUS router, adam:ONE® will override it with its checkalive script each minute.

DNS hijacking

During the installation script, you will be asked for this setting, but it can also manually be disabled with this command:

/jffs/scripts/adamone set dns hijack disable

On the other hand, to enable it, run:

/jffs/scripts/adamone set dns hijack enable

Uninstall

To revert back to Merlin defaults, either:

  • 30-30-30 which wipes out startup scripts and moves the router web interface back to http://router.asus.com, or

  • Run the uninstall script here:

    /jffs/scripts/adamone uninstall
    This option will keep the router GUI at https://router.asus.com:8080.