How to Switch from DD-WRT Firmware to Tomato Firmware on NETGEAR Routers (And Back Again)

Starting out fresh with an open source firmware from a stock NETGEAR router, such as the WNDR3800, WNDR4000, WNDR4500, WNR3500L or WNR3500Lv2 is usually pretty simple; most popular firmwares come with a pre-built (compiled) firmware file that is ready to install. These are in the .CHK file format, and can be uploaded to the router directly through the NETGEAR stock interface--see these instructions for more details.

However, what if you have already flashed your router with firmware, such as DD-WRT or Tomato, and want to switch from one to the other? Fortunately, this is a pretty simple process.

*Note: This article assumes a basic working knowledge of how to log into a wireless router GUI, among other things. For a basic introduction to installing firmware, see this guide. It also doesn't guarantee that this will work in all cases, or that it won't present any problems--just that we have proven it effective as a simple method for switching between firmwares with the files and routers we've tested. If you're doing a lot of flashing, it's a good idea to have a USB-TTL cable on hand in the event something happens or your router gets bricked.

Step 1: Perform a 30-30-30 Reset If Your Router Needs It

Most open source networking experts and resources, including the DD-WRT wiki itself,  will recommend performing one of these resets both before and after any firmware upgrade on routers on which it is necessary. (In some cases, a standard 10 or 30 second push of the reset button will accomplish the same goal.)

  1. With the router powered on, hold the reset button in for 30 seconds.
  2. Continue to hold the reset button in and unplug the router, holding it in for another 30 seconds.
  3. Plug the router back in, with the reset button still held, and continue to hold it in for another 30 seconds.

More information can be found in this article.

Step 2: Download the Tomato or DD-WRT Firmware

You can find open source firmware for many supported routers by NETGEAR here on the community download section. Grab the file you need--it will be in either a .TRX or .BIN format, depending on whether you grabbed a Tomato or DD-WRT flavor.

Step 3-A: How to Switch from DD-WRT to Tomato Firmware

Before you can upload the Tomato firmware via the DD-WRT interface, you'll need to change the extension of the firmware file. Most likely, your Tomato firmware file has a .TRX extension. For installation over an existing DD-WRT setup, change the file extenstion to .BIN.

Now log in to the DD-WRT interface, simply navigate to the Administration tab, then the Firmware Upgrade sub-tab. From there, select the firmware file you just modified, and make sure to choose the "Reset to default settings" option in the drop down box. The upgrade should proceed as normal. Don't forget to do an additional 30-30-30 reset after the upgrade finishes.

Once the upgrade is complete, log in to Tomato and get configuring!

Step 3-B: How to Switch from Tomato to DD-WRT Firmware

Fortunately, the steps to switch from Tomato to DD-WRT on your NETGEAR router are virtually the same as above, only you have to rename the DD-WRT firmware file to have a .TRX extension.

Once you've renamed the file, head to the Administration tab, select the file you renamed, upgrade, perform the 30-30-30 reset, and you should be ready to go.



In conclusion, I'm happy to say that switching firmwares is a fairly simple process. If anything goes awry, we have a variety of tutorials to help you recover your router from a bricked state using a USB-TTL cable. Those tutorials can also be used to flash new firmwares as well.

[How to Debrick your WNR3500Lv2 using a USB-TTL Cable]

If anyone has any suggestions on alternate methods for switching firmwares, please make sure to post them in our public forums!

If you still have questions, make sure to post in our community forums!



    Bobo's picture


    Exhibit_A's picture
    im trying to switch from

    im trying to switch from tomato back to ddwrt but all the files on here have the .chk for ddwrt.. if i try to change it to .trx extension the cog on the file switches to a blank page and when i try to flash even back to stock i get "bad .trx header".. what am i doing wrong?