[Gadget Hack] Upgrade Your Linksys Router (or Equivalent) to Tomato Firmware

Linksys Router


7-25-09:  Initial release.

In today’s day and age, just about every one is using a wireless router in their house.  The dominant router is the Linksys variation, as shown above.  Did you know that you can flash your Linksys router and upgrade it to a custom Linux firmware called Tomato?

Why would I want to do this?

The Linksys router with factory defaults is pretty limited in terms of its functionality.  By updating the firmware to use Tomato, you will have everything that you can do on the original Linksys router firmware, but you can do more!  I don’t know all the specifics, but you can do things such as:

  • Schedule when the Internet can be on during certain times of the day
  • Throttle bandwidth for specific applications
  • Determine what applications receive what part of the bandwidth priority
  • Increase the transmit power of the router
  • Enable WPA, WPA2 encryption
  • Turn the router into a bridge

and more!  Honestly, you are taking a $60 router, and converting it into a router that costs as high as $600 developed by Cisco. Ok, maybe not that high, but its pretty good!

To really learn more about Tomato, you can visit the makers website Polarcloud.  Here is the link to their FAQs here.

What routers are compatible?

Per the website, it says:

What will this run on?
  • Linksys WRT54G v1-v4, WRT54GS v1-v4, WRT54GL v1.x, WRTSL54GS (no USB support)
  • Buffalo WHR-G54S, WHR-HP-G54, WZR-G54, WBR2-G54
  • Asus WL500G Premium (no USB support)
  • Untested but apparently works without changes: SparkLAN WX-6615GT

Note: Most WRT54G and WRT54GS (not WRT54GL) sold in stores right now are the v5.0+ variety and will not work with Tomato.

How do I find my Linksys WRT54G/WRT54GS/WRT54GL’s version?
Look at the bottom side of the router to check for the version number, or compare the first 4 characters of the serial number with the following list:

CDF0/CDF1 = WRT54G v1.0
CDF2/CDF3 = WRT54G v1.1
CDF5 = WRT54G v2.0
CDF7 = WRT54G v2.2
CDF8 = WRT54G v3.0
CDF9 = WRT54G v3.1
CDFA = WRT54G v4.0
CGN0/CGN1 = WRT54GS v1.0
CGN2 = WRT54GS v1.1
CGN3 = WRT54GS v2.0
CGN4 = WRT54GS v2.1
CGN5 = WRT54GS v3.0
CGN6 = WRT54GS v4.0
CL7A = WRT54GL v1.0
CL7B = WRT54GL v1.1
CL7C = WRT54GL v1.1
CF7C = WRT54GL v1.1

If it’s not listed above, and it’s not a WRT54GL, it’s not supported.

Great!  I have a router that is supported. How do I do this?

As I will show you in this tutorial, its pretty easy.  Let’s get started.

1) Make sure you have a compatible router.  See the list above.

2) Get the tomato firmware.  You can get it at this link.  Most likely, you will be getting the file called Tomato 1.25.7z.

3) If you don’t have a program that can extract .7Z files, then get open-source and freeware program at www.7-zip.org.  After you download the firmware file, just extract it to its own folder.  We will get to the files shortly.

4)  Log into your router.  Go to your browser, and in the address bar type It will bring up a login box.  Go ahead and type in your login information.  By default, the login will be either be blank or “admin”, and the password will be “admin”.

5) Once you are logged in, go to the admin page and click on “Firmware Upgrade”.

6)  Click on the browse button.

7) Navigate to the folder where you extracted your firmware files and select the correct firmware file for your router.  Since I am using a WRT54GS version 2, I am going to select the firmware file called “WRT54GS”.

8)  Now click upgrade and you will see the progress meter continue.

9) Wait a few minutes, and after the flashing is done, the router will automatically reboot.    It will say upgrade is successful.

After the reboot, it should take you to the tomato screen as shown below:

If it doesn’t log you into the tomato firmware, then you will need to point your web browser to “”.

The default login is “root”, and the default password is “admin”.

10)  Once you are finally in, it is recommended to reset all the memory to ensure you are at a fresh start. To do this, go to “Administration”, and then “Configuration”.  Under “Restore Default Configuration”, select the drop down arrow to “Erase all data in NVRAM memory (thorough)”.  Press OK.

Once it is done resetting, you will see the following screen:

11)  Now that you are back into the router, it is a good idea to change the name of your router, as well as setup wireless encryption.  Go to “Basic” and then “Configuration”.  Setup the name of the network below and add in your encryption as necessary.

This is pretty much it!  If you want to learn more about the tomato firmware, go to polarcloud.com and read the FAQs, or the readme file that is included in the .7Z file.  If you have any questions, please post it here.  Thanks!

Posted on July 25, 2009, in Gadgets, Hack. Bookmark the permalink. 3 Comments.

  1. Hello. I have followed the steps and upgraded my Linksys Wrt54GL firmware to the latest tomato version. However even if everytime I log into my router, it has tomato skin, my network is not working, and I cannot connect to the internet either if I use the router.

    If you have any idea what I should do next please respond

    • Cable or DSL internet? If DSL, make sure you enter the correct PPOE details.

      If Cable, then I would think it would work on the fly. Is it possible you are missing some kind of login setting for the ISP?

      You can also try going to dd-wrt firmware as a test to see if that works.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: