Flashing DIR-300 back to original firmware
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.
Files that you need
RedBoot file: Download file
Getting into Redboot
- Connect the network cable to your ethernet port and the WAN port of DIR-300.
- Configure your System IP address (static) to be 192.168.1.2/255.255.255.0.
- Prepare your telnet client to connect to 192.168.1.1, port 9000.
- 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 …
- 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 192.168.1.2
Default server: 192.168.1.2
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×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> load -r -b %{FREEMEMLO} dir300redboot.rom
Using default protocol (TFTP)
Raw file loaded 0×80040800-0×800607ff, assumed entry at 0×80040800
DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot
An image named ‘RedBoot’ exists - continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80040800-0×80060800 at 0xbfc00000: ..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> reset
The router should reboot at this point of time.
Preparing your system router recovery
- 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.
- Connect the network cable to your ethernet port and the WAN port of DIR-300.
- Configure your System IP address (static) to be 192.168.20.80/255.255.255.0.
- Remove the power from DIR-300
Getting into Emergency Recovery Page
- Ensure that the DIR-300 is not powered on
- Hold on to the reset button and power DIR-300 on
- Hold on to the reset button for about 30 seconds while DIR-300 is booting
- Open up your web browser and go to http://192.168.20.81. You should be able to see the emergency recovery page as seen below.
Uploading the original D-Link firmware
- Click on the browse button and locate the firmware you have downloaded from D-Link firmware page earlier
- 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

DIR-300 with restored firmware
Have fun!
Like to buy shadowandy a cup of Starbucks?

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).
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
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.
Danilo Knop,
Make sure that you are connected to the WAN (Internet) port instead of LAN port.
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
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
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?
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?
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.
hi,
I’ve problem to telnet with my DIR-300 , the router IP is 192.168.1.1 and I’ve already setting up my pc with 192.168.1.2 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 ?
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.
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 192.168.1.1: bajtów=32 czas=20ms TTL=64 <– I’m trying to connect
Reply from 192.168.1.1: bajtów=32 czas=6ms TTL=64
Reply from 192.168.1.1: bajtów=32 czas=4ms TTL=64
Reply from 192.168.1.1: 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?
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.
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.
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?
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.
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.
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 0×30000 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….
Why in “fis create -l 0×30000 -e 0xbfc00000 RedBoot” specified size 0×30000, but file size of dir300redboot.rom id only 0×20000 ?
Can i restore original firmware of my dir-400 with redboot.rom from the same router ?
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.
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.
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!
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.
[...] 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 —————- [...]
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?
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.
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.
Kinox,
Thanks for confirming! Let me try to find a fresh set of DIR-300.
Hi, my DIR-300 just arrived so, if you want me to run any test, just let me know.
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.
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.
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?
Typo. Can we run “fis delete” instead of “fis init” to avoid it?
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.
Polish Dlink website give some files to restore dlink to original firmware. Does this work?
ftp://ftp.dlink.pl/dir/dir-300/driver_software
Is this another redboot (dir-300_sw_revA_redboot_all_en_20080307.zip)?
Does procedure from Polish Dlink website work to back DIR-300 to original firmware?
ftp://ftp.dlink.pl/dir/dir-300/documentation/DIR-300_howto_pl_Instrukcja-ladowania-oprogramowania-DDWRT-24_20080520.pdf
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.
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
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?
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.
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…..
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.
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.
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 problem. Well, I am not sure when the solution would be out. Hope it helps. Cheers!
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…)
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…
ST,
If your redboot is intact, follow this guide. Start at the section “Getting into Emergency Recovery Page”.
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.
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.
ftp://ftp.dlink.pl/dir/dir-300/driver_software/
DIR-300_fw_revA_1-04B16_all_en_20080829.zip
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?
g3m1n1,
It is the firmware version 1.04. I think the en means the web interfaces are in english instead of polish
I flashed from DD-WRT to 1.04, but had the same problems as when flashing back to 1.03
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.
shadowandy,
My Dir-300 couldn’t use the DD-WRT web interface. After upgrade v24sp1 and reset. I tried to ping 192.168.1.1 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???
Thanks!
CC
CC,
Flashing back to original firmware doesn’t require dd-wrt web interface.
[...] #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
[...] #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
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?
Thanks,
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!
Regards
Alina
Hi,
Thanks for the manual
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:
http://x-alina.freifunk-potsdam.de/downloads/dir300-flash/
Now someone has to port it to Windows. That would be awesome…
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
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
Juan Bonilla,
You are welcome.
gentlesea,
Thanks for sharing. Perhaps you would try porting that shell script to window’s batch file?