As we’ve gone over the general background of our Linux based routers in a previous weblog, I’d like to get a little more specific about a specific route I recently went and where I am planning on going in the near future.
The choices we have for linux based routers are pretty numerous. As you can see by DD-WRT’s supported device list, there are many, many options for the hardware device you will use for your linux based firewall. As I don’t have time to review the steps and benefits of each, I will focus on my most recent project…
I was anxious to get my hands on The Asus RT-N16 router because of its incredible specs of:
CPU: Broadcom BCM4718 533MHZ (best from class)
RAM: 128MB (2x 64MB)
ETH: 4x GIGABIT (LAN) 1x GIGABIT (WAN)
USB Ports: 2
WLAN: Dual Radio N
to see what we could do with all of that power. My mind raced… Get a Google Voice phone number, set up a free Asterisk phone server, use SIP to get VOIP to forward to the router, utilize the USB storage on board for file storage and serving, etc.
Most routers today have 8, 16, or 32 MB of RAM and 2, 4, or 8 MB ROM. Finding a router with 128 MB of RAM and 32MB of ROM for $100 is like the holy grail for low cost power. Adding in the great support that has come along for it by the Linux firmwares, it’s pretty much a no brainer for doing the things I was interested in doing.
Most of the documentation of this is still a work in progress (only so much free time in a day) and will be updated on the blog in the near future, but today we will focus on getting the firmware and the software installed on the router.
Before I get into the steps, I’d like to thank Teddy Bear for his great work on the Tomato ND USB Mod that enables USB support in Tomato and to the guys at xtremecoders.org for their creation of an easy to install package of great software (Asterisk, Samba 3, Rtorrent, among others).
One other thing. I in no way take responsibility for you using the following procedure for your installing custom firmware on your router. While Asus has done a great job of making it nearly impossible for you to brick your router, it can happen while playing with firmware and power and, well, you get the idea. Use the following information at your own risk. If you are afraid of losing your $100 router, STOP NOW. If you are a bit adventurous and want to make something beautiful, continue.
OK, enough of the babbling… Here are the steps to get this all installed on your new Asus RT-N16:
- Download the DD-WRT software HERE. Unfortunately, we can’t flash directly to tomato and must use the intermediate step of installing DD-WRT on the router first.
- Download the latest Tomato USB firmware from HERE. Note: You will want to download a K26-MIPSR2 version that was compiled for the router’s innards. I chose the most robust VPN package – tomato-K26USB-1.27.9045MIPSR2-beta11-vpn3.6.rar.
- Extract the tomato firmware from the .rar file and change the extension from .trx to .bin.
- Install the Asus Firmware Restoration Utility from the CD that came with the router. This utility must match with Asus’ stock firmware running in the Router which is why the CD is so important…
- Using the network cable that came with the router, plug your computer into a LAN port on the router and then turn on the router.
- Now using an Internet browser, open the router’s admin page at 192.168.1.1 to verify you are connected to the router and everything is working.
- Disable windows firewall.
- Go to: Start->All Programs->ASUS Utility->RT-N16 Wireless Router->Firmware Restoration.
- Browse to the location of the DD-WRT firmware that you downloaded in Step 1, but DO NOT UPLOAD yet.
- Unplug the power from the router.
- Using a pen or paper clip, press the black, recessed Reset button at the back of the router (not the protruding red one).
- Holding the reset button down, power on the router.
- When the power led begins to flash slowly, release the button, and press the upload button for the DD-WRT firmware from Step 9 *quickly*.
- The firmware will update and the router should reboot with DD-WRT.
- Goto 192.168.1.1. Username is admin and there isn’t a password. You should see the DD-WRT administration page. Edit: If your password doesn’t seem to work, do a hard reset on the router (hold in the WPS button while plugging in the power) and your username/password should now work (Thanks Simon).
- Goto Administration->Firmware Upgrade in DD-WRT.
- Browse to the location of the Tomato firmware you renamed in step 3 and then upgrade.
- Once the upgrade is complete, the router will reboot to Tomato.
- Go to 192.168.1.1 and enter in “root” for username and “admin” for password (without quotes). If you are having difficulty logging in here, it’s most probably because the DD-WRT password is causing a little havoc. Simply hold the reset button for 10 seconds and the user/pass should be reset to root/admin.
You should now have Tomato installed on your router. You should probably change the default password and enable USB support before attaching a USB device to your router.
If you think you bricked your router:
- Set your computer to a static ip like 192.168.1.10, netmask 255.255.255.0.
- Do a continuous ping to the router (ping -t 192.168.1.1) with lan cable connected and router powered off.
- Power on router and the bootloader should reply to the ping for a few seconds. (If you see any replies, you should be able to TFTP a firmware back onto the router).
- If you see the response, utilize steps 8-13 above with the firmware you’d like to restore and your router should come back with that firmware now installed.
- If your router is indeed bricked, I’m very sorry that things didn’t work out for you.
If you’d like to go on and install parts of the Optware package, I will refer you HERE, to follow their instructions for installing and configuring the various parts of the package.
This is enough for one day. Enjoy your new $1,000 router and stay tuned for my follow up on getting the Asterisk server set up with a Google Voice phone number and VOIP service.