Due to performance/heat and several minor issues, I flashed the router back to stock firmware. compared with Merlin build, stock firmware missing some common features, we need to bring them back.

Requirements

  • A USB storage

Basic

The following steps are performed on the Web UI.

Enable SSH Service

Enable SSH and remember the port.

Misc Settings

Wireless Region

Select Australia for better signal and performance.

NAT Type

Select Fullcone as needed.

Open NAT

OpenNAT offers a hassle-free way to create port forwarding rules for online games and optimizes the routing packets from your game console to the modem with an optimized gaming experience.

Enable Port Forwarding

Entware

An ultimate software repository for embedded devices, ~1.8K packages are available.

Connect to Router via SSH

# ssh [user]@router.asus.com -p [port]

or

# ssh [user]@[IP] -p [port]

The following steps are performed after the connection.

Enable JFFS

script_usbmount variable set to a script that executes after each USB storage is mounted, equivalent to the startup script.

JFFS1 will be enabled and formatted after reboot.

# nvram set jffs2_on=1
# nvram set jffs2_enable=1
# nvram set jffs2_format=1
# nvram set jffs2_scripts=1
# nvram set script_usbmount=/jffs/scripts/usbMount
# nvram commit
# reboot

Format USB Storage

In this case, the USB storage: /dev/sda.

Lists the plugged storage via command: blkid, mount or fdisk -l.

Show partition table for each DISK:

# fdisk -l

Unmount USB storage:

# umount /dev/sda

If an error occurs while umount the USB storage, then unmount it via access Web UI > Network Map > USB > Safely Remove Disk.

e.g. umount: can’t unmount /tmp/mnt/sda: Device or resource busy

Continue to the next steps, after unmounted.

Format USB storage:

# mkfs.ext3 /dev/sda
// Or ext4:
# mke2fs -t ext4 /dev/sda

Remount USB storage:

# mount /dev/sda /mnt/sda

Installation

Preparation

Create script for mounting /dev/sda as /opt.

# mkdir -p /jffs/scripts
# echo -e "#!/usr/bin/env sh\nmkdir /tmp/opt\nmount /dev/sda /tmp/opt" > /jffs/scripts/mountOpt

Install

mount /opt manually:

# /jffs/scripts/mountOpt

Download and execute install script:

# wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | sh

Test after done:

# opkg --version
# opkg update
Alternative Installation

Optional

Run at Startup

Make mountOpt execute after the USB storage is mounted.

# echo -e "#!/usr/bin/env sh\n/jffs/scripts/mountOpt" > /jffs/scripts/usbMount
# chmod a+x /jffs/scripts/*

Suggestions

For high performance and privacy:

  • Disable AiProtection
  • Disable QoS
  • Disable Traffic Analyzer

For heat reduction:

  • Disable 5GHz band

Tips

References