Installing Tomato USB on Asus Routers (RT-N16 etc) in Windows

Why Tomato USB? For USB support. What is Tomato USB? It’s a USB enabled version of Tomato. It’s similar to DD-WRT. a third-party firmware for your router to give you advanced features not normally found in a consumer router (VPN, captive portal, etc). Why from Windows? There is already a good write-up on doing it from Linux. The ASUS RT-N16 is a pretty good little router, but for $75 USD you’d hope it would be. According to Wikipedia the RT-N16 sports a Broadcom BCM4718 SoC running at up to 533MHz with 128MB of RAM and 32MB of flash memory.

WARNING: Following these instructions may result in turning a perfectly good router into a useless brick. If you chose to continue, you do so at your own risk.

Start by downloading a copy of Tomato USB. Since the RT-N16 has a (relatively) big 32MB of flash you might as well go for the gusto and get the “VPN” version which is the “Ext” version with VPN support added. the “Ext” means “Extras”, so either Ext or VPN will give you plenty of bells and whistles.

Download Tomato USB here, I chose the “VPN” version under the heading “Kernel 2.6 (experimental) for MIPSR2 Routers”

http://tomatousb.org/download

Specifically I downloaded tomato-K26USB-1.28.9054MIPSR2-beta-vpn3.6.rar, but you’ll probably want whatever is most recent. You’ll also need a program to unRAR the archive, 7-zip is a fine choice.

Once unpacked you should have a file with the extension “.trx”, in my case my file is named “tomato-K26USB-1.28.9054MIPSR2-beta-vpn3.6.trx

Once you’ve downloaded the file, plug your computer into the LAN1 port on the RT-N16.

Change your Windows settings to (or add) an IP in the 192.168.1.0/24 subnet.

In Windows XP, click “Start“, then go to “Settings” and chose “Control Panel

Find the network icon, if you can’t see it you may have to switch into “Classic view” from the options in the left-hand side margin. Windows Vista, and 7 have the ability to set settings similarly, but the menus are buried in other locations.

Find your Local Area Connection, right click and choose Properties. Then scroll down to “Internet Protocol (TCP/IP)” and click “Properties

Now put the RT-N16 into recovery mode, to do this press and hold the “Restore” button on the back of the router while you plug the router into a power outlet.

The “Power” light should be flashing if you did it right, if not try again.

Open a command prompt, click the Windows “Start” button again and go to “Run” (or hit the windows key on your keyboard and ‘R’ at the same time). At the “Open” prompt type “cmd.exe” and click “OK“.

Test to see if you can ping the router in recovery mode, you should see “Reply from…” not “Request timed out“.

C:\Users\chris\>ping 192.168.1.1

Pinging 192.168.1.1 with 32 bytes of data:

Reply from 192.168.1.1: bytes=32 time=11ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.1.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 11ms, Average = 3ms

Move to the location where you extracted the “.trx” file from the RAR archive. If this is your Desktop then “cd Desktop” might do it.

C:\Users\chris\>cd Desktop
C:\Users\chris\Desktop\>

Flash the router with the new firmware using the tftp client built into Windows.

C:\Users\chris\Desktop\>tftp -i 192.168.1.1 PUT tomato-K26USB-1.28.9054MIPSR2-beta-vpn3.6.trx
Transfer successful: 6602752 bytes in 14 seconds, 471625 bytes/s

It’s very important that you include the “-i” after “tftp”, this switches the transfer into binary mode, it will mung your transfer otherwise and potentially brick your router.

Wait a minute after the transfer has completed to let the router apply the firmware. If everything worked right, the router should no longer be responding to ping requests

C:\Users\chris\>ping 192.168.1.1

Pinging 192.168.1.1 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

After waiting, reboot the router by unplugging it from power and then plugging it back in again. After a moment you should be able to connect to the router using a web browser at http://192.168.1.1. The default username and password are “admin” (for both username and password).

EDIT: Some builds of DD-WRT have USB support (enabled under “Services”). Ultimately I ended up running dd-wrt.v24-18777_NEWD-2_K2.6_mega.bin, which was easy to flash to as an “Upgrade” within TomatoUSB’s web GUI.

This entry was posted in Hacks. Bookmark the permalink.

6 Responses to Installing Tomato USB on Asus Routers (RT-N16 etc) in Windows

  1. Qui Hong says:

    Just wanted to say I enjoyed the blinking animated gif 🙂

  2. Giovanni says:

    I stumbled over your site and enjoy the freshness of all the articles I have come over with by now. I see you try to make things work even for those who try not to look and understand, which is clearly visible by showing the “LAN 1” connector enormous and even then high-lighted. As a computer technician I understand very well why this happens to see, and once again I feel less lonely with my feels towards who asks me advice and does not listen, follow or do what I suggest, and complain later about their “brick”, as you call it 😀

  3. Geronimo Serrano says:

    Hello, what happend if when i ping 192.168.1.1 the response is “Reply from 192.168.1.1: bytes=32 time=11ms TTL=100” instead of “64” even if the router is blinking slowly as it should be on recovery mode?

    Thanks

  4. Chris says:

    Seeing “Reply from 192.168.1.1: bytes=32 time=11ms TTL=100” just means your ping program is using a higher TTL than the one I used. This won’t matter one bit with a direct LAN connection to the router, the important thing is that you are seeing a “Reply”.

  5. Danieal says:

    Excellent explanation, I just missed these steps:

    1. Erase NVRAM (Non-volatile RAM). Use the method “30/30/30”. Be careful, ASUS RT-N16 uses “WPS button” instead “RESTORE” to erase NVRAM.

    2. Wait 1 minute after the firmware has been uploaded. It’s the time needed by the router to apply the firmware. If you switch the router off without waiting enough, when you switch it on again the PWR led will be blinking continously. The firmware couldn’t be installed properly.

    Some firmwares need more time. I have tested that the original ASUS firmware needs around 10 minutes.

    3. Erase NVRAM again.

  6. Daniel says:

    I have tested again the installation of TomatoUSB and it needs around 2-3 minutes between the upload (done using “tftd”) and the switch off.

Leave a Reply

Your email address will not be published. Required fields are marked *