From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 19:29, 22 May 2008 (edit)
Redhawk0 (Talk | contribs)
(WHR-G125 Specifics)
← Previous diff
Revision as of 03:12, 23 May 2008 (edit) (undo)
Techie (Talk | contribs)
(G125 can't revert to Buffalo firmware)
Next diff →
Line 342: Line 342:
===WHR-G125 Specifics=== ===WHR-G125 Specifics===
 +There is no decrypted firmware available for the WHR-G125 so after flashing dd-wrt there is '''no way to revert to the original Buffalo firmware.'''
Support for this model has now been integrated into the generic v24 builds. If you are flashing v24 Final you can ignore the following warnings. Support for this model has now been integrated into the generic v24 builds. If you are flashing v24 Final you can ignore the following warnings.

Revision as of 03:12, 23 May 2008

Installing DD-WRT on a router in most cases is almost as simple as installing a program onto your computer. Installing programs on a router, known as firmware, are achieved by a method called flashing. This article helps you determine which installation process is for you on your supported router, as well as giving router suggestions and information about flashing each one.


Is your router supported?

For a list of devices working with DD-WRT, please see Supported Devices. If your router is not listed there, you are on your own and risk breaking it. Better refer to Index:Support about how to request your router to get tested.

Downloading DD-WRT

  • Download the latest stable release from the DD-WRT Downloads page (or secure version).
    • Some newer routers are not supported by the latest stable release (v23 SP2). Check the Supported Devices list for the minimum required DD-WRT version for your device. You may need to use a release candidate.
  • Ensure you are using the correct version of the firmware.
    • For more information about which version to use, see File Versions.
    • Updating through the Web GUI means you need to use the _generic version, as mentioned briefly in the hwsupport.txt file.
    • Use the _mini version when upgrading from original Linksys firmware. You only need the _micro version if your AP has 2 MB of flash (WRT54G v5/v6 for instance). Use the regular firmware if your AP has 4 MB or more of flash (WRT54GL for instance).
  • Read the changelog and all other information files on the download pages. They contain important information!
  • If you downloaded a .zip file, then extract the archive.
  • Confirm a good download by comparing the MD5 hash fingerprint of the firmware you downloaded with published hashes.


Follow all the instructions precisely, or you may run into trouble. Incorrectly flashing can brick your router!

  • As this documentation says elsewhere, upon flashing the first time, before dd-wrt is running and while the Linksys software is still installed, do not use Firefox. Use IE to flash the router (even OS X IE works). Once dd-wrt is running, you can use any browser you like to administer or even flash the router.
  • Do NOT use a wireless connection to upload firmware. Use a wired connection. It is recommended that you disable any wireless adapters on your system to ensure that none are used for the transfer.
  • Do NOT flash/backup your firmware over an SSL (https) connection. Make sure you are using http.
  • Disable your anti-virus-software, as a false-positive virus detection could interrupt the upload.
  • If you need to use TFTP to upload firmware, disable your software firewall first.
  • You will not have internet access through the router during the process of replacing the firmware. We recommend you save this webpage and the Recover from a Bad Flash and FAQ pages to your hard drive (use File->Save As, *NOT* a bookmark). This will allow you to review the information offline in the event that something goes wrong.
  • Do not forget to make note of your current settings, especially if you have static IP addresses. A quick way of doing this is to take screenshots of your current configuration screens.
    • It can be essential to record your current WAN MAC address. Some ISPs do not allow an immediate change of the routing hardware and changing the firmware changes the MAC address.
  • Have a secondary router or internet connection available while experimenting with your router's firmware, to expedite any trouble shooting and remove the risk of becoming stranded.
    • If you have a cable modem which connects to your router with Ethernet, you can plug your PC straight into the modem should you have any problems. Your PC will be assigned your external IP with DHCP, and you will be on the net. Remember to use a software firewall.

Flashing with Web GUI (Not for Buffalo devices)

===Reset to Factory Defaults=== ( is best to do a hard reset or 30/30/30 reset as described below)

If you know the IP address, username, and password of your router:

  1. Follow the instructions in the next section to log in to the Web GUI.
  2. Click the "Administration" tab.
  3. Click the "Factory Defaults" sub-tab.
  4. Select "Yes".
  5. Click the "Save Settings" button.
  6. A new page will open, click "continue".

If you do not know the IP address, username, or password of your router, you will need to use the reset button. Be careful when using this method! Apparently if you have OpenWRT already on your router the reset button may not function as it is assumed here and may actually brick your router! Research the functionality of your current firmware to be safe.

  1. Press and hold the reset button on the back of the router for 30 seconds

30/30/30 (hard reset)

press and hold the reset button on the back of the unit for 30 seconds, unplug unit still holding reset button for 30 seconds, then plug it back in still holding reset button a final 30 seconds. this will reset the nvram section of the flash chip and ensure you are starting fresh when loading firmware. The "reset to factory" has been found to not always clear the entire nvram sections.

alternate method:

telnet to the router and issue the following commands

erase nvram


Logging In to the Web GUI

To use the Web interface, you will need to have Javascript enabled with any security restrictions disabled. If the Linksys firmware is currently installed, do not use Firefox as certain versions of the Linksys firmware are known to have problems with Firefox.

  1. Type in the IP address of the router (default into the address bar of your browser.
  2. You will be prompted for username and password.
    • For DD-WRT versions starting with 2006-Feb-28, the default username is root. Prior versions have a blank username by default.
    • For Linksys firmware, the default username can be left blank or set to anything.
    • For DD-WRT and Linksys firmware, the default password is admin.

Upload The Firmware

It is VERY important that you not interrupt the setup while the router is being flashed and rebooted. Do not turn off the computer, close the web browser, or turn off the router during this process! I usually just take a step back, and turn my head away so I don't breathe on it for these crucial 2 minutes.

[Comment added 10/03/06 by JoE] At the time of this writing, the current version of Mozilla Firefox will cause your installation to fail when trying to upgrade firmware (dd-wrt.v23_mini_wrt54g.bin, dd-wrt.v23_generic.bin, dd-wrt.v23_wrt54g.bin) using the web interface. I used the current version of Internet Explorer with no problems. Additionally, if your power button keeps flashing and/or you cannot reach/ping after a reset, unplug and plug in the power cord real quick. Wait a few seconds and then everything is hunky-dory.

  1. You should be in the Web GUI of the router. Go there now.
  2. Click the "Administration" tab
  3. Click the "Firmware Upgrade" sub-tab.
  4. (Only applicable when DD-WRT is already installed.) Click the "No reset" radio button (works for me, but please double check if "Firmware Defaults" would be better!).
  5. Click the "Browse" button and select the DD-WRT .bin file you downloaded and confirmed.
  6. Click the "Upgrade" button.
  7. The router will take a few minutes to upload the file and flash the firmware. During this time, the power light will flash.
  8. A new page will open confirming that the upload was successful (if not). Now wait about 5 minutes before clicking "Continue".
  9. If flashed successfully you will now be at the DD-WRT web interface.

[Comment added 2007/03/27 by staylor] Or, you won't be at the dd-wrt web interface I have a wrt54g v1.1 (also with wrt54gl v1.1), flashing with dd-wrt v23 sp2. I waited the requisite number of minutes, and my "Wireless-G" badge lit up (a good sign), but when I clicked "Continue" after the upload was successful, I did not get to the dd-wrt web interface. Nor was the device ping-able.

[Comment added 1/04/08 by jwebste1] I can confirm Staylor's comment above for a brand new store bought WRT350N (had to soft reset the router to get the mini install to become accessible on

Holding down the reset button for 30 seconds (leaving the power cable connected) re-booted the router, and all was fine thereafter.

If the above doesn't result in a successful load of the dd-wrt web interface, try a "ipconfig -renew" in a command prompt window.

Possible errors

During the firmware upload process, if your router says something similar to, "Upload Failed," you may be using the wrong version of DD-WRT. This may occur through the web GUI if you use a *wrt54g.bin version when you should have selected the generic version instead. It may also be that your router requires the mini version to be flashed before the full version. Be sure to double check to make sure you have the right version. If you are certain that your router is supported and that you have the correct firmware, you may simply need to use a different web browser (e.g. from Firefox to Internet Explorer).

When logging in fails with the default username/password (see above), you can reset the password. See Why does my login no longer work? for information on how to solve this.

Reset to Factory Defaults AGAIN

Do this only after you have confirmed that the firmware upgrade is working. At this point you may have temporary problems using Web Interface, so just ping your router.

For V23 SP2: Please do a hard reset: While holding down the reset button, plug in the power cord. Hold the reset button for 30 seconds. Also see Reset And Reboot. This is because SP2 uses encrypted password storage inside NVRAM. You are unable to login using root/admin before you reset. Please take this step seriously!

With Linksys WRT54G variants, just holding the reset button for 30 seconds may be sufficient to allow logging in. One user has reported that resetting wasn't necessary at all.

For previous versions: Press and hold the reset button on the back of the router for 30 seconds. See also Reset And Reboot.

Flashing with TFTP

Although TFTP is a safe method to flash many routers, it should not be seen as the standard procedure for flashing. Only use it when you are specifically told to do so (for example in the specific instructions for flashing your brand or type of device). Normally, the GUI flashing method should be used, as it is adequate for any standard situation. See that section for more information. If you still wish to flash with TFTP, see the articles TFTP flash and Recovering with TFTP.

Note for users not using the original Linksys firmware: you cannot use TFTP! Change your firmware to the official Linksys firmware, and then continue below.

Owners of the Siemens Gigaset SE505 have to flash their device with tftp. Look at Flash Your Siemens SE505.

Flashing with Command Line

This is available on routers that have DD-WRT installed and Telnet/SSH enabled.

It's the *ONLY* recommended mode to flash the router wirelessly.

1) telnet or ssh into WRT

2) download dd-wrt.v2*_generic.bin with wget or scp to /tmp

2a) Alternatively, you could use the mounted share if you have one, and simply download the file there.

3) (optional, but advised) compare MD5 checksum of the original and the downloaded file

cd /tmp
write dd-wrt.v2*_generic.bin linux

5) wait...

6) reboot

7) via web interface, restore factory defaults

8) For V23 SP2: If certain features don't work please do a hard reset. Hard Reset: By plugging in the router and holding down the reset button for 30 seconds all at the same time. Do not use config files from older firmware versions. You must start from the beginning.

Upgrading to a newer version of DD-WRT

If DD-WRT is already installed on your router, you can simply upgrade to a new version via the web interface or TFTP. However, it is highly recommended that you restore the router to defaults using the reset button before and after flash. Never restore old backups from previous versions! Skipping these steps could lead to a bricked device.

Configuration Notes

  • You must start to configure router from scratch. Do not try to use config files from older firmware versions.
  • It is strongly advised that you enable the "Boot Wait" option under the "Administration" tab. This will help you recover in the future should you flash your router improperly. If you use v23 or higher the "Boot Wait" option is enabled by default.

If something goes wrong

  • If your router fails to reboot (power light doesn't stop flashing, no web interface, etc) you will need to Recover from a Bad Flash. Additional help can be found by doing a forum search.

Hardware-Specific Information

Linksys WAP54G


If you really want your WAP to have the correct MAC address when it boots up there are 2 simple but not permanent, and one not so simple but permanent.

Method 1 -

For V1.x only On the Administration>>Commands tab enter

nvram set et1macaddr=<your MAC address minus 1 here> (due to the port swap) (i.e. 00:11:22:33:44:54)

nvram commit


For all other WAP versions - substitute the et1macaddr with et0macaddr and don't use the minus 1, use your actual MAC address. (i.e. 00:11:22:33:44:55)

This will need to be re-entered if you do a hard reset (like when doing firmware upgrades).

Method 2 - Works for all WAPs (For V2.X+ use actual MAC and MAC+1) Extract your CFE, edit in your MAC address, et0macaddr = MAC, and il0macaddr=MAC+1. (For V1.x... Use your MAC-1 for the lan_hwaddr and your MAC for the wan_hwaddr), then put the CFE back on using the HairyDairyMaid or TJTAG utility. This method is risky. You could potentially turn your router into a brick. Once this is reinstalled on the unit and the firmware has been loaded, your unit will have its own MAC addresses permanently embedded and will show every time you boot.

[note] - for the V1s, search for the embedded text string "hwaddr" using your hex editor. This will find the two MAC addresses that are embedded. Again due to the port swap the LAN MAC address needs to be entered as MAC-1 and wan_hwaddr needs to be entered as the MAC for the V1.X only

[note] - my WAP 1.0 required using tftp.exe for the firmware load the first time... my V3.1 required using tftp.exe for the firmware load the first time.

WARNING - Use only V24-VINT-final firmware builds on v1.x-v2.x WAP units. If you try to use the standard V24-Final you will brick the WAP unit.

For loading firmware on the WAP54G V1.X - Has fixed LED displays starting with V24 RC5. - redhawk

  • Connect PC to LAN port on WAP
  • Configure PC for STATIC IP as Mask, Gateway
  • Press and hold Reset Button on WAP unit for 30 seconds, unplug unit, Plug back in still holding reset button an additional 30 seconds.
  • Open Browser, URL =
  • Login as: Username/Password <blank>/admin
  • Navigate to Administration Tab. Change the DD-WRT V24_std_generic.bin file to V24_Std_generic.trx
  • Upload the new standard_generic.trx file to the router.
  • Wait 5 minutes after it says it completes successfully.
  • Unplug WAP unit, plug it back in.
  • Press and hold Reset Button on WAP unit for 30 seconds, unplug unit, Plug back in still holding reset button an additional 30 seconds.
  • Now use URL =
  • Go to the Administration>>Commands tab.
  • Enter the following

nvram show | grep boardnum (then click on "Run Commands")

If it returns blank then issue the following commands... if it returns a boardnum=2 then you won't have to.

nvram set boardnum=2

nvram commit

  • Click "Run" button and then: "Save Startup" button. - (only if you had to enter boardnum=2 manually)
  • Power cycle the WAP unit.
  • Check the Status page... it should now display the unit as a "Linksys WAP54G v1.x"
  • Configure as you would any other router.

Power = Power, Diag = Diag or Commit

WLAN - Link LED is now a Radio On/Off indicator, Act = Wireless Activity

LAN - Link = Link, Full/Col = Full, 100 = 100

Thanks goes to Eko for making this unit display correctly.

WARNING - Use only V24-VINT-final builds on the WAP v1.X-v2.X units.

For loading the firmware on the WAP v2.x - follow the steps for the WAP v3.x below... except don't include the nvram variable for WAPver=3. The v2 units have a unique board and should be already recognized by the RC5 and later firmware. Eko informed me that there are no special variables needed for the v2 units. [redhawk - 11/16/07]

If you receive a error message saying "Unable to downgrade firmware" go to, set pull-down menu "DownGrade Header :" to disable and click [apply]. If this setting executed successful you see a message "Your changes have been saved". [ddvelzen - 18/01/08]

WARNING - Use V24-final micro build on the WAP v3.X units.

For loading the firmware on the WAP54G v3.X Use V24-RC5 or later for Reset button function

  • Connect PC to LAN port on WAP
  • Configure PC ethernet port to IP:, SM:, GW:
  • Unplug power. Wait 15 seconds
  • Press and hold Reset Button on WAP unit for 30 seconds, unplug unit, Plug back in still holding reset button an additional 30 seconds.
  • Open your favorite browser (I used Firefox) and go to:
  • Login as:

User: <blank>

Password: admin

Hit the Administration tab, and upload the MICRO version of the firmware.

  • Wait 5 minutes after it says it completes successfully.
  • Press and hold Reset Button on WAP unit for 30 seconds, unplug unit, Plug back in still holding reset button an additional 30 seconds.
  • Go to: in your browser and login with the default un/pw for DD-WRT...

[Added by redhawk - 11/16/07]

  • Next go to the Administration>>Command tab
  • Type in: [note] - this is only needed for v3.x WAP units with V24-RC5 and later firmware.

nvram set WAPver=3

nvram commit

  • Click on the "RUN" button and then the "Save Startup" button... you want this to run each time it reboots.
  • Reboot the router again then configure.

[Added by lerley - 1/29/08]

I kept getting "upgrade failed" message when trying to update the micro firmware on my WAP54G v3.1 - I ended up doing the following to make it work:

  • Reset as above
  • Upload micro firmware through web interface and get failed message
  • Power cycle router
  • Tftp micro firmware to router (still at as per instructions in Recover from a Bad Flash#Recovering_with_TFTP
  • When router boots, go to and log in with DD-WRT defaults
  • Go to Administration - Upgrade Firmware and upload micro firmware again
  • Power cycle router

At this point it worked great and I could configure it. Probably still need the nvram stuff as above...

[Added by rfuhrman 19 April 2008]

WAP54v31 hardware, running Firefox on brand new WAP54v31, loading dd-wrt.v24_micro_generic.bin ....on upload completion received "upload failed" message ala 'lerley'. My WAP54 was unaffected, I was still in Admin page, so no need to panic.... Simply switched to IE and ran same exact commands at, perfect upload 1st try. Then I could later use Firefox for finishing the configuration.

So I assume do not use browser of choice, but rather use IE for 1st upload (this is same as suggested for WRT54GL install notes).

Linksys WRT54G or WRT54GL or WRT54GS or WRT54GGX

See Linksys WRT54G/GL/GS/GX page.

Linksys WRTSL54GS

See Linksys WRTSL54GS page.

Linksys WRT300N v1

See Linksys WRT300N v1 page.

Allnet ALL0277

The Allnet ALL0277 (not DSL !!!) essentially is a relabeled Linksys WRT54G v1.0. It was even reported in the forum, that you can install the Linksys firmware on these devices.

First time install

With some minor exceptions, the procedure to install DD-WRT the first time is pretty much the same as for other WRT54G devices. For flashing this device the first time you need to change the first 4 bytes of the mini_wrt54g image to read W54A (usually this is W54G). You can use a hex editor like XVI32. After the patch, you can upload using the new firmware using the standard ALLNET web interface. If the ethernet interface does not work (it did not for me on v23SP2), try the wireless LAN interface to check whether the upgrade did succeed.

After the hard reset of the router, you should be able to proceed as described above.



NOTE: Use only v23 SP1 final or later with Buffalo devices. Older releases may cause trouble!

NOTE: For some models you can use the ddadder program

First Time Flashing from Stock Buffalo Firmware

Normally, most companies let you upload firmware directly from the user interface. Buffalo, unfortunately, encrypts their firmware, and their routers will accept only encrypted firmware in the web interface.

The first time you flash, the TFTP method can be used to bypass this 'encrypted' firmware requirement. Afterwards, the router firmware can be changed through the Web interface normally.

All the Broadcom routers normally enter a special mode in the first few seconds after power is applied that allows a TFTP transfer to directly program the flash ROM with new firmware. So what you need to do is get everything ready to go. 1. power up the router, and then 2. send the router the new firmware, quickly.

WHR-G125 Specifics

There is no decrypted firmware available for the WHR-G125 so after flashing dd-wrt there is no way to revert to the original Buffalo firmware.

Support for this model has now been integrated into the generic v24 builds. If you are flashing v24 Final you can ignore the following warnings.

NOTE: There is a separate RC5 firmware section for the WHR-G125. For available v24 RC5 downloads see here.

WARNING - You MUST use the special G125 build of v24 if you flash RC6 or earlier on the WHR-G125 router or you will brick it. If loading an Eko- RC5 or Eko-RC6 the file name must contain 535X. If it is a Pre-RC7 build...the Eko builds must contain NEWD in the filename....BrainSlayer RC7 builds can be used directly as special build designation with his Pre-RC7....Now that V24 Final is can load the std_generic.bin file from the Buffalo WHR-G125 directory. Do NOT use any VINT builds on the G125 unit.

WZR-RS-G54 Specifics

Substitute as the router IP, and as your computer IP in this guide.

TFTP Flashing Buffalo Routers under Windows

Vista Users: Go into Control Panel, Programs, turn Windows Features on of off, check "TFTP Client".

The computer you are using, and the router you are resetting, must be close to each other: so it is possible to have one hand on the enter key of the computer, and the other holding the power plug of the router, and able to put it in the wall or power outlet.

  1. It's good to now reset to factory defaults by holding the reset button while plugging in the router. Hold for at least 30 seconds. Unplug the router. This makes sure the router is in its 'factory fresh' state.
  2. Unplug the router. Usually, preparing by leaving the connection to the router, and unplugging the router from the wall or power strip, is the easiest way.
  3. A non-XPSP2, third-party firewall, may interfere with tftp's ability to talk to the router. It may be useful to disable any third-party firewalls now.
  4. Either:
    1. Your computer should be connected directly to one of the LAN ports on the router. (You can use a regular cable or crossover).
    2. Or if you have a larger network, the computer is connected to a switch, and then to the router LAN port. The router's power cord still needs to be within reach while you are at the computer.
      Reference Image
      Reference Image
  5. For Windows XP, the following reference image should help. After selecting "Internet Protocol (TCP/IP)," click on the Properties button to open the next screen. Enter the info as shown, an IP Address of, a subnet mask of, and click 'OK'. Leave Default Gateway blank.
  6. Make a copy of the firmware file, call it 'ddwrt.bin', and put it in your user folder. For instance, "C:\Documents and Settings\yourusername".
  7. Open a command window, by using Start->Run->"cmd". Enter 'ping -t -w 10'.
    1. The router is pinged continuously from the computer, letting you know when to send the firmware.
  8. Open up a second command window, and leave the first where you can see the ping results.
  9. Without pressing Enter, type tftp -i PUT ddwrt.bin Do not press enter yet. Keep this second command window in the foreground, so all you have to press is the Enter key to send the firmware.
  10. With the power cable to the router in one hand, and the other hand on the Enter key, plug the router in while watching the first command window. When ping replies from begin, press the Enter key.
    1. Some people have found that they have better luck if you plug in the power cable for the router first, then wait a few seconds until you see the red "DIAG" light come on the front of the router. As soon as you see that, you'll want to press Enter to immediately start the TFTP transfer.
  11. All port LEDs will illuminate.
  12. The LED on the LAN port will flash rapidly for about 6 seconds. The TFTP command will complete with a success printout, like Transfer successful: 3502080 bytes in 5 seconds, 700416 bytes/s. Leave the router ALONE at this point!
  13. The router will reboot and then boot DD-WRT.
  14. At this point, the router is ready to use. There is no need to reboot it (unplug/plug).
  15. You can reconfigure your network interface on your computer to use DHCP. The computer pulls an IP address and network information from the router. Access the router via
    1. (For the WB2-G54 and some WHR-G54S models, the router may still be accessible at
  16. The user name is 'root' and the password is 'admin'.

Unplugging router can cause media detect network cards to show no media, ie "Network cable disconnected." When you start the tftp and plug the router in, the NIC doesn't detect media until after the tftp flash window has passed, so 60 seconds later tftp times out and the router boots normally. If so, don't unplug the router. Get your tftp ready, hold down the Init (Reset) button on the router, with the Init held down and the Diag blinking, start tftp and immediately release the Init button. You'll never get the 'Cable Disconnected' errors, and it should flash right up.


***If you are still having trouble with timeouts, etc., you may want to try using the TFTP client from Linksys. Be sure to set it to retry at least three (3) times. Five (5) would be a safe number to start with. Connect power while holding the reset button till the red diag button begins to blink, release the reset button and hit the Upgrade button on the Linksys TFTP Utility. For WHR-HP-G54 I had to flash through a switch with Windows or suffer timeouts trying.***

I tried several time on Windows XP. The result is always a timeout. Disabling Media Sense feature of Windows XP, I finally succeeded. How to disable Media Sense feature of Windows.

One other way to prevent a timeout is to first set the NIC to 10 Mbit half duplex.

Another way is to use a (script) cmd file under Windows

  1. Save the script below to a file named "install.cmd" (without quotes), and put the firmware file in the same folder.
  2. Run it.
  3. Follow the directions.

@echo off

echo ============================================================================
echo Type or paste the firmware filename below and then press Enter.
set /p dd-wrt_fn=Firmware Filename: 
if not exist %dd-wrt_fn% goto FNF_ERROR

echo ============================================================================

echo This batch file will upload %dd-wrt_fn% in the current
echo directory to during the router's bootup.
echo * Set your ethernet card's settings to:
echo      IP:
echo      Mask:
echo      Gateway:
echo * Unplug the router's power cable.

echo Press Ctrl+C to abort or any other key to continue . . .
pause > nul

echo * Re-plug the router's power cable.

echo ============================================================================

echo Waiting for the router; Press Ctrl+C to abort . . .

ping -n 1 -w 50 > nul
if errorlevel 1 goto PING

echo tftp -i put %dd-wrt_fn%
tftp -i put %dd-wrt_fn%
if errorlevel 1 goto PING


echo ============================================================================

echo * WAIT for about 2 minutes while the firmware is being flashed.
echo * Reset your ethernet card's settings back to DHCP.
echo * The default router address will be at

goto END

echo ============================================================================

echo ERROR: Make sure this batch file and the firmware are in the same directory!


TFTP Flashing Buffalo Routers under Linux, OS X, or other

  1. Obviously, be sure to observe the aforementioned procedures:
    • Disable your wireless adapter so that the tftp connection is not through a wireless connection.
    • Connect directly to the router using a wired connection (i.e. ethernet cable). Make sure you are connected to one of the four LAN ports and not the WAN port.
    • Download a copy of these instructions so that they are available to you during the procedure.
    • If working with the WZR-RS-G54 router, then be sure to replace all instances of with
    • Most importantly, review all of these procedures before attempting them.
  2. OS X specific instructions:
    • Open up system preferences and select the network preference pane
    • Under the TCP/IP tab select from the drop down menu next to Configure IPv4 manually
    • Type in for the IP address
    • Type in for the Subnet mask
    • Type in for the router
    • Click Apply Now
  3. Change to the directory that you downloaded the dd-wrt.v23_mini_generic.bin file into. At least in Mac OS X, tftp fails to resolve either absolute or relative paths. It is simply better to cd to the directory that contains the dd-wrt.v23_mini_generic.bin file before launching the tftp app so no path resolution has to happen.
  4. Execute the tftp command and change the mode to binary by typing binary and hitting return/enter.
  5. Execute the trace command so you get feedback.
  6. Execute the rexmt 1 command so tftp will retry to send the file if you don't get the timing perfect.
  7. type in the connect command but don't execute it yet.
  8. copy the following command (ctrl-c or cmd-c): put dd-wrt.v23_mini_generic.bin.. You don't want to hit return yet, because you're going to do this when the timing is right.
  9. Now that you are ready, here we go:
    1. Plug in the router
    2. When the router is plugged back into power, all of the LEDs on the ethernet ports will turn on.
    3. Once the LEDs turn off on all ports except the connected port, hit enter on the connect command, then immediatly paste (crtl+v or cmd-v) the PUT command into the terminal and hit enter.
    4. The terminal will return with the number of bytes sent and the time that the transfer took in seconds.

Here is a recap of all the commands:

$ cd /path/to/dd-wrt.v23_mini_generic.bin/directory
$ tftp
tftp> binary
tftp> trace
tftp> rexmt 1
tftp> connect
tftp> put dd-wrt.v23_mini_generic.bin

OS X timing tip: Open the network preference pane and select "Network Status" under the "show" pull-down menu. When the router is unplugged the dot next to "Built-in Ethernet" will be red. Now plug in the router and watch for the "Built-in Ethernet" dot to turn green. As soon as it does, execute the connect and put commands.

Alternatives and Troubleshooting under Linux

  • Within tftp, you may be able to execute multiple commands using the '&&' operator.
  • You may be able to use the following one line command:
tftp -m binary -c put dd-wrt.v23_generic.bin 
  • Be sure to remember to use for the WZR-RS-G54 router.
  • Make sure you are in the directory containing the DD-WRT binary before entering tftp.
  • If tftp fails, try atftp (available in portage for Gentoo and repositories for Debian, Ubuntu, and probably others.) With atftp, the "binary" and "rexmt 1" commands are unnecessary.
  • If the above does not work, try issuing the "put" command before powering the router. The command will retry and begin as soon as the connection is established. Finding the right timing is everything.
  • Try also holding the router's INIT button, starting the "put" command, then releasing the button.

Flashing WBR-G54 WLA-G54 WBR2-G54 WBR2-G54S

See Flash Your Buffalo WBR-G54, WLA-G54, ... also includes WBR2-G54, WBR2-G54S

Flashing WHR-HP-AG108

See WHR-HP-AG108


  • Once you flash to DD-WRT on the Buffalo WHR-G54S/WHR-HP-G54/WZR-RS-G54 and you, for whatever reason, want to flash back to the Buffalo firmware, look in the downloads section of in the "buffalo factory revert" folder for unencrypted firmware that will load from the DD-WRT gui. The WHR-HP-G54 image is the German version. Download the English version from Buffalo's site. Flash the German version and use that to flash the English version.
  • A hidden LED behind the front panel may blink on older models. It slightly lights up the bridge icon. This LED is not used in the Buffalo firmware, but in DD-WRT it will flash on for 2 seconds, then off for 2 seconds.
  • For any future upgrades/downgrades of normal unencrypted firmwares (DD-WRT, etc), use the web interface of the router. See Steps to Flash Through Web GUI.
  • WARNING: One person reports: I had problems using the mini version of DD-WRT v23SP2 on my WHR-G54S. When using the (standard, full) generic version, everything worked fine.

Additional WHR-HP-G54 information

See WHR-HP-G54


  • If you experience problems a switch between the Buffalo and your PC may help.
  • If you experience problems, you may need to erase NVRAM by starting a Telnet session and entering one (or both?) of the following Options:
  • Option 1 :
mtd erase nvram
cd /tmp
chmod a+x /tmp/
nvram commit
  • Search for posts in the forum containing "WHR-G54S" and the problem you are having.


  • Forums, search for "WHR-G54S bricked". There are enough debricking threads, you don't need to start your own.

Belkin F5D7230-4 v2xxx and Lower

As this Belkin router comes in several versions, this firmware build will only work for Belkin router models up to v2000. v2000 has a different switching chip than earlier versions though, so you may lose the functionality of the switch and may only be able to connect wirelessly after flashing a v2000 Belkin (see instructions below for adding limited wired capability). v3000 should work, but attempts to flash it have been unsuccessful with current versions of DD-WRT. Attempting to flash a v3000 could brick your router. Version 4000 and higher appear to be based on the TI chipset found in the Linksys WRT54GC. v1000, and v1111, have 4 MB flash ROMs while v1444 has only a 2 MB flash. You have to flash the router with the 2 MB micro firmware via TFTP. If you have a 4 MB model, you can reflash the router with the full version generic firmware from within the routers web interface once you've followed this procedure. Unless you need the extra features, it is best to stick with the micro firmware since it is known to work better with this router.

Warning: These instructions will brick v1212 and v1213 Belkin F5D7231-4 routers, apparently without a hope of fixing them short of some rewiring. See the forum posts here[1] for possible help un-bricking one of these units.

  1. Download the latest micro firmware (dd-wrt.v23_micro_generic as of this writing)
  2. Reset router to factory defaults. Unplug the router.
  3. Connect your computer directly to one of the LAN ports on the router.
  4. The router starts up with IP address Set your computer's IP address manually to the following setting: IP Address:, Subnet Mask:, Default Gateway: leave blank. For more help with this step, study the instructions for the Buffalo router located above.
  5. Go to Start->Run->"cmd" and press Enter.
  6. Change your directory to the folder containing the firmware image. Ex. cd "C:\Documents and Settings\All Users\Desktop"
  7. Type tftp -i PUT (file name of firmware image) For example: tftp -i PUT dd-wrt.v23_micro_generic.bin. Do not press enter yet.
  8. Connect the power to the Belkin.
  9. All port LEDs will illuminate.
  10. After a few seconds, all LEDs except the one you are connected to will turn off. Wait exactly one second and hit enter to execute the command. If you get a timeout error just try again. (Also try running tftp right before powering up.) If you continue to have trouble with this step check out the alternative method below.
  11. The LED on the LAN port will flash rapidly for a while after which the power button will flash rapidly for a while. Be patient and wait for the power light to stop flashing. Wait a couple more seconds.
  12. Power cycle the router. (unplug the power, wait a few seconds, plug it back in).
  13. Set your IP address back to automatic (DHCP), or set it to something beginning with 192.168.1.
  14. The router is now accessible at
  15. The user name is 'root' and the password is 'admin'
  16. Enjoy your DD-WRT router

Alternative for Flashing F5D7230-4

If you don't enjoy spending hours, powering your Belkin router up and down. You can can try this procedure that worked for my v1444:

  1. Follow steps listed in the method above until you finish the part where you set your computer's IP address to
  2. Goto and goto their download page (You may want to do this first before you reset to the factory defaults in case resetting screws up your internet connection). If the site asks for your location, choose North America - USA.
  3. Download the firmware for BEFW11S4 - EtherFast Wireless AP + Cable/DSL Router w/4-Port Switch (Version 1.0).
  4. Extract the tftp.exe program from the zip file.
  5. Start tftp program and set server to: and for the file part, put the location of your "dd-wrt.v23_micro_generic.bin" file.
  6. Set retries to 20.
  7. Powerup router.
  8. Click upgrade and then hit the reset button on your router. If program doesn't catch the Belkin's TFTP window, just hit reset again. The tftp program will let you know when it is upgrading and succeeds.

This method caught the Belkin narrow tftp window on retry #11 vs. my 0 catches after 40 some tries using the power up and down method. Not sure if this will work on other version of the F5D7230-4. From what I have seen with my router, a successful installation will change the LEDs on the Belkin. WLAN LED does not work. Power LED will work and connected WAN LED will blink green. Good luck.

After more than 50 unsuccessful attempts to flash my v1444 router I finally flashed my router using the alternative method described above, but only after using a hub or switch to connect the computer and the Belkin unit. All of my attempts with a direct connection between the router and the computer resulted in a timeout, but by using a hub or switch I had success on the first try. When trying to flash with a direct connection from the computer to the Belkin, it will never work. The connection fails when the router is unpluged or reset. By the time the connection is re-established, the Belkin is too far along in the boot process to accept the upgrade. So if you are having difficulty, like I did for so long, try the above method with a hub or switch connecting one of the LAN ports of the router to the computer.

Second Alternative for Flashing F5D7230-4

If you're having difficulty with either of the above methods (or just don't feel like going through all the hoops required) there is a much simpler method that may work.

  1. Reset the router to factory defaults.
  2. Set your computer's IP address to as described above.
  3. Plug your computer into the router and power the router on.
  4. In a command prompt (what you get by going to Run in the start menu) type out the tftp command line but do not hit enter yet.
  5. Press and release the reset button on the back of the router.
  6. Almost immediately hit enter in the command prompt to run the tftp command you typed out.
  7. If tftp tells you the file was sent successfully wait a few seconds, unplug the router, then plug it back in. If it says the connection timed out or the transfer failed, prepare the tftp command line again (hitting the up arrow key should do it) and repeat the previous two steps.
  8. Connect to to configure (and enjoy) your vastly improved router.

After trying the first two methods a few times (the first method several times in particular) I managed to get my v1444 flashed in one try (!) using this method. As such I am unsure of the exact delay between resetting the router and starting TFTP, but it was definitely less than a second. At the very least this method is much more enjoyable than unplugging and re-plugging your router over and over again.

Linux Instructions for Flashing F5D7230-4

  • Set the IP address of your ethernet interface to be, netmask of
sudo ifconfig eth0 inet netmask
  • Make sure you have "tftp" installed.
  • Start up tftp with the router switched off:
# tftp
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> rexmt 1
tftp> binary
mode set to octet
tftp> status
Connected to
Mode: octet Verbose: on Tracing: on
Rexmt-interval: 1 seconds, Max-timeout: 25 seconds
tftp> timeout 60
  • Turn on the router after typing the following command:
tftp> put dd-wrt.v23_micro_generic.bin
putting dd-wrt.v23_micro_generic.bin to [octet]
Sent 1746029 bytes in 14.8 seconds [943799 bits/sec]
  • When the lights stop rapidly blinking, reset the router.

OSX Instructions for Flashing F5D7230-4

  • Make sure the router is on and plugged into your Mac's ethernet port
  • Goto System Preferences and click on the Network icon
  • In the selection box next to the word "Show:" select the Built-in Ethernet option
  • Change the IPv4 Configuration to manually and set the IP address to the subnet mask to and the router to
  • Click "Apply Now" and change the selection box next to "Show:" back to "Network Status"
  • Unplug the power from the router and watch the green dot next to "Built-in Ethernet" turn red
  • Open the Terminal application and type the following commands
tftp> connect
tftp> verbose
Verbose mode on.
tftp> ascii <- [Edit: I think this is a typo, should be "binary"!] 
mode set to octet
tftp> status
Connected to
Mode: octet Verbose: on Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> timeout 60
  • Type the following but don't hit enter yet. Make sure you can still see the System Preferences window
tftp> put dd-wrt.v23_micro_generic.bin
  • Now plug the router back in. As soon as you see the red dot next to "Built-in Ethernet" turn green, hit enter and the firmware should be flashed once the lights on the router stop blinking.
  • In order to connect to the router you must first go back to the Network Preferences and change the IPv4 configuration back to DHCP and click "Renew DHCP Lease"

Using v2000 Or FD57231-4 As A Wireless Client Or Access Point With DD-WRT
(borrowed from

The Belkin F5D7230-4 v2000/FD57231-4 (with screws not under label) are still not completely functional with DD-WRT, but it can be used as either a wireless access-point or a wireless client. The reason for this limitation is due to the fact that the current robo-switch is unable to properly configure the vlan with this router's implementation of the BCM5325EKQM switch chip. By bypassing the vlan stuff we can get limited functionality from this router. In order to load DD-WRT micro you must tftp it on to the router. These instructions are for the v23 SP1 build of DD-WRT micro not the multi-language version which seems to have stripped out the reboot, ls and other shell commands.

A) Belkin F5D7230-4 v2000 as a wireless client.
1) Connect to the router wirelessly
2) Telnet to the router and sign in or use a serial console cable
3) Enter the commands below:
nvram set lan_ifnames="eth0 vlan0"
nvram set port0vlans=0
nvram set lan_ifname=eth0
nvram set wan_ifname=vlan1
nvram set wan_ifnames=vlan1
nvram commit
4) After the reboot, unplug the router and plug it back in. When it starts back up your LAN ports should be active. The router's default IP address is Just use the web interface via the LAN port to configure the router as a wireless client.

B) Belkin F5D7230-4 v2000 as a wireless access point
1) Connect to the router wirelessly
2) Telnet to the router and sign in or use a serial console cable
3) Enter the commands below:
nvram set lan_ifnames="vlan0 eth1"
nvram set port0vlans=1
nvram set remote_management=1
nvram set lan_ifname="br0"
nvram set wan_ifname=eth0
nvram set wan_ifnames=eth0
nvram commit
4) After the reboot, unplug the router and plug it back in. When it starts back up your wan port should be active. The router's default IP address is Just use the web interface via the WLAN port to configure the router as an access-point.

If you enter in the wrong setting or can not access your router you can always hold down the reset button to restore it to the factory defaults. Remember that we are bypassing all the vlan stuff so some of the web configurations will not work.

Belkin F5D7230-4 v2000 and v2000de

This version has a different flash chip than the other versions, and it will enter a reboot loop if a special SF build is not used. If you have already flashed the device and it is in a reboot loop, you can still flash the correct build using tftp.

This version also has a different switch chip so only wireless will work after flashing. Wired can be enabled, but the ports can only be set to either WAN or LAN. If you only have wireless clients or want to use it as an AP or Client Bridge; this is not a problem. However, you are not able to use this device as a wired router with wired clients.

Flashing Instructions

The SF build for this device is currently available here. At the time of this writing, the latest SF build is dd-wrt.v24-9396_NEWD-SF_micro.bin

Flashing method is the same as other Belkin versions.

Enabling Wired Ports

After flashing, the router will only be accessible through wireless.

  1. Connect to the router over wireless. The default SSID is dd-wrt. You will be able to access the GUI at
  2. Telnet to In Windows type telnet in command prompt. The default username is root and password is admin
  3. Type the following commands:
nvram set Belkin_ver=2000
nvram commit

The default setting is for all the ports to act as LAN ports.

Setting Wired Ports to WAN

It is not possible to set only the WAN port to WAN due to the switch chip in this version. You may set all the ports to WAN after following the above instructions for enabling wired ports. In this mode, you cannot connect any other wired devices other than WAN. If you are going to use the device as an AP or Client Bridge, this step is not needed.

Connect to the router using wired or wireless and telnet to as explained above.

To use all ethernet ports as WAN, set

nvram set wan_to_lan=yes
nvram commit

To restore setting to LAN (default)

nvram unset wan_to_lan
nvram commit

Mitsubishi R100 Gateway

The Mitsubishi R100 is a relabeled Asus WL500G that is only available in Australia. As such, you can use the Asus tools on the Mitsubishi product. The R100s are usually found at lower prices compared to the Asus product. They also come with a three year warranty. Obviously, flashing with a third-party firmware voids this warranty.

Asus WL500G (Original)

You will need:

  • A PC directly connect to one of the LAN ports of the router, via ethernet cable. (Unfortunately, it has to be a Windows based PC. I was unable to upload the firmware via tftp command. Maybe you'll have better luck with Linux). Note: Manually disable all installed NICs except the one you will use to connect to the router.
  • These two files: wl500g-clear-nvram.trx (filesize: 1,585,152 bytes) and wl500g-recover.trx (filesize: 3,690,496 bytes)
  • Asus Firmware Restoration Tool. This is found on the CD that comes with the router OR Asus Support website here. Its hidden in Utilities section and named Asus WL-500b/g wireless router utility program in English. Version (for the English version). The file is called (Use unzip app to decompress).
  • DD-WRT v23 SP2

This procedure was developed using the Mitsubishi R100 router with the standard variant of DD-WRT. It should be identical with the Asus WL500G (Original)

This process requires a bit of patience and persistance. The WL500G and the relabeled R100 are stubborn routers that need a bit of encouragement. Eventually, you will be successful with installing DD-WRT onto them.

  1. Set the PC to have a static IP address of, while the gateway entry is
  2. Before you plug the power connector in, press and hold the Restore or Reset button on the back.
  3. While holding the reset button, plug the power connector in.
  4. This causes it to go into Restore mode. This is indicated by the PWR LED flashing at regular intervals.
  5. Now use the Asus Firmware Restoration Tool and upload wl500g-clear-nvram.trx. Wait until upload is complete and it reboots. This is usually takes about 2 to 3 minutes.
  6. Once done, unplug the power connector. Wait for 30 seconds or so.
  7. Repeat steps 2 to 6, but upload wl500g-recover.trx instead.
  8. Now plug the power connector back into the router.
    • Try to ping the router from your PC. If it responds, then you are ready to upload DD-WRT firmware. Proceed to step 9.
    • If not, then repeat steps 2 to 7 until it does.
    • If that fails, set the router in Restore mode (as mentioned in step 2 to 4), but install DD-WRT firmware. Then wipe it off by repeating steps 2 to 8. You must have it such that the router MUST respond to ping in Restore mode!
  9. Install DD-WRT v23 SP2 Asus firmware using the Asus Firmware Restoration Tool. (The firmware file is called dd-wrt.v23_asus.trx).
  10. Once done, wait for a few minutes until it reboots. This can be seen by the AIR LED flashing at regular periods.
  11. Now try pinging the router with DD-WRT firmware installed.
    • If it responds, continue to step 12.
    • If it does NOT respond to pings, repeat steps 2 to 11. Repeat until it responds with DD-WRT installed.
  12. Login in via web browser by entering and the default login is root, with the password admin
  13. Enjoy your R100 or WL500G with DD-WRT v23 SP2! :D

Asus WL500G Deluxe

First, you need a firmware file. If you're not sure, use the dd-wrt.v23_asus.trx from [2].

There are three ways to upload DD-WRT on WL500G Deluxe:

  1. Web interface (easiest, use this if unsure)
  2. Asus recovery utility (Windows only)
  3. TFTP

Web interface

The easiest way. If you can connect to the router and administer it via its web interface, skip to point 5:

  1. Power up the router
  2. Connect via ethernet to one of the four LAN ports, or (untested) connect via wifi
  3. Obtain network settings via DHCP
  4. Point your browser of choice to (use the IP address of the gateway, obtained in the previous point)
  5. Go to System Setup > Firmware Upgrade
  6. Upload the firmware file using the form provided.
  7. Wait until the page reloads, now with the DD-WRT interface. (This might fail as the IP address/URL will be different - in that case wait 3-5 minutes, or until the router has rebooted).
  8. Congragulations, the DD-WRT install has been completed.

Asus recovery utility

You can get the utilities here, or you can browse the Asus site to download the latest version. Asus only seem to provide these for Windows.

In case you have multiple network interfaces and are unable to find you router, disable all but the one that is connected to your router.

  1. Remove the power connector of the WL500G.
  2. While holding the reset button, plug the power connector back in. (WL500gP - button labeled "restore")
  3. When the power LED flashes, release the reset button. The router now is in recovery mode.
  4. Wait for your PC to get an IP address (if dhcp is configured)
  5. Use the Asus recovery utility to upload the DD-WRT trx file.
  6. After the upgrade the router reboots and you should be able to access the web interface


SSD: For my new WL-500g Deluxe, the recovery utility would appear to successfully upload the firmware (v23), but then I could not get it to boot... even after waiting several minutes and power cycling. The unit would also be unresponsive to ping requests. I could always successfully reload the original Asus firmware. TFTP methods were unsuccessful altogether, as tftp never seemed to establish contact with the router. Finally, I was able to boot DD-WRT by first flashing with OpenWRT (White Russian rc4), then using OpenWRT's firmware upload page to flash with DD-WRT.

MopIC: I had very similar problem like SSD. Unfortunately, flashing in OpenWRT RC4 or any other software through Asus Restoration tool didn't help at all.
My router is Asus WL-500G PCB R2.40.
It acted as if it was constantly rebooting.
The solution came from website.

I had to do the following:
1. Set my IP address on PC's interface to (DHCP on Asus didn't work)
2. Unplug power cord from wl-500g.
3. Press and hold restore button and then insert power cord back into router.
3a. When the PWR light starts flashing, release Restore button.
3b. Now your wl-500g is in restore mode.
4. Run Asus Firmware Restoration (can be found on asus website or included CD)
5. Choose the wl500g-clear-nvram.trx file and upload it to the router. Wait 2-3 minutes after.
6. Unplug power and again enter restore mode (steps 2 and 3)
7. Choose the wl500g-recover.trx file and also upload it to your router. Wait 2-3 minutes
8. Unplug power and again enter Restore mode (steps 2 and 3)
9. Choose the firmware you wish to flash and upload. Wait 2-3 minutes. Reboot. I used DD-WRT v23 SP2 2006-1307 for Asus
10. Now it should be ok - enter and check if it is ok :-)
Hope it helps... for me it was couple hours to fix it...

LFR: Upgrade was done out of the box with .trx file & worked straight, no need for recovery mode
MrO: Does this also work on the WL-500g Premium? TTSherpa: Yes it does. No problen going back an forth the original FW & DD-WRT
DJ: While upgrading from SP1 to SP2, web GUI didn't work with .trx file. Renaming it to .bin worked. QBA: WL-500g premium - used the asus recovery tool (from to upload v23-sp2 (dd-wrt.v23_vpn_asus.trx) in recovery mode on original asus out of the box firmware - works like a charm :-)


The utility mentioned below might be the OpenWRT Flash utility, although the syntax is different.

posted by Evan Carrol sept 28, done with with WL-500gP:

I just wanted to drop in my advice, I did this whole thing without the Asus proprietary utils. I used Linux tftp. I had to use the aformentioned utils at, the only different thing I did was use TFTP. I went in the same order as the above but only gave my router 10 seconds between reboots: 1) flash - tftp wl500g-clear-nvram.trx
2) 10 seconds unplug,
3) flash - tftp wl500g-recover.trx
4) 10 seconds unplug,
5) flash - tftp dd-wrt.v23_asus.trx
6) 10 seconds unplug

Asus WL500G Premium

  • Same as Deluxe.
  • Recover from bad flash via Asus Firmware Restoration.
    • Brick recovery can involve shorting pins. Easy enough if one's hands don't shake, but you void the warranty.

DD-WRTv23 SP2 ok so far ...

Chickenboy: For brick recovery, you need to ground Pin 9 shown in this picture ... Warning *You'll void your warranty & if you don't know what you're doing, you can permanently kill your router. DO AT YOUR OWN RISK!

So far, I've uploaded faulty firmware 5 times and this technique has saved my router from being a paperweight.

Birdy: For a thorough explanation on how to recover your bricked Asus WL500g Premium or WL500g Deluxe, browse to:

    • Posted by Atreus on 12-24-07 on WL-500G Premium and DD-WRT v23 sp2 **

This router is VERY easy to flash, especially from a Linux box. Most of the information on this guide is aimed at Windows users, but these steps are specifically aimed at Linux users, providing an easy way to flash the router without the proprietary Asus flashing tool.

Note: This advice is assuming you are flashing the router from a Linux computer. Only flash on a wired connection.

cn0rris: Notes about installation on Mac OS X: These steps should work fine on any computer with a tftp client, and Mac OS X specifically. I just followed them on my Mac OS X computer, and they worked just fine.

cn0rris: Another Mac note: I don't know if this is particular to the WL-500G Premium, or the specific version of the software I am using (DD-WRT v24 RC6.2), but I found that I had to use FireFox rather than Safari. It would load the main page correctly, but as soon as I clicked on the Administration tab, it would fail. I presume there is a problem with HTTP Auth handling somewhere, that FireFox seems to handle correctly.


  • TFTP If you are on a Debian box, simply typing apt-get install tftp will do the trick.
  • wl500g-clear-nvram.trx
  • wl500g-recover.trx
  • The most recent stable release of DD-WRT from the downloads page. Make sure you use the firmware specifically compiled for the Asus router. Check the readme included with the files, but it should be called something like dd-wrt.v**_asus.trx

  • Step 1: Connect your computer via Ethernet cable to a LAN port on the router (I used LAN port 1)
  • Step 2: Unplug the power cord from the router
  • Step 3: Wait 20 seconds
  • Step 4: Press and hold the reset button on the back of the router. Note that the reset button is recessed and you need a pen or paper clip to press it in. The button protruding from the back is the EZ Setup, which is not what you want to press.
  • Step 5: While holding the reset button, plug the power cord into the router. Continue to hold the reset button until the power light starts flashing. Let go of the reset button
  • Step 6: Use tftp to transfer wl500g-clear-nvram.trx to the router. The commands are as follows:

user@box:$ tftp

> mode binary

> put wl500g-clear-nvram.trx

  • Step 7: Tftp should report a successful file transfer in 7-15 seconds. Wait 2-3 minutes after that before unplugging the router
  • Step 8: Unplug the router, wait 20 seconds. Hold the reset button and plug the power cord into the router, continuing to hold the reset button until the power light flashes. Release the reset button.
  • Step 9: Use tftp to transfer wl500g-recover.trx to the router. Same method as above, just change the file name. Wait 2-3 minutes after tftp reports a successful file transfer before unplugging the router.
  • Step 10: Unplug the router, wait 20 seconds. Hold the reset button and plug the power cord into the router, continuing to hold the reset button until the power light flashes. Release the reset button.
  • Step 11: Use tftp to transfer the DD-WRT firmware to the router. MAKE SURE YOU USE THE CORRECT FILE. It should be be called something like dd-wrt.v**_asus.trx Do not upload a .bin file.
  • Step 12: Wait 2-3 minutes after tftp reports a successful file transfer before unplugging the router. Unplug the power cord from the router, wait 20 seconds, and plug the power cord back into the router.

The router should now boot to DD-WRT firmware. Go to to confirm. You may need to power cycle your cable modem (if applicable) to get an internet connection.

Notes: You may need to manually specify your computers IP address (in order to use tftp to upload the files) if for some reason DHCP is not working. I did not need to do this, but if you cannot establish a connection to the router try the following settings:





Asus WL500W

  • Same as Deluxe (Asus WL500G Deluxe).
  • Recover from bad flash via Asus Firmware Restoration.
  • Requires v24 RC3 or later

Thought a recap might help from an off the shelf installation December 2007. Similar to the Asus WL500G Deluxe setup (it's a touch redundant).


  • laptop
  • RJ45 cable in box
  • Downloaded all the images and instructions.
    *  wl500g-clear-nvram.trx wl500g-clear-nvram.trx
    *  wl500g-recover.trx wl500g-recover.trx 
    *   Assus Router Utilty UT_WL500W_3180
    *  temporary DD-WRT firmware:  dd-wrt.v24rc5_mini_asus.trx
    * actual final firmware image: dd-wrt.v24rc5_vpn_generic.bin (added the rc5 to filename when DL)

- remember to disable your wireless NIC, used the ethernet NIC
1. installed the utilties sofware on laptop Asus WL-500W wireless router utility,version
2. connected laptop to LAN port 1 with RJ45 cable
3. Booted up the router. DHCP seemed to work automatically. LAN connected.
4. Used the 'Asus Tools --> Device Discovery' application and doubleckicked on the router 'WL-500W' in the on screen box. It opens a new web page with the device menu options. May have to login as admin/admin.
5. (Skip this step) Used the onscreen menus to find the firmware update window. I was curious to see the actual Asus firware and the features like USB so I updated it to the newest version WL500W_1988. File is on the Asus website. You can skip this step. Reboot Router.
6. Changed my ethernet NIC to manual TCP/IP setting on the laptop: (DHCP on asus won't work for next steps)
7. Make sure you can connect or see the router Ex. Asus Utilty --> Device Discovery or ping should also work

The REAL work:
8. Unplug power cord from wl-500g.
9. Press and hold restore button and then insert power cord back into router.

    When the PWR light starts flashing, release Restore button.
    Now your wl-500g is in restore mode.

10. Run Asus Firmware Restoration (can be found on asus website, Router Utilities software or included CD). Asus Utility --> Firmware Restoration.
11. Choose the link wl500g-recover.trx file and also upload it to your router. Wait 2-3 minutes. NOTE I skipped the clear.trx image load and it worked for me. but if doesn't for you then look at the WL500G setup instructions. And Yes I used the wl500g images or trx files for this.
12. Unplug power and again enter Restore mode (steps 8 and 9)
13. Choose the firmware you wish to flash and upload with the Firmware Restoration utiltity. Wait 2-3 minutes. Reboot. I used the dd-wrt.v24rc5_mini_asus.trx image.
14. see if you are you able to connect to the router Logon to DD-WRT web interface with root/admin.
15. Use DDR-WRTs web interface to upload the image e.g. dd-wrt.v24rc5_vpn_generic.bin
16. Voilà! Done. Reset your laptop's ethernet NIC to DHCP or automatically detect IP address.


If you are getting error with the Firmware Restoration utility not finding the router (I could never get it to work), use the tftp upload method but follow the same instruction as above. Use a Windows tftp-client and run tftp -i PUT file.trx.
After uploading, wait 3 min before pulling the power-cord and move to the next step.
Why would I use this router? I found Linksys 54GS/L were much easier to use and install. Cannot uprgrade the antennas without destroying the case..
- But the WL500W is still relatively cheap (under US$100 - Apr08), with 8M flash so you have a 4M jffs partition.
- To use the USB storage, after mounting jffs/cleanfs, follow instruction USB_storage. I got my 4G usb-key to work easily

Asus WL550gE

  • Same as Deluxe.
  • Recover from bad flash via Asus Firmware Restoration.
    • Brick recovery can involve shorting pins. Easy enough if one's hands don't shake, but you void the warranty.

DD-WRTv23 SP2 ok so far ... Does USB ports still working after instalation?

Asus WL520GC

  • Same as Deluxe.
  • I used a static IP address on my PC because DHCP seemed to slow down the router.
  • dd-wrt.v24_micro_generic (RC6.2?) works just fine, I used the latest version Asus tool.
  • No problems so far using it as a client bridge (Xbox), router is nothing special, but it is possibly the cheapest wireless device around here, so makes for a good budget wireless device once flashed.

Edit: latest stable release (v23) doesn't work (seems to lock up the router), haven't tried earlier versions, v24 rc6.2 generic works flawlessly. Used the web-based firmware flash.

  • RC7 works pretty well with 520GC. One with Repeater mode; one with Repeater Bridge mode
  • Using web-based firmware update (rename .bin to .trx)
  • Web interface from ASUS Firmware and newer doesn't allow to upload DD-WRT firmware, it reports corrupted file. You have to downgrade to ASUS firmware in order to flash DD-WRT firmware.

Asus WL520GU

  • Same as Deluxe.

- Tools: ASUS utility version
- Firmware that I use: DD-WRT v24 RC6.2 (dd-wrt.v24_std_generic.bin)
download from candidates/DD-WRT v24 RC6.2/Broadcom/Asus/WL520GU

 1. Power off the WL520GU.
 2. Press & hold the reset button, then power on.
 3. When the power LED flashes, release the reset button. The router now is in recovery mode.
 4. Wait for your PC to get an IP address (if dhcp is configured).
 5. Use the Asus utility (Firmware Restoration) to upload the DD-WRT file (dd-wrt.v24_std_generic.bin) & wait.
 6. After the upgrade the router reboots and the LED lights become normal.
 7. Done!

Router Default IP:
name: root
pass: admin


The above did not work for me as the Firmware Restoration utility could not connect to the router no matter what I tried. When in the recovery mode the router was accessible (pingable) for only the first few seconds and than it would just time out. The Firmware Restoration utility simply would not see the router even after many attempts to get it to connect to the router during those first few seconds. Finally, I gave up on the utility and was able to upload the firmware at the first attempt by using TFTP from my (Windows) laptop instead:

 1. Download firmware (I used dd-wrt.v24_std_generic.bin)
 2. Set the IP on your computer to (gateway is
 3. Open command prompt and type:
        tftp put "<path to your firmware file>" -i
     but do not hit Enter yet
 4. Power off the WL520GU
 5. Press & hold the restore button, then power on
 6. When the power LED flashes, release the reset button
 7. Hit Enter in your command prompt window (step 3) within a few seconds of releasing the restore button
 8. The transfer takes only a few seconds but give the router a minute or so to reboot (just to be sure)
 9. Unplug the router, wait at least 10-15 seconds, then plug it back in

Use the login credentials listed above

Microsoft MN700

  • See MN-700 Page - summary of steps include:
    • Similar to Asus Deluxe.
    • First perform MN-700 hack to enable Linux based firmware to be installed.
    • Install DD-WRT firmware using Asus Recovery Utility in recovery mode
    • Clear filter_services variables if necessary (SP2 and earlier)

v23 SP2 and earlier work but require filter_service nvram variables to be cleared and reset button does not work.
Full support in SVN 3949+ (you can get SVN 3953 here)

Siemens SE505

DD-WRT v23 (starting from 27/10/05 version) does now officially support the Siemens Gigaset SE505 router. That means you can use the very latest features like WPA2 on this unit too. Due the limited RAM of this unit, you cannot use all features at the same time, but from the base it is much better than the original firmware for this router.

Flash Your Siemens SE505

Related Links

Motorola WR850G

See Flash Your Motorola WR850G

Mikrotik Routerboard RB/532

Mikrotik Routerboard RB/532 is supported starting with DD-WRT v23 SP1. See Mikrotik Routerboard RB/532.


See LaFonera_Software_Flashing Page.

Ubiquiti Litestation 2 (LS2)

See LaFonera_Software_Flashing Page. (use only the LS2 binaries provided, instead of the Fonera ones)

Accton MR3202A

See LaFonera_Software_Flashing Page. (use only the MR3202A binaries provided, instead of the Fonera ones)

Gateworks Avila Network Processor GW2348

Please note: The details in these instructions apply specifically to the GW2348-4 board.

If you are using a GW2348-2 or GW2347 there are subtle but important differences in the flashing commands you must use. See the

file FLASHING.TXT for details.

The Gateworks GW234x series Network Processor boards provide an excellent platform for building high performance wireless networks using DD-WRT firmware. They are well built, flexible, and relatively much lower in cost than most commercial alternatives.

For more information see: Avila Gateworks GW234x

Installing DD-WRT on the GW2348 board is relatively simple. To install the firmware you will need the following tools:

  • Computer (I use a laptop with wireless internet connectivity as well as an ethernet port)
  • DC power supply (12 to 24 V, 1 A)
  • Coaxial power plug (2.5 mm x 5.5 mm available from Radio Shack)
  • 9 pin serial cable
  • Ethernet cable

Before you begin you will need to download and install some tools unless you already have them. If you don't already have one, download a TFTP server for your computer. I use TFTPD32 which is free and works quite well. You will also need a terminal program to communicate with the GW2348 over its serial port. I use Hyperterminal which comes with Windows XP but you can use another if you wish. What is important is that you configure it with the following settings:

  • Speed: 115200 Baud
  • Parity: None
  • Data Bits: 8
  • Stop Bits: 1
  • Flow Control: None


You will also need to download a copy of the firmware from the DD-WRT Downloads section of the website. The firmware is (as of this writing) located under the beta subsection in a directory called AVILA GATEWORKS. The first file you should get is flashing.txt which describes, albeit in very abbreviated terms, the essential information required to complete the process of flashing DD-WRT firmware onto the GW2348 board. Next, choose the build that you are comfortable with (generally the most recent) and download root.fs and zimage. These two files should be saved in the TFTP Root directory you created when you installed TFTPD32. For the purposes of these instructions you will not need to download the file gateworx-firmware-squashfs.bin as we won't be using it. While you are on the DD-WRT website, visit the online store and purchase an activation key for the GATEWORKS firmware.

When all the files have been downloaded and installed as needed in the computer it is time to set up the computer to connect to the GW2348 board. Plug the serial cable between the serial port on the computer and the serial port on the GW2348. Connect the ethernet cable between the ethernet port on the computer and the eth0 port on the GW2348. The eth0 port is the one closest to the power connector on the GW2348. Next, open the Windows control panel and go into the network connections page. Select the local area connection item that corresponds to the ethernet adapter you connected to the GW2348. Manually configure the TCP/IP settings of this ethernet adapter as follows:

  • Manually Specified Address (no DHCP)

Remove any reference to a GATEWAY address as well as references to DNS servers on this adapter's configuration.

You are now ready to power up the GW2348 for the first time. To do this you will need to connect your 24 volt DC power supply to the coaxial power connector so that the negative (-) terminal of the supply is connected to the outer sleeve of the connector and the Positive (+) terminal is connected to the center conductor. Remember to start up Hyperterminal (or your terminal package of choice) with the settings shown in the image above. Plug in the power to the GW2348 and turn on the power supply. If no smoke comes from the board the ethernet port lights should flicker and then come on. At about the same time Windows should report that the Ethernet port is connected at 100 Mb/s and text should start to appear on the Hyperterminal screen looking something like this:

+No devices on IDE controller 0

Trying NPE-B...success. Using NPE-B with PHY 0.
Ethernet eth0: MAC address 00:d0:12:xx:xx:xx
IP:, Gateway:
Default server:

RedBoot(tm) bootstrap and debug environment [ROM]
Gateworks certified release, version 2.02 - built 05:22:19, Mar  3 2006

Platform: Gateworks Avila GW234X (IXP42X 533MHz) BE
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2004, 2005 Gateworks Corporation

RAM: 0x00000000-0x04000000, [0x000298b0-0x03fc1000] available
FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.
== Executing boot script in 2.500 seconds - enter ^C to abort

After a couple of seconds (2 and 1/2 to be exact) the text will continue scrolling by. When it is finished open a web browser and type in the URL This should give you a basic web page from the embedded copy of Linux that is running on the GW2348. If you have gotten this far you have a working GW2348 and are ready to flash in a copy of DD-WRT. be sure to start up the TFTPd32 program with both the root.fs and zimage files in the tftpd root directory. Remember to set the TFTP server address to This is easiest to do while the GW2348 is still turned on and the ethernet port is active. Image:Gw2348-4 firstboot tools3.png Unplug the power (or switch off the supply) to the GW2348 and then make sure that the Hyperterminal program is running. Also bring up a text editor such as "Notepad" and open the flashing.txt file you downloaded from the DD-WRT website when you were downloading the DD-WRT image files. You will be referring to this file during the next phase of the process and will probably be copying and pasting lines from it into the Hyperterminal window since this will save a lot of tedious typing and will likely reduce thechances of making an unfortunate error.

It's time to begin the flashing process in earnest now. Here goes nothing... Plug in the GW2348 power supply while watching the Hyperterminal Window. When you see the line:

== Executing boot script in 2.500 seconds - enter ^C to abort

you have 2 and one half seconds to hit CTRL-C. When you do you should see a prompt that looks like this:


At this prompt enter the line:

fis init -f

The GW2348 will respond with:

About to initialize [format] FLASH image system - continue (y/n)?

As long as you are ready to continue enter a Y to get the following response:

*** Initialize FLASH Image System
... Erase from 0x50080000-0x50fe0000: ...............................
... Unlock from 0x50fe0000-0x51000000: .
... Erase from 0x50fe0000-0x51000000: .
... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .
... Lock from 0x50fe0000-0x51000000: .

Enter the following line: (you may want to refer to the flashing.txt file for this and subsequent lines to enter since they could change in future builds)

load -r -v -b 0x00800000 zImage

At this point you will find out for sure if your TFTP server is working correctly. If it isn't you will get something like this:

Using default protocol (TFTP)
__udp_sendto: Can't find address of server
Can't load 'zImage': some sort of network error

When I got this message it was because I had forgotten to set my TFTP server to use as its address so it was not seeing the TFTP request coming from the GW2348. I changed the setting and then the reply coming from the GW2348 looked like this:

Using default protocol (TFTP)
Raw file loaded 0x00800000-0x00967c93, assumed entry at 0x00800000

This took several seconds as the zimage file was downloaded to the Gateworks board from my computer. After this completes execute the following command:

fis create -b 0x00800000 -f 0x050080000 -l 0x00200000 -r 0x00800000 linux

The response should look like this:

... Erase from 0x50080000-0x50280000: ................
... Program from 0x00800000-0x00a00000 at 0x50080000: ................
... Unlock from 0x50fe0000-0x51000000: .
... Erase from 0x50fe0000-0x51000000: .
... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .
... Lock from 0x50fe0000-0x51000000: .

Then enter this command:

fis create -n linux

You will get a caution message:

An image named 'linux' exists - continue (y/n)? y
* CAUTION * about to program 'linux'
at 0x50080000..0x501e7c93 from 0x00800000 - continue (y/n)? y

The message repeats twice since this is when you are actually overwriting the original version of Linux installed on the board. They really want you to be sure and it is wise to reread your command line to be sure that you aren't doing something stupid... but forge ahead... The GW2348 will respond:

... Unlock from 0x50fe0000-0x51000000: .
... Erase from 0x50fe0000-0x51000000: .
... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .
... Lock from 0x50fe0000-0x51000000: .

Now it is time to TFTP in the second file (root.fs):

load -r -v -b 0x00800000 root.fs

If all is working well the response should look something like this:

Using default protocol (TFTP)
Raw file loaded 0x00800000-0x00d13fff, assumed entry at 0x00800000

When the loading of the root filesystem is complete (it will take a few seconds because it is a large file) you will create several files The first looks like this:

fis create -b 0x00800000 -f 0x050280000 -l 0x00D20000 ramdisk

The response from the GW2348 will look like:

... Erase from 0x50280000-0x50fa0000: ...............................
... Program from 0x00800000-0x01520000 at 0x50280000: ...............
... Unlock from 0x50fe0000-0x51000000: .
... Erase from 0x50fe0000-0x51000000: .
... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .
... Lock from 0x50fe0000-0x51000000: .

Programming this block of the flash memory takes quite a while because it is a very large file. You will now do two more similar commands that will execute in exactly the same way but will finish much faster. They are:

 fis create -b 0x00800000 -f 0x050FA0000 -l 0x00020000 mampf


fis create -b 0x00800000 -f 0x050FC0000 -l 0x00020000 nvram

When these are done we will run the fconfig utility at the RedBoot> prompt. The GW2348's output is shown in regular type. Your entries are shown in italic:

RedBoot> fconfig
Run script at boot: true
Boot script: 
.. fis load ramdisk
.. fis load zimage
.. exec
Enter script, terminate with empty line
>> fis load linux
>> exec
Boot script timeout (100ms resolution): 25
Use BOOTP for network configuration: false
Gateway IP address: 
Local IP address:
Local IP address mask:
Default server IP address:
Console baud rate: 115200
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Default network device: npe_eth0
Update RedBoot non-volatile configuration - continue (y/n)? y
... Unlock from 0x50fe0000-0x51000000: .
... Erase from 0x50fe0000-0x51000000: .
... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .
... Lock from 0x50fe0000-0x51000000: .

Many of these values will be automatically filled in. You only need to backspace and edit to change them. Otherwise you can simply hit enter for the next line. when the computer pauses on a blank line that needs to remain blank such as the gateway address just hit enter to proceed to the next line. When you have finished and are at the RedBoot> prompt you are ready to reboot the GW2348. Before you do this you will need to make a few changes in your computer configuration. First, shut down the TFTP server. You won't be needing it. Then open the control panel and go back to the network connections page and change your IP address on the ethernet adapter from to Now, start up a web browser and type in the URL but don't hit enter just yet... Unplug the power to the GW2348 and repower it. Wait about 30-45 seconds then hit enter on the web browser. You should get a page that looks a lot like the one shown below:

Image:Gw2348-4 firstboot registration 1.png

If you have gotten this far successfully you have done the hard part. All that remains is to register the board using the web based registration server at DD-WRT. It might be a good time now to copy that big system key that is on the web page to the clipboard. After doing that, start up a second browser (here is where having that wireless internet connectivity comes in handy) and browse back to the DD-WRT website and go to the DD-WRT shop where you will need to log in with the email address and password you used when you bought your activation key. When you go to My Account you will see a link to the Activation Center at the bottom of the page. click on it and you will be taken to a page where you can paste in that hairy long system key from the clipboard and generate an activation key that you can take back to the first browser and paste into the available space as shown below:

Image:Gw2348-4 firstboot registration 3.png

When you press the activate button the board will reboot and you may have to restart your browser to get it to display properly but you should get the familiar DD-WRT main screen. The username and password are "root" and "admin" just like other DD-WRT versions. You can now power down the board and install up to four mini-PCI radio cards and start to have fun. Remember though that if you are using high power cards you will need a power supply with adequate voltage and current.

D-Link Dir-400

In order to flash your router you need to do the following steps:

  • Download TFTPserver it can be downloaded from here
  • Download Putty client or you can use any telnet clients(try to stay away from Windows built in telnet)
  • Change your local IP adress to a static
  • Prepare putty telnet session -- port 9000
  • Start pinging your router throught a command line. Type ping -n 900 (You don't really need to ping that many times)
  • Power DIR-400 router on and wait for 2nd successful ping and then initiate putty telnet session.
  • Press CTRL-C as soon as you see that boot script is executing(If you are using Putty ver. 0.60 or newer then you don't have to worry about this.)
  • Start TFTP server with linux.bin in tftp root directory

If you did everything right then you should see the following on the window of putty:

== Executing boot script in 1.470 seconds - enter ^C to abort 

Type ip_address RedBoot> -h and press Enter

You should see the following:

IP:, Gateway: 
Default server:

Type fis init and then

About to initialize [format] FLASH image system - continue (y/n)?

type y and press Enter. Wait until the process is complete:

*** Initialize FLASH Image System 
And a descriptor for the configuration data size = 10000 
... Erase from 0xbffe0000-0xbfff0000: . 
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Type load -r -b 0x80041000 linux.bin and press Enter

Using default protocol (TFTP) 
Raw file loaded 0x80041000-0x803cefff, assumed entry at 0x80041000

Type fis create linux and press Enter (This one will take a while. DO NOT UNPLUG YOUR ROUTER)

... Erase from 0xbfc40000-0xbffce000: ......................................................... 
... Program from 0x80041000-0x803cf000 at 0xbfc40000: ......................................................... 
flash_addr = 0xbfc40000 
mem_addr = 0x80041000 
entry_addr = 0x80041000 
length = 0x38e000 
img_size = 0x38e000 
... Erase from 0xbffe0000-0xbfff0000: . 
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Type fconfig and press Enter

Run script at boot: true 

Press Enter

Boot script: 
.. fis load -l vmlinux.bin.l7 
.. go 
Enter script, terminate with empty line
  • >> <- type fis load -l linux and press Enter
  • >> <- type exec and press Enter
  • >> <- just press Enter
Boot script timeout (1000ms resolution): 2 

press Enter

Use BOOTP for network configuration: false

press Enter

Gateway IP address: 

press Enter

Local IP address: 

press Enter

Local IP address mask: 

press Enter

Default server IP address: 

press Enter

Console baud rate: 9600 

press Enter

GDB connection port: 9000 

press Enter

Force console for special debug messages: false  

press Enter

Network debug at boot time: false 

press Enter

Update RedBoot non-volatile configuration - continue (y/n)? 

type y and press Enter

... Erase from 0xbffe0000-0xbfff0000: . 
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Type reset and press Enter

Your router will be accessible at