Installing On Asus Routers (RT-N16 etc) in Linux

Linux

Download the appropriate firmware. You probably want the 'Ext' version, with Linux 2.6.

1. Install tftp:
    sudo apt-get install tftp
2. Use a cable to connect your computer to LAN port 1 on the router.
3. Turn off the router, disable your ethernet connection:
    sudo ifconfig eth0 down
4. Turn on the router while holding down the 'restore' button on the back. You should be rewarded with a flashing power LED.
5. Enable your network:
    sudo ifconfig eth0 up 192.168.1.2
6. Check you can ping your router.
    ping 192.168.1.1
7. Upload the firmware:
    cd <place where it is downloaded>
    ls *.trx
    tftp 192.168.1.1
    binary
    put <the trx file>
8. Then wait for the prompt to be returned, and wait for a further minute.
9. Finally turn off the router, set your ethernet back to auto, wait a minute, turn on the router and you should have a tomato install!

Source: Concentric Livers.

Additional clarifications from Sergey Gleizer:

  • Sometimes (but not others) pinging the router in step 6 will cause the power LED to stop flashing and the router will not accept the tftp session after that; restart the process and proceed without pinging, if this happens.
  • After TFTP session completes, wait about five minutes for the firmware to actually be flashed. There is no visual indicator that flashing is complete… If you fail to wait long enough before power cycling the router, it will have an incomplete firmare flash and will go to recovery mode (slow flashing power LED, same as when powering up with 'restore' button pressed)
  • After a successfull flash, it is a good idea to clear NVRAM by powering up while holding down WPS button and continuing to hold it for 30 sec after power-up.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License