WNDR3700v3 - How to revert to stock firmware from DD-WRT

Contents[Hide]

dropcap wndr3700Long time back, I had flashed DD-WRT on a netgear WNDR3700 v3.

For some project, I decided to revert it to stock firmware before flashing latest OpenWRT. But for this router, all instructions found on internet (web UI, tftp upload in recovery mode, …) have failed.

It was impossible to revert it to stock firmware. Hopefully, after lots of trials, I found a way.

This short article explains how to force a WNDR3700 v3 running DD-WRT to enter into recovery mode to allow a new firmware upload. It has been tested on WNDR3700 v3, but it may also be applicable to some other routers.

Flashing your router is always risky.
If you follow these instructions, you must know what you are doing.
You must accept to finally end-up with a router as useful as a paper holder.

1. Some short explanation

To upload a new firmware on a home router like WNDR3700, you usually have 2 options :

  • via web interface
  • via TFTP in recovery mode

DD-WRT won't accept anything else than other DD-WRT firmware thru the web interface.

So when DD-WRT is installed, you need to enter recovery mode to flash any other firmware.

Problem with WNDR3700 v3 is that it doesn't accept to enter into recovery mode for a TFTP upload.

I tried several times the procedure with 45 seconds reset during power on cycle.
Nothing doing, it never worked. I was stuck with DD-WRT.

Then going thru some forums, I realised that most of these routers will automatically switch to recovery mode during boot if their firmware is lost.

So this is exactly what I've done : I've erased DD-WRT to force the router to enter recovery mode.

This is done thru few steps :

  1. enable SSH or telnet login
  2. log into the router
  3. erase the Linux partition
  4. wait for the router to reboot into recovery
  5. upload new firmware image thru TFTP
  6. reset data after next reboot

 

2. Erase Linux partition

First step will be to erase DD-WRT Linux partition. This has to be done in console mode.

So, if not already done, you first need to enable SSH or Telnet access from the administration pages.

Once done, log into your WNDR3700 v3 (login is root and password is the same as your administration pages).

You now need to erase Linux partition with mtd command and to reboot.

DD-WRT console
# telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

DD-WRT v24-sp2 mega (c) 2013 NewMedia-NET GmbH
Release: 03/25/13 (SVN revision: 21061)

DD-WRT login: root
Password:
============================================================
____ ___ __ ______ _____ ____ _ _
| _ \| _ \ \ \ / / _ \_ _| __ _|___ \| || |
|| | || ||____\ \ /\ / /| |_) || | \ \ / / __) | || |_
||_| ||_||_____\ V V / | _ < | | \ V / / __/|__ _|
|___/|___/ \_/\_/ |_| \_\|_| \_/ |_____| |_|
DD-WRT v24-sp2
http://www.dd-wrt.com
============================================================

BusyBox v1.21.0 (2013-03-25 04:08:11 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@DD-WRT:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "firmware"
mtd2: 000008f0 000008f0 "loader"
mtd3: 00106ef4 00010000 "linux"
mtd4: 006a8800 00010000 "rootfs"
...
root@DD-WRT:~# mtd erase linux
Unlocking linux ...
Erasing linux ...
root@DD-WRT:~# reboot

Your router will now reboot.

As its linux partition is lost, it will enter by itself in recovery mode.

3. Flash new firmware

You'll notice that it has entered Recovery mode as power LED will go from orange to blinking green.

wndr3700v3 recovery modee led

You're almost done …

Your router is now quietly waiting to get a TFTP upload on it's default IP 192.168.1.1.

It's now time to rename your .chk firmware file to firmware.chk to avoid any problem due to filename length during upload.

Under linux, here are the command I've used to upload the new firmware :

Console
# tftp 192.168.1.1
tftp> mode binary
tftp> put firmware.chk
Sent 3608634 bytes in 15.1 seconds
tftp> quit

Your WNDR3700 v3 will reboot by itself after the flash.

When reboot is over, you should be able to connect to new Web interface at http://192.168.1.1.

To be on the safe side, you should now Restore factory settings to start from fresh.
This is done easily by pressing the reset button under the router for 15 seconds when you power it ON.

4.  Enjoy your new Firmware

As I directly flashed an OpenWRT image, without reverting back to stock firmware, here is what I got after next reboot.

OpenWRT console
# telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------
BusyBox v1.23.2 (2016-03-01 08:50:41 CET) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
CHAOS CALMER (15.05.1, r48532)
-----------------------------------------------------
* 1 1/2 oz Gin Shake with a glassful
* 1/4 oz Triple Sec of broken ice and pour
* 3/4 oz Lime Juice unstrained into a goblet.
* 1 1/2 oz Orange Juice
* 1 tsp. Grenadine Syrup
-----------------------------------------------------
root@OpenWrt:/#

 

Hope it helps.

Signature Technoblog

This article is published "as is", without any warranty that it will work for your specific need.
If you think this article needs some complement, or simply if you think it saved you lots of time & trouble,
just let me know at This email address is being protected from spambots. You need JavaScript enabled to view it.. Cheers !

icon linux icon debian icon apache icon mysql icon php icon piwik icon googleplus