Flashing DIR-300 back to original firmware (168)

    October 20th, 2007 | Tags: , | Posted in Guides, Tech

    Update on 4th February 2009
    Wireless security is now fully functional.

    Finally found a way to flash back a DIR-300 (running DD-WRT) back to D-Link firmware. It is a great thing that they have included the emergency web server in the RedBoot. DD-WRT version of RedBoot had stripped it out though. So the first step is actually restoring the RedBoot to the one DIR-300 originally had.

    Note: It seems like x will not be represented as alphabet “x” after copy and pasting. Do take note of this.

    Files that you need
    RedBoot file: Download file
    board config: shadowandy_board_config.bin (refer to section Generating board config)

    Mirrors for RedBoot file
    Noticed that D-Link Czech Republic and Poland has hosted the copy of my RedBoot. If you are having trouble downloading from my site. You can get them from these mirrors

    D-Link (Czech Republic)
    D-Link (Poland)

    Generating board config

    Refer to this guide (Generating DIR-300’s board config) on how to generate the board config file shadowandy_board_config.bin. This step is necessary to restore wireless lan security functionality in the D-Link original firmware.

    Getting into Redboot

    1. Connect the network cable to your ethernet port and the WAN port of DIR-300.
    2. Configure your System IP address (static) to be
    3. Prepare your telnet client to connect to, port 9000.
    4. Power on the DIR-300 and telnet in the instance your ethernet link is up. Hit Ctrl+C the moment you see Executing boot script in …
    5. You should be greeted by the DD-WRT prompt. DD-WRT>

    Changing back to the original RedBoot
    Ensure that you have extracted the file dir300redboot.rom into your TFTP server directory. Follow the following command to flash back to original RedBoot.

    DD-WRT> ip_address -h
    Default server:
    DD-WRT> fis init
    About to initialize [format] FLASH image system – continue (y/n)? y
    *** Initialize FLASH Image System
    … Erase from 0xbffe0000-0xbfff0000: .
    … Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
    DD-WRT> load -r -b %{FREEMEMLO} dir300redboot.rom
    Using default protocol (TFTP)
    Raw file loaded 0x80040800-0x800607ff, assumed entry at 0x80040800
    DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
    An image named ‘RedBoot’ exists – continue (y/n)? y
    … Erase from 0xbfc00000-0xbfc30000: …
    … Program from 0x80040800-0x80060800 at 0xbfc00000: ..
    … Erase from 0xbffe0000-0xbfff0000: .
    … Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
    DD-WRT> reset

    The router should reboot at this point of time. Wait for a while (30 seconds) before proceeding to the next section.

    Preparing your system for board config recovery

    1. Connect the network cable to your ethernet port and the WAN port of DIR-300.
    2. Configure your System IP address (static) to be
    3. Remove the power from DIR-300

    Flashing back the board config

    Ensure that you have placed the file shadowandy_board_config.bin into the TFTP server directory. Follow the following instructions to flash back the board config partition.

    1. Ensure that the DIR-300 is not powered on
    2. Hold on to the reset button and power DIR-300 on
    3. Hold on to the reset button for about 30 seconds while DIR-300 is booting
    4. Telnet to on port 9000
      You should be greeted by RedBoot>
    5. Follow the following commands

    RedBoot> load -r -b %{FREEMEMLO} shadowandy_board_config.bin
    Using default protocol (TFTP)
    Raw file loaded 0x80036400-0x800463ff, assumed entry at 0x80036400
    RedBoot> fwrite -f 0xbfff0000 -b 0x80036400 -l 0x10000 -e 0x80036400
    About to write image into flash – continue (y/n)? y
    … Erase from 0xbfff0000-0xc0000000: .
    … Program from 0x80036400-0x80046400 at 0xbfff0000: .
    update image info..
    Update RedBoot non-volatile configuration – continue (y/n)? y
    RedBoot> reset

    Note: For those who are interested. You can issue the command “x -b 0xbfff0000 -l 0x100” and ensure that memory location content starts with “5311.}..Atheros”

    Your router would reboot after the reset command.

    Preparing your system router recovery

    1. Download the D-Link firmware for DIR-300 from your respective region support page. For me, I would be downloading from DIR-300 firmware page at D-Link Singapore.
    2. Connect the network cable to your ethernet port and the WAN port of DIR-300.
    3. Remove the power from DIR-300

    Getting into Emergency Recovery Page

    1. Ensure that the DIR-300 is not powered on
    2. Hold on to the reset button and power DIR-300 on
    3. Hold on to the reset button for about 30 seconds while DIR-300 is booting
    4. Open up your web browser and go to You should be able to see the emergency recovery page as seen below.

    Emergency Firmware recovery page

    Uploading the original D-Link firmware

    1. Click on the browse button and locate the firmware you have downloaded from D-Link firmware page earlier
    2. Click on the upload button to start flashing the device. Follow the instruction on screen as seen in the image below. When it is done, reset the device by power cycling it. It will be running the D-Link firmware after rebooting

    Flashing process

    After the flashing process. Remove the power from the DIR-300. Wait for 30 seconds before proceeding to the next section.

    Doing the final touching up

    1. Ensure that the DIR-300 is not powered on
    2. Hold on to the reset button and power DIR-300 on
    3. Hold on to the reset button for about 30 seconds while DIR-300 is booting
    4. Telnet to on port 9000
      You should be greeted by RedBoot>
    5. Follow the following commands

    RedBoot> fconfig img_entry_addr 0x80040000
    img_entry_addr: Setting to 0x80040000
    Update RedBoot non-volatile configuration – continue (y/n)? y
    … Erase from 0xbfff0000-0xbfffffff: .
    … Program from 0x80036400-0x80046400 at 0xbfff0000: .
    RedBoot> fconfig img_flash_addr 0xbfc20000
    img_flash_addr: Setting to 0xbfc20000
    Update RedBoot non-volatile configuration – continue (y/n)? y
    … Erase from 0xbfff0000-0xbfffffff: .
    … Program from 0x80036400-0x80046400 at 0xbfff0000: .
    RedBoot> fconfig img_length 0x003c0000
    img_length: Setting to 0x003c0000
    Update RedBoot non-volatile configuration – continue (y/n)? y
    … Erase from 0xbfff0000-0xbfffffff: .
    … Program from 0x80036400-0x80046400 at 0xbfff0000: .

    Power cycle the DIR-300 by powering off and on the DIR-300. Wait for the DIR-300 to power up. Set your system to DHCP and connect to the LAN port of DIR-300. Surf to and you should be greeted by the admin page.

    DIR-300 with restored firmware

    Enjoy your restored DIR-300.

    Credits to vcn and [email protected] for discovering the address for board config partition [forum thread]


    Treat shadowandy!

    If these step-by-step guides have been very helpful to you and saved you a lot of time, please consider treating shadowandy to a cup of Starbucks.  

    168 responses

    1. At step 5, I pressed Ctrl – c and nothing happens. I’m trying to recover to default firmware as DD-WRT RC4 and 5 for Dir-300 made my wireless disappear. (doesn’t appear in router setup).

    2. Just to let you know, in the first step I had to plug the cable in the LAN port to be able to telnet (Not the WAN).
      The rest is accurate

    3. I’ve followed all steps until can’t be able to upload the firmware. At step “Uploading the original D-Link firmware” i could not do it. I could access the Emergency Web Server (even powering the router without holding the rest buton) but when I click on “Upload” buton I got a error page from IE (Could not access the page). Could you help me? Thnx.

    4. Danilo Knop,

      Make sure that you are connected to the WAN (Internet) port instead of LAN port.

    5. If does not work with telnet in cmd, use hyperterminal the only trouble is you need to type all in blank you don’t see what you write, so, and use firefox for upload the file… good luck

    6. Hey, I just want to thank you for this manual.. I was getting low WAN-LAN speeds throught wired LAN with DD-WRT RC6 (My connection is 4Mbps and I was getting speeds less than a half of what I should have), thats why I decided to flash back to the original firmware, but I updated it to 1.03 from D-Link.

      Now I’m getting nice speeds, for my 4Mbps conection I can download arround 500 KBps even with BT, maybe the only problem is that sometimes, due the great number of connections used by BT files and the good speeds tha brings, I remember what it feels “surfing” with a 56K Modem.

      PD: The manual is perfect, all working

    7. Watch out – the image you have posted changes the MAC address of the unit being reverted. So it you revert more than one unit on the same LAN, you will have a duplicate MAC address which could be very very bad.

      Does anyone know how to fix the MAC address?

    8. Doing there steps, my router’s mac changed to the mac in your redboot file. How do i change it back to my mac address?

    9. I tried doing this but the tftp load of dir300redboot.rom didn’t work. Returned an unspecified error.
      Any ideas? Tftp is working fine with other files.

    10. hi,

      I’ve problem to telnet with my DIR-300 , the router IP is and I’ve already setting up my pc with but can’t telnet either WAN and LAN port with 9000 as the port

      I’m using putty to telnet with the router

      But I still can telnet with port 23 on my router

      any idea ?

    11. Fry,

      The telnet on port 9000 is when you just power on the DIR-300 and just before it loads the firmware. You can gauge the timing by doing a continuous ping, telnet in immediately when the DIR-300 gives you a reply.

    12. In step 1 (Getting into Redboot) I’m trying to connect using putty or win telnet with the router at the exact moment you described:

      Request timed out.
      Request timed out.
      Request timed out.
      Request timed out.
      Reply from bajtów=32 czas=20ms TTL=64 <– I’m trying to connect
      Reply from bajtów=32 czas=6ms TTL=64
      Reply from bajtów=32 czas=4ms TTL=64
      Reply from bajtów=32 czas=2ms TTL=64
      Request timed out. (somewhere here telnet client is getting closed)
      Request timed out.
      Request timed out.
      Request timed out.

      Putty is starting but after few seconds is getting closed and I’m getting info “the cable is disconnected” and router restarts.

      I’m quite sure that I’m doing everything good, because I did it before when I bricked the router. Now I have working DD-WRT but it doesn’t connect with my IPS, so would like to reflash the orignal firmware.

      Any idea?

    13. Artur,

      The RedBoot (ap61) provided by BrainSlayer wipes out the d-link configuration files (mac address and stuffs). Hence, it is not recommended to reflash to original firmware.

    14. i managed to revert back to dlink f/w but some thing seems to go wrong.

      1. The Dlink Firmware version number becomes jumbled as below.
      Firmware Version : 1.03 , 二 20 11月 2007

      2. My Wireless dun seem to work properly. i’ve tried to troubleshoot but to no avail.

      I’ve also reset it and try setting it anew.

      only WEP and no security which is set seems to be able to go online.

      the router could be seen but it would just stuck on “getting network address”.

      Hope you could help with my problems.

    15. ash,

      read the comment above your comment for the wireless issue. As for the d-link firmware showing in chinese, did you use the firmware for your region?

    16. Hey shadowandy, I’m having problems with the line “fis create -l 0×30000 -e 0xbfc00000 RedBoot”

      It results with:
      ** Error: invalid number ” for image length [in FLASH]
      *** invalid ‘fis’ command: invalid arguments

      I’m flashing from v24 RC7.

    17. Hi shadowandy, I´m have the same problem as Reepicheep. Same error message at “fis create -l 0×30000 -e 0xbfc00000 RedBoot”. Thanks for any help that you can give.

    18. Hey, guys!
      @Reepicheep & chilewillie:

      I had the same issue. Turns out that direct copying of the site and pasting into telnet proggy (putty on my case) puts a different char than a regular letter x on the first parameter. In fact if you look closely, you’ll see that both your x’s from 0x30000 look different than those in 0xbfc00000 on your posts before mine. What I did was simply retype by hand or paste to notepad, delete the offending x and retyping it, than pasting back to telnet window.

      Anyway, couldn’t flash the dd-wrt because something failed on this very step, so I can not comment further than this…. 😛

    19. Why in “fis create -l 0×30000 -e 0xbfc00000 RedBoot” specified size 0x30000, but file size of dir300redboot.rom id only 0x20000 ?
      Can i restore original firmware of my dir-400 with redboot.rom from the same router ?

    20. Klim,

      For the dir-400, the RedBoot was not touched. You would just need to wipe out the linux partition and flash in the appropriate original firmware.

    21. Thanks. I compared flash dump from original firmware and after dd-wrt flashing. Really, redboot was not touched. But restoring via web-server not working.
      I solved problem with original vmlinux.bin.l7 and rootfs by the same way as flashing dd-wrt firmare to my dir-400.

    22. I’ve been reading a lot on the DD-WRT forum about the problems (no wifi, wrong mac address) with restoring the original firmware for the D-Link DIR-300 when you use this guide.

      Since the problem is with the copy of firmware that this guide uses, will the problem be solved if we use a good copy of the DIR-300 firmware instead? So where can we get an alternative copy the firmware?

      Further googling led me to OSWave’s page that talks about “Downgrading D-Link DIR-300 running OSWave to the original firmware”.

      Assuming the firmware provided by OSWave is clean and good (I’m not related to OSWave and I don’t know its software), and thus without all those problems associated with this guide’s version, it may be possible to get back the original firmware by following the following steps, though I’ve personally not tried them out yet, but the logic is sound. If you’re running the broken version of the original firmware and have tried out this restoration method, please post back and share with all of us the results. Thanks.

      (1) Assuming your DIR-300 is running DD-WRT now and you want to flash it back to D-Link’s original firmware, first, follow this guide to restore the firmware.

      (2) After restoring to the firmware, flash it temporarily to OSWave’s. Read instructions @ http://www.oswave.com/

      (3) Now that your DIR-300 is running OSWave’s firmware, flash it to OSWave’s original D-Link DIR-300 firmware DIR-300_v1-03.bin by following the instructions @ http://www.oswave.com/mediawiki/index.php/Guide_upgrade_DIR-300

      (4) Tada! Back to original D-Link firmware, I hope.

      Hope this will help all those people stuck with the problematic firmware. Please post back the results so that others can benefit!

    23. Kinox,

      That sounds plausible. But the upgrading to dd-wrt wipe out a partition that holds the value for mac address and stuffs. Not sure if OS wave would rebuilt that partition.

    24. […] al firmware Original 1.03 y luego a 1.04Beta Aca esta la guia… nunca esta demas saberla Flashing DIR-300 back to original firmware | shadowandy – my life stories Recuerden usar PUTTY para hacer el telnet y Pumpkin para hacer el Server TFTP —————- […]

    25. I’m buying a DIR-300 and didn’t flash it yet. Would it be possible to save the current redboot file somewhere safe before installing dd-wrt, just in case I need to revert back to the original firmware?

    26. shadowandy, you’re right. The problem is with Redboot being overwritten by DD-WRT. It’s nothing to do with the OSWave firmware. Sorry I got confused. Now it’s clearer. :)

      Do you know how to do a backup (fis commands, others?) before DD-WRT overwrites it?

      Thanks. :)

    27. Silvio Fonseca,

      Yes, it should be possible. We would probably need to backup the files in /dev/mtd. Let me try to get my hands on a fresh set of DIR-300 and check if we could backup the files through emergency web. :)

    28. Kinox,

      Thanks for confirming! Let me try to find a fresh set of DIR-300. :)

    29. Hi, my DIR-300 just arrived so, if you want me to run any test, just let me know.

    30. Silvio Fonseca,

      Do you happen to have a soldering kit and serial to ttl cable? If so you can access the console and copy out the mtd for backup. I am still figuring how to copy them out without the kits.

    31. Can we run “fis load” and “dump” the RedBoot directory to create a backup of the original RedBoot? Of course you need to convert text to binary. I think the “board config” directory should be intact so only the original RedBoot is important.

    32. Secondly, if the RedBoot (ap61) provided by BrainSlayer wipes out the “board config” directory, can we run “fis delete” instead of “fis create” to avoid it?

    33. Typo. Can we run “fis delete” instead of “fis init” to avoid it?

    34. FYI,

      if I remember correctly, the RedBoot that came with the DIR-300 is crippled hence there isn’t much commands you can do with fis. Hence we need a more functionality RedBoot, therefore we used the ap61.ram. Problem with it is that it no longer reads the partition correctly. Once we load ap61.rom in, the RedBoot is replaced.

      So perhaps we should look at the original memory address, load the temp RedBoot and dump the stuffs out. Not sure if the stuffs would be dumped correctly.

    35. Polish Dlink website give some files to restore dlink to original firmware. Does this work?
      Is this another redboot (dir-300_sw_revA_redboot_all_en_20080307.zip)?

    36. taquae,

      After downloading their reboot archive and looking at the comments in that archive. I realized that it is the same file I had provided (they just renamed the archive). The instructions are also the same. So that polish instruction would have the same outcome.

    37. I’m having serious problems with dd-wrt dropping my wan connection after 3-4 hours. This can only be rectified by rebooting the dir-300, will reverting back to the firmware as described in this method take care of this problem?

      – jrl

    38. Hi, unfortunately I don’t have this equipment and also I have a barely no soldering skills :) Any help I could provide without opening the box?

    39. J. R. Lenz,

      WAN connection dropping can be due to your modem or ISP as well. Do try to troubleshoot them. Last time I had a friend who had a faulty modem and he though his router was faulty, he changed 3 to 4 routers before realizing his modem is damaged.

    40. Hi, thanks for your both guides (how to flash dir-300 with dd-wrt v24…and how to revert to the original one), so my questions are related with:

      1.- There are any solution or fixes for the “famous” bug of WAN? (…is necessary unplug the WAN conector until the router complete its reboot cycle)…

      2.- If I want to flash my DIR-300 with the “original firmware” (it is the original one???, that rom file???), then I can´t connect to the router by using WPA or WPA2 security…and this issue is well known… There some people that say this problem is probably due to the rom file, and others says that is due to changes of MAC address…

      there are some solution to revert the original D-link DIR-300 firmware, with 100% original functions???????????

      THANKS VERY MUCH!!!!!!!

      ….from Chile, at the end of world…..

    41. Roberto Fuentes,

      1. Get the developers of dd-wrt to solve it. :) I can’t help on this.

      2. Wait for others to discover a way to flash back to original firmware. :) The best I could offer to the rest is the one I had documented in this entry.

    42. does it mean i should wait for solution about backup that data before flash to ddwrt? or i can flash to ddwrt right now and wait for solution to flash back to original later?

      all i want to know is the “mac and wireless problem” that come from “flash ddwrt process” or “flash back to original process”

      sorry for my poor english skill.

    43. NokHook,

      The mac and wireless problem is cause by flashing DIR-300 to dd-wrt. It is only problematic if you flash it back to original firmware. The mac and wireless problem that is.

      You could wait for solution to fix the board config problem. Well, I am not sure when the solution would be out. Hope it helps. Cheers!

    44. Wow! Thanks for the help! 😀

      I was able to flash it BACK to the original – As kromak mentioned ( Dec 26, 2007) the first step was telnet’ing in thru the LAN port, not the WAN port.

      Everything else went pretty swimmingly… I had the “tftp load of dir300redboot.rom” timeout error… which freaked me out till i noticed that tftp wasnt running ( ran it, and all was well)

      Back to the original DIR-300 firmware – but now WPA2 doesn’t work anymore. (shows as connected, but in fact its not!) WEP is working, and will have to do for now.

      I was looking forward to enjoying the increased tweakability of DR-WFT V24 SP1, but I just couldn’t get my cable modem to play over the WAN port – DHCP cable connection simply wasn’t giving me a lease! (a deal breaker, for sure…)

    45. Hello shadowandy,

      Any hints on how to flash the original firmware with bare RedBoot? My ‘300 gone bricked while trying to upgrade to 1.04, so the original RedBoot is intact and operational. Support says the procedure is classified but if DD-WRT can put the original FW back in place I guess someone somewhere already figured it out…

    46. ST,

      If your redboot is intact, follow this guide. Start at the section “Getting into Emergency Recovery Page”.

    47. Worked like a charm. It even kept the settings. Thanks a lot!

      For those impatient like myself: it takes the device quite a while to start after the final power cycling. Just wait a few minutes and the blinkenlights will come up.

    48. Hi Shadowandy.

      It looks like the Polish Dlink site that taquae mentioned in his august 14th post now has a new DIR-300 firmware version (1.04 ?) dated 29th august 2008.


      2278 KB 8/29/2008 10:27:00 AM

      The “_en_” part of the filename seems to indicate that it is in english. Can you please take a look at this firmware?

    49. g3m1n1,

      It is the firmware version 1.04. I think the en means the web interfaces are in english instead of polish

    50. I flashed from DD-WRT to 1.04, but had the same problems as when flashing back to 1.03

    51. minidevil,

      What do you meant by the same problems? if you are talking about the wireless lan issue, it wasn’t mentioned that it solved the problem.

    52. shadowandy,

      My Dir-300 couldn’t use the DD-WRT web interface. After upgrade v24sp1 and reset. I tried to ping and IE go to DD-WRT web interface, but no responsed, whether unknown IP address or brick??? I hope recovery to original firmware or use the DD-WRT web interface. Please you help me???


    53. CC,

      Flashing back to original firmware doesn’t require dd-wrt web interface.

    54. […] #3 (permalink) Hoje, 04:09 Ae mano, segue tutorial de como recuperar teu ap. Flashing DIR-300 back to original firmware | shadowandy – my life stories J

    55. […] #3 (permalink) 03-10-08, 04:09 Ae mano, segue tutorial de como recuperar teu ap. Flashing DIR-300 back to original firmware | shadowandy – my life stories J

    56. shadowandy,

      I’ve flashed new dir-300 to dd-wrt as per your guide. Brightly clear instruction, big thanks. Even putting wrong image first time, then I’ve easily changed it to dd-wrt. All works fine, I’ve finally managed repeating mode I wanted to double coverage of my adsl huawei AP. But made a mistake setting up DHCP pass-through so, no access to dir-300 via http – standard address goes to huawei AP.
      Well, after resetting it couple times with reset button with no result I’ve re-programmed it back to original firmware via emergency interface of original RedBoot. Doesn’t work – stacks on redboot stage having properly entered boot script in fconfig. I started it up over telnet entering fload and go. So, it starts but no wireless even having all lights blinking and indicating that wireless works. After re-load d-link’s firmware never started again even from telnet, saying “too large file” or just hunging up on “go”.
      Than I did flashing several times to dd-wrt and back and now I have dd-wrt always cycling on boot, rebooting every few minutes with no working web interface, but at least both, arp61 and original RedBoot works. Yet no one of images I can find over the net doesn’t start anymore.
      I guess I did wrong erasing eeprom once by “fis init -f” trying to get the same address reports as yours in a guide. Is it possible in general to restore the full image of dir-300 using arp61.ram? Why it can be cycling on boot, any ideas?

    57. Hi,

      can you please save the dir300redboot.zip as the uncompressed .rom file on your Webserver? I want to use it im my dir300-flash Tool, which has Problems if execute it in an OpenWrt environment, because the is no unzip tool. Thanks!


    58. Hi,

      Thanks for the manual

    59. Thanks to Alina for making the flash tool. I think it would be a good idea to tell everyone, that it is finished and can be downloaded here:


      Now someone has to port it to Windows. That would be awesome…

    60. Hi,

      i have the same problem as michael, my dir-300 after flashing reboot after 20-30 seconds adn LAN ports does not response. if you have any idea or suggestion, please answer

    61. michael & mklie,

      There is a 30-30-30 reset technique for the dd-wrt which would reset the dd-wrt to factory settings. It is written in the FAQ

    62. Juan Bonilla,

      You are welcome.

    63. gentlesea,

      Thanks for sharing. Perhaps you would try porting that shell script to window’s batch file?

    64. As the original firmware has this “Emergency Web Server” shouldn’t it be possible to just upload dd-wrt using this (Without the need of a new redboot)? Or am I missing a point here?

    65. Tutzelki,

      The original firmware checks the header of the uploaded file to prevent erroneous firmware flashing. This feature would prevent you from uploading dd-wrt firmware and flashing it.

    66. well, my DIR300 is realy bricked. When i was logged in, there was every ping error. When i look into TFTP server log, there was error and my DIR300 rebooted. Now is really dead :) i hope it will succes in complaints :)

    67. i forget my DIR-300 wireless rounter User name??
      How can i do??

    68. Samuel,

      If it is original firmware, the username should be admin. If it is dd-wrt, then it should be root.

    69. shadowandy,
      I tried it anyway thinking I had nothing to loose. The Emergency Http-Server did not check whether the firmware was valid or not. It was installed but did some damage to the red boot. Especially the Emergency Http-Server looked to be damaged, probably because the image was too big. Then I tried it with TFTP with no success. I later discoverd that it was due to user exhaustion :). I already had an TFTP server running, which was configured badly.
      Anyway, stopped trying after about 3 hours. Then I went on with the original flashing procedure. Worked as a charm (after I discovered the hidden TFTP server).
      Perhaps if you get your hands on yet another DIR-300 you could try a slightly smaller build of dd-wrt as the original firmware is only about 2.9MB.
      I hope I’m right about it and there is indeed a way to get dd-wrt working without destroying the original redboot. At least for those who haven’t already :)

    70. I forgot to mention that with Emergency Http-Server I meant the httpd started by redboot you’re using for the re-flash of the original firmware.

    71. incorrect: fis create -l 0×30000 -e 0xbfc00000 RedBoot
      Correct: fis create -l 0x30000 -e 0xbfc00000 RedBoot


    72. Apparently, the problems are solved by following this guide here:
      But I really don’t know what to do exactly. Could you make a guide for this one, too? 😀 Thanks

    73. zoix,

      Finally somebody tackled the board config thing I mentioned last year

    74. Err, any idea where to get the board config file?

    75. Hi, I think I finally bricked my router. I tried OpenWRT but it didn’t work as expected with my dir-300 so I tried to do a mtd write dd-wrt… linux and that bricked it.

      Now, I can’t go into redboot. It doesn’t answer pings on or…81 wan or lan ports.

      What else could I try? maybe I used a wrong ap61.ram when installing openwrt? I used instructions found on openwrt wiki and the ones you posted in your mini flashing guide.

    76. Im Flash my DIR-300 DD-WRT v24 im back to my orginal FW 1.04 but WPA/2 dont work ???

    77. we’ll wait for shadowandy to update this guide or make a new one
      … i hope :)

    78. kL,

      Once you logged into dd-wrt forum, you can see the board config template provided by vcn in the thread.

      Alternatively, from here (board_config_template.bin).

    79. zoix,

      Certainly! This guide just lacks of the board config to make it completely working!

    80. So looking forward to shadowandy’s new guide. Thanks shadowandy! :)

    81. Tin,

      Just wrote the first part (Generating DIR-300’s board config)

    82. Where is part two :> ?

    83. Hello again!
      That script of yours is great. I used it to generate the config file and, although I flashed it after the firmware, everything works fine now. (I changed the country code too, using hex – only 11 channels for me).
      Great work with the tutorials, too.
      Thank you!

    84. zoix,

      I was considering allowing users to choose number of channels they want (11 or 13) instead of me hard coding it to 13 channels.

      Do you think it would be useful? I am afraid users won’t know what to choose for that option.

    85. For me, it would have been useful. ^^
      My suggestion is you should enable the option and place a link to a list of countries and corresponding wireless channels.
      (e.g. http://en.wikipedia.org/wiki/List_of_WLAN_channels)
      If the user is unsure, he should choose the 11 channel option, just in case.

    86. Shadowandy PLEASE!!! i need help… i have a dlink dir 300, and thanks to your mini flashing guide i could has ddwrt… but, after that i have found a ddwrt special edition, and using the update firmware function (web gui) the dir 300 now cant be reseted, and is dead. the light works fine, but the reset button does not respond , ( i have already tried with more than 30 sec , and connecting power with the button pressed also), please i need help, i have to leave them working, i dont have money right now and my boss gonna kill me… if you help me im gonna donate you the value of the d link the next month via paypal … PLEASE help me… i trust in you.!!! my email is [email protected]

    87. Braian,

      If you have bought the dd-wrt special edition from dd-wrt shop, you should be able to get support from them. dd-wrt special edition for atheros (DIR-300) should work on the DIR-300 as intended.

      If you wish, you could try the section “Getting into Redboot” in this guide, followed by “loading in the new firmware” in Mini Flashing Guide for DIR-300 to flash back the standard dd-wrt firmware for DIR-300.

    88. Fail flashing DIR-300 back to original firmware according your new guideline, today you add a topic about final touching up , i wil try again later.

      Hope to succeed

    89. lck516,

      added the final touching up cos I realised some sets report wrong kernel address when I issue “fconfig -l -n” which cause the original firmware not to boot up

    90. Hello,
      I have a DIR-300 and started using dd-wrt to activate WDS with an AirPort Express. But the firmware is buggy and I couldn’t set WPA/WPA2 security when using WDS.
      So I decided to restore the original firmware, I did this tutorial, the redboot is running, but the router doesn’t starts, seems that it’s not booting.
      I tried (via emergency web server) to upload several firmware versions (1.02, 1.03, 1.04), but none worked.
      Someone could help me?

    91. Shadowandy!
      I did your “final touching” and the firmware is now booting up!
      Thanks a lot! I can’t belive this worked hehehe.
      Where do you guys learn this kind of thing…
      Thanks again!

    92. Luiz Henrique,

      Got the kernel addresses from a working DIR-300 through “fconfig -l -n”

    93. shadowandy,

      Thanks !!

    94. Shadowandy: Thanks by the reply, but i dont have support from ddwrt because i dont have buy-et the software ( i have founded in torrent). :( i press the reset button to enter the redboot, but the reset does not respond… the dir-300 didn’t send packets in any port (status of lan connection in windows…), and i did configured the static ip and tryed to ping that ip, also using a bat script with a loop (to have more chances) but does not work :(… it had died? or i can try another thing??
      thanks in advance for your help!

    95. Shadowandy…. i have read your DIR-300’s Faq… (http://www.shadowandy.net/2008/09/dir-300-faq.htm) the question 10… about the 30-30-30 reset, can work?… nevermind i gonna probe that kind of reset to be sure… answer to me anyway to know.

    96. i can`t upload the new firmware it say internet explorer cannot display the webpage wen i upload the ne firmware
      please help me

    97. set my ip and connected, telnet to it when lan is up but telnet timeout. Any idea?

    98. This happens no matter I connect to lan/wan port.

    99. actually it shows “connection closed by remote host”

    100. mountain,

      There is only a short period of time you can telnet to the DIR-300 on boot up.

    101. The previous problems were solved by a soft reset in dd-wrt, 30-30-30 reset don’t help.

      Problem is after I followed all the steps, and my LAN gets the IP from the restored router.

    102. Not a problem I just manually set the IP to and I can access the web GUI, thanks a lot.

    103. Too bad now I can’t changed the router’s IP, it has been changed to as shown in the firmware, but it is only accessible at

    104. I pressed “reboot” but nothing happened.

    105. Looks like whatever changes I made to the router is not making any effect, basically the router is not responding the way it should be.

    106. changed wireless ssid, but it remain the same, basically nothing works.

    107. I get a restored but useless router.

    108. every changes I made is not saved.

    109. after waiting for a while and power cycle a few times it’s now all good, thanks.

    110. mountain,

      Being more patient helps in most cases.

    111. mountain.. it makes sense to consolidate all into 1 post…

    112. Thank you for the guidelines!

    113. Wagner,

      You are welcome! :)

    114. Hi,

      When I upload the new firmware going back to original.. IE stops because connection is being terminated. So I am not able to upload firmware.

      please help me

    115. I have forgot…

      When I went to dd-wrt , there was no WPA/WPA2 (works but ping 200 and terminates every 3/5 pings).
      Question: Is dd-wrt works 100% fine with dir-300 ???
      Is this my fault that WPA doesn’t want to work ?


    116. sorry for this post – bad memory :)

      I don’thave PIN on my box. What to do ?

    117. phew, managed to restore back to original firmware with fully functional WPA. gave up on dd-wrt for my DIR-300, guess the hardware version is not compatible with dd-wrt.

      thanks andy on the restoration guide on the board configuration.

    118. SkOOrA,

      If you don’t have any PIN, then probably you just need to provide 8 digits and remember it.

    119. jc777,

      Welcome! Glad that the guide works for you.

    120. the ‘bricked’ DIR-300 was left unused for a couple of month. i almost resigned to permanently decommissioning it already.

      your guide came in time, i tried and manage to revive it to working condition. next is if you are able to solve why dd-wrt is not able to be installed on my hardware version, if you can. hee.

    121. Works Fine.. my router comes alive again…. but i dont understand why ddwrt wont works…

    122. Hi shadowandy

      I follow your guide flash my dir300 to ddwrt v24 sp1, it works very well. then i want to flash it back, when i up load the original firmware, ie can not find up.htm. i tried many times but there is no change. I want to know what’s wrong? all steps are follow your guide and have no error…

      please tell me how to solve it if you can, thank you!

    123. When I Telnet to on port 9000, I was not greeted by RedBoot. There was no response, but I can open with emergency web server. Any idea?

    124. Thank you revived my dir 300

    125. hey guys easy read because the tutorial has everything you need it. just have patience and willpower then

    126. hi,

      i have tried this guide but i think i was unsuccessfull after doing the

      RedBoot> load -r -b %{FREEMEMLO} shadowandy_board_config.bin
      Using default protocol (TFTP)
      Raw file loaded 0×80036400-0×800463ff, assumed entry at 0×80036400
      RedBoot> fwrite -f 0xbfff0000 -b 0×80036400 -l 0×10000 -e 0×80036400
      About to write image into flash – continue (y/n)? y
      … Erase from 0xbfff0000-0xc0000000: .
      … Program from 0×80036400-0×80046400 at 0xbfff0000: .
      update image info..
      Update RedBoot non-volatile configuration – continue (y/n)? y
      RedBoot> reset

      my router din not reset.

      i tried to reset it my self and go on with the steps unfortunately after completing the steps my lan cannot be detected. i can only connect to redboot through wan port. whenever i try to connect to lan its disconnected.

    127. shojiro,

      Read the guide again.

      The guide clearly states that you should connect to the WAN port after the restoration of board config. I don’t know why you want to connect to the LAN port.

    128. Hi shadowandy!!
      First, thanks for both guides!!! I’m pretty sure I’ve made a mistake… I wanted to flash with dd-wrt but I cannot do it then I tried to back to my original firmware. Result? My dir-300 is only accessible via WAN port (LAN port doesn’t give me link) and RedBoot mode but it’s impossible to load ap61.ram or dir300redboot.rom (I always receive TFTP time out no matter if I use tftpd32 or pumpkin from both sides, tftp server and router). So, I’m really lost about how could I rescue it. Could you give me a hand? Thanks in advance!

    129. Sorry for re-posting, maybe this helps for you:
      If I type ‘version’, the router displays:
      Version: “RedBoot v2.3”
      RAM: 0x80000000-0x80800000, [0x80036350-0x807ed000] available
      FLASH: 0xbfc00000 – 0xbfff0000, 64 blocks of 0x00010000 bytes each.

      And that’s all. Thanks and my my apologize again the repost

    130. Andy, I really don’t know if this helps or not but the Emergency Web Server is responding but I can’t upload the original firmware.
      The page goes down also the router is unaccesible from putty.
      Sorry for my several posts.

    131. TEG,

      Which web browser are you using?

    132. IE, should I tried with Firefox? I’m really sorry to bother you, my friend.
      Thanks a lot for your disinterested help to all users.

    133. TEG,

      Not sure if it is an issue with IE because I tried it with IE6 and it works fine. Perhaps you may want to try FF? When you say you can’t upload is it because the browser gave you an error page after clicking on the Upload button?

      Make sure you didn’t set any proxy in your browser.

      You are welcome. I only help during my free time. Just graduated and started working. :)

    134. What surprised me was that the page displays an error like time out and the router comes unaccesible.
      Additionally, it’s impossible for me to upload any file no matter the tftp server I use. Is it possible that the memory was full?
      As only RedBoot respond (not dd-wrt prompt) the only commands I can do with ‘fis’ command is ‘write’ or ‘erase’ and not ‘init’. I can do an ‘fconfig’ but all parameters seem ok… It’s a little bit disturbing… 😕

      Please, don’t neglect your work! 😉

    135. After restore original firmware with shadowandy_board_config.bin my DIR-300 is dead :( F/W not booting, LEDs are blank :( Something goes wrong.

      I can open Emergency Web Server, but after loading original F/W nothing happened. Router is dead. Only ‘power’ and ‘WAN’ LED are works.
      One positive – I can get into RedBoot.

      I try return back DD-WRT, but fail on startup :(

      RedBoot> load ap61.ram
      Using default protocol (TFTP)
      Entry point: 0x800410bc, address range: 0x80041000-0x800680d8
      RedBoot> go
      [fload] execution fail! [go] abort…

      I can’t start with oryginal F/W, can’t reload DD-WRT
      Can you help me?

    136. Nikodem,

      Do the instructions in Doing the final touching up before trying to reload DD-WRT again.

    137. I have exactly the same symptoms than Nikodem but it’s impossible for me to load the ap61.ram file. I always receive time out like the tftp server is not running.

    138. TEG,

      For tftp part, it is mostly due to configuration problem. Firstly, you need to ensure that TFTP server IP is correct. Secondly, you need to ensure that TFTP server software is configured to point to the correct file directory. Thirdly, make sure the file is in the directory.

    139. Nikodem / Andy,
      Finally I could load ap61.ram!!! I had changed from my notebook to my desktop and my tftp server (I’d used the one on dd-wrt server).
      Niko, try that!

      Andy, I could load all files but now the boot script doesn’t execute linux (neither at boot nor at prompt, it just reboots).
      If you preffer I can update the Mini Flashing guide instead of this post to keep your blog tidy.

    140. Ok, don’t hate me Andy!
      If you preffer I could ask at dd-wrt forum, I don’t want to bother you.
      I could do all steps but my wireless led doesn’t turn on and if I ping the router I get ‘host unreachable’ after the boot time out.
      Also I could do the test to set the boot script to false and my router boots without any problem so I guess that the issue is linux.bin file. I’d try with several dd-wrt versions but I always get same results. I’m very close to get it and all because of you, thank you again!! 😀

    141. Thanks shadowandy for this great guide, also the guide for flashing DIR-300 to DD-WRT firmware. Reverted to its official firmware.

      Thanks alot!!! :)

    142. Thanks a lot shadowandy, It was a peace of cake for me to return back 3 DIR300 Dlink to the last version of original firmware, really so easy following your nice guide.
      Thanks again…

    143. TEG,

      Now are you trying to flash to dd-wrt or flash back to original firmware?

    144. Majo,

      Glad that the guide helped you. :)

    145. Sigfrido,

      Glad that the instructions are sufficient. :)

    146. TNX, Andy !!!

      After “final touching up” everything is OK. Sorry for false alarm. It’s my fault, I don’t read manual to the end. After “Uploading the original D-Link firmware” I think – It is the end… But it isn’t. I miss “final touching up”…

    147. Nikodem,

      Glad that you managed to restore your router by following the guide. :)

    148. I’m stuck on the first part of your guide. I can’t telnet to, port 9000. I have tryed all WAN/LAN ports, different scripts from ddwrt forum, 30/30/30 resets… No success. I just can telnet to 23 port, when the ddwrt are fully loaded((
      *I have flashed to ddwrt using your guide..
      **Sorry for my eng

    149. *When i ping router, connected trought WAN, i just get
      “ping: sendto: No route to host” or
      “ping: sendto: Host is down”

    150. Man…u ‘r really somethin…thumbs up 4 u..!!!…..

    151. Ant1][r1st,

      Make sure your system IP is correct. The time you have to telnet to the DIR-300 during boot up is little.

    152. Hi Andy, I just wanted to thank you and also to signal one thing:

      after flashing the board config back you say to reboot and hold to reset button for 30 seconds. It did not work for me. In order to get to the emergency web-server I had to do a normal boot, without the reset button pressed.

    153. NeXuS,

      I see. It seems that some DIR-300 requires me to hold on to the reset. Well, it is also logical that a DIR-300 without firmware will halt at the emergency web-server stage.

      Thanks for the insight. :)

    154. hi,
      First of all sorry for my Eng.
      I was trying to write dd-wrt soft to my dir-300. After doing this:

      RedBoot> load ap61.ram
      Using default protocol (TFTP)
      Entry point: 0×800410bc, address range: 0×80041000-0×800680d8
      RedBoot> go
      DD-WRT> fconfig -i
      Initialize non-volatile configuration – continue (y/n)? y
      Run script at boot: false
      Use BOOTP for network configuration: true
      Default server IP address:
      Console baud rate: 9600
      GDB connection port: 9600
      Force console for special debug messages: false
      Network debug at boot time: false
      Update RedBoot non-volatile configuration – continue (y/n)? y
      … Erase from 0xbffe0000-0xbfff0000: .
      … Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
      DD-WRT> fis init
      About to initialize [format] FLASH image system – continue (y/n)? y
      *** Initialize FLASH Image System
      … Erase from 0xbffe0000-0xbfff0000: .
      … Program from 0×807f0000-0×80800000 at 0xbffe0000: .
      DD-WRT> ip_address -h
      Default server:
      DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
      Using default protocol (TFTP)
      Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000
      DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
      An image named ‘RedBoot’ exists – continue (y/n)? y
      … Erase from 0xbfc00000-0xbfc30000: …
      … Program from 0×80080000-0×800a8718 at 0xbfc00000: …
      … Erase from 0xbffe0000-0xbfff0000: .
      … Program from 0×807f0000-0×80800000 at 0xbffe0000: .
      DD-WRT> reset

      My router does not restart ant I restart it manualy, after this, then trying to log in by IP I see blank window, no DD-WRT command line. I tried to repeat everything, but the result:

      RedBoot> load ap61.ram
      Using default protocol (TFTP)
      Entry point: 0x800410bc, address range: 0x80041000-0x800680d8
      RedBoot> go
      [fload] execution fail! [go] abort…

      Then I tried to restore my original firmwire:

      RedBoot> load -r -b %{FREEMEMLO} shadowandy_board_config.bin
      Using default protocol (TFTP)
      Raw file loaded 0x80036400-0x800463ff, assumed entry at 0x80036400
      RedBoot> fwrite -f 0xbfff0000 -b 0x80036400 -l 0x10000 -e 0x80036400
      About to write image into flash – continue (y/n)? y
      … Erase from 0xbfff0000-0xc0000000: .
      … Program from 0x80036400-0x80046400 at 0xbfff0000: .
      update image info..
      Update RedBoot non-volatile configuration – continue (y/n)? y
      … Erase from 0xbfff0000-0xbfffffff: .
      … Program from 0x80036400-0x80046400 at 0xbfff0000: .
      RedBoot> reset

      And that’s all, it doesn’t restart and I can do nothing. There can be the problem, I tried averything I find in this page. I also tried to restore firmwire by emergency page, but then I press UPLOAD it stops responding.
      P.S. wire is connected in WAN port, LAN ports are not responding. I hope you can help

    155. Velsas,

      Try using IE6 to upload the firmware on the emergency page.

    156. didn’t help

    157. Velsa,

      Make sure you are uploading dlink’s firmware through the emergency page. It doesn’t accept other type of firmwares.

    158. Segui los pasos del tutorial y funcionó todo a la perfección.
      Muchas gracias!!! ya he restaurado mi D-Link a su estado original 😀

    159. After this operation i can not connect router on lan ( indicator are not light. Sorry for my english! I can connect to I try any firmware Please help.

    160. Dudes,

      I successfully switched back to my original firmware, but i am having issue now. I have made my router as AP and is was working fine since then. But now i want to make it as normal router, thats why I want to reset it back. But when i press reset button for any amount of time, It doesnt resets back to original config instead goes to emergency recovery page. I have also uploaded the firmware again thinking that it might reset it, but nothing happens. My router is now just an Ethernet wireless bridge.. Please help to reset back to factory settings.

    161. Hello, dear friend,
      looks like I bricked my DIR-300 because my idiotic actions.
      I uploaded wrong firmware in emergency web server, now my WLAN, LAN led flash is not blinking, even I can’t connect wired/wireless…

      Please tell me what to do now

    162. Thanks a lot for this tutorial and these tools.

      I was able to recover my D-Link Dir 300 by following your steps.

      I know this was written 6 years ago, but it saved me!

      Thank you.

    163. awesome dude restored my dir300 and the new firmware actually works

    164. So many years came through but this theme is still actual.
      I did something “special” during open-wrt tuning on my DIR-300 A1.
      Now I can’t access neither DD-WRT loader (of course) nor RedBoot one to restore D-Link firmware. All my exercises with Reset Button or without it has no effect. Emergency Web Server doesn’t respond too. The only response is open-wrt itself.
      Has anyone experience of DIR-300 restoration using serial port? Is it possible to restore loader using open-wrt?

    165. Thanks, shadowandy.
      I restore my dir-300 a1 from openwrt (non-stable working). But getting into Redboot I did at

      It’s strange, when I power on, pingning and then for 5 seconds pinging

      Anywere I did it. With love from Russia.

    166. This topic about how to flash back the original firmware is really helpful.
      I followed all the instructions and finally rescued my “brick” DIR-300 A1 router back to normal! Besides, it also worked by the author’s “step by step” tutorial flashing DD-WRT firmware. Now I can enjoy more functionality and settings to adjust my old machine.

      Thank you, shadowandy

    167. hola necesito ayuda con el comando (DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot) en vez de continuar me dice que esta mal escrito o es fallido no me deja continuar tengo un dir 300 Version A1


    Recent Posts


    Treat shadowandy!

    If these step-by-step guides have been very helpful to you and saved you a lot of time, please consider treating shadowandy to a cup of Starbucks.  


    Recent Comments

    Friend's Blog

    Interesting Links

    Previous Postings