Skip to content

ASUS router native firmware / Merlin firmware

Note: Merlin firmware is derived from ASUS firmware and can theoretically be used directly with the ASUS package. However, it is currently unverified. If you have any questions, please submit an issue.

Prepare

When using this software, you need to confirm whether the router supports U disk and prepare a USB disk.

Enable SSH login

Log in to the management interface, click System Management-> Click System Settings and configure Enable SSH to Lan Only.
The SSH login username and password are the same as the management interface.

Install Download Master

In the management interface, click USB related application-> click Download Master to download.
After the download is complete, enable Download Master. If you do not need the download function, you can uninstall Download Master here, but make sure that Download Master is enabled before uninstalling.

Install SmartDNS

Upload the software to the router's /tmp/mnt/sda1 directory using winscp. (or copy the network neighborhood to the sda1 shared directory)

ipkg install smartdns.xxxxxxx.mipsbig.ipk

Restart router

After the router is started, use nslookup -querytype=ptr smartdns to query the domain name.
See if the name item in the command result is displayed as smartdns or hostname, such as smartdns

pi@raspberrypi:~/code/smartdns_build $ nslookup -querytype=ptr smartdns
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
smartdns         name = smartdns.

Note

In the above process, smartdns will be installed to the root directory of the U disk and run in optware mode.
Its directory structure is as follows: (only smartdns related files are listed here)

USB DISK
└── asusware.mipsbig
        ├── bin
        ├── etc
        |    ├── smartdns
        |    |     └── smartdns.conf
        |    └── init.d
        |          └── S50smartdns
        ├── lib
        ├── sbin
        ├── usr
        |    └── sbin
        |          └── smartdns
        ....

To modify the configuration, you can use ssh to login to the router and use the vi command to modify it.

vi /opt/etc/smartdns/smartdns.conf

smartdns.conf example:

# set listen port
bind []:53 
# set upstream servers
server 1.1.1.1
server-tls 8.8.8.8
# set domain rules
address /example.com/1.2.3.4
domain-rules /example.com/ -address 1.2.3.4

It can also be modified from Network Neighborhood. From the neighbor sharing directory sda1 you can't see the asusware.mipsbig directory, but you can directly enter asusware.mipsbig\etc\init.d in File Manager to modify it.

\\192.168.1.1\sda1\asusware.mipsbig\etc\init.d