Switching WNDR3700v3 from DD-WRT to OpenWRT

I have a netgear WNDR3700v3 that I've been using as a switch, but want to repurpose it as a router running OpenWRT. It seems like it's still supported, but please correct me if I'm wrong.

Years ago I installed DD-WRT v3.0-r29440 mega on it that's still running. I just can't seem to get it to install any image, either OpenWRT or stock, it always just boots back to DD-WRT.

I renamed the firmware file to "factory.chk" to ensure it's a short name and I've tried:

  • GUI firmware installation: the browser connection resets after 3-5 seconds and the router seems to reboot, even if I have a switch in between my computer and the router. I've tried flashing both the stock firmware and OpenWRT, same result. I've also tried Chome, Firefox and Edge, they all reset in similar ways.

  • TFTP installation: I've tried both Windows tftp client and tfpd64, and I've tried holding the reset button under the router during boot [2,3,4] and not [1], I've tried waiting for TTL=100 before trying the tftp upload and running it before and after that, dozens of times, nothing seems to work and the tftp attempt just times out. Holding the reset button while it's powering on leaves the ethernet ports unresponsive to pings and the power LED remains amber with no other LEDs activating until I release the reset button (I've held it for 2+ mins with no change and no ping response), so failsafe mode doesn't appear to work [5]. When I release the button the other LEDs come on soon after (like wifi), but IP still doesn't respond to pings until I power cycle. At no point have I seen the power LED "steadily blnking green" per the instructions. What I see is it switches to green for maybe 2-3 seconds, then switches to amber and back to green and stays like that.

  • nmrpflash: this never receives a conection. I disabled the Windows firewall and tried both going through a switch and directly to the router.

I don't want to run an outdated DD-WRT release and I use many of the features on OpenWRT so I'd really like to get this working. Any suggestions? I haven't tried to setup a serial console yet as I assume that will require opening the unit, but with DD-WRT apparently running on the unit I can't imagine this would be necessary.

Given the apparent differences in boot behaviour, maybe DD-WRT replaced the bootloader and that's why the standard instructions don't match the behaviour I'm seeing? It's not clear from the DD-WRT page on this router [6] that this happened.

[1] Netgear tftp: https://kb.netgear.com/000059633/How-do-I-upload-firmware-to-my-NETGEAR-router-using-a-TFTP-client-on-Microsoft-Windows

[2] ddwrt tftp: https://wiki.dd-wrt.com/wiki/index.php/Netgear_WNDR3700

[3] ddwrt tftp: https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=843259#843259

[4] OpenWRT tftp: https://openwrt.org/toh/netgear/wndr3700#how_to_flash_the_firmware_to_device

[5] Failsafe mode: https://openwrt.org/toh/netgear/wndr3700?#recovery_flash_in_failsafe_mode

[6] https://wiki.dd-wrt.com/wiki/index.php/Netgear_WNDR3700#WNDR3700_v3

DDWRT does not replace the bootloader.

You are probably running an K2.6 build which do not well behave.

Consider updating DDWRT to latest 54682 K3X build:
https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/2024/01-02-2024-r54682/broadcom_K3X/

Use a browser (e.g. firefox, without extensions and in private/incognito mode)

Current K3 DDWRT builds (which either use K4.4 or K3.x) are actually quite good and come with WireGuard and OpenVPN, I use this for my old Linksys E2000.

But if you are not satisfied you should be able to go back to stock from there.

Otherwise just ask at the DDWRT forum

Hi.
Use nmrpflash to restore an OEM firmware image, than flash OpenWrt from GUI.

https://www.downloads.netgear.com/files/GDC/WNDR3700V3/WNDR3700v3-V1.0.0.42_1.0.33.zip

https://downloads.openwrt.org/releases/23.05.2/targets/bcm47xx/mips74k/openwrt-23.05.2-bcm47xx-mips74k-netgear_wndr3700-v3-squashfs.chk

@badulesia, as I described in my post, I already tried this and it never makes a connection.

@egc, thanks for the info. I tried to flash the image from that link but it's the same issue: the connection resets after 3-5 seconds, the browser shows a connection reset error page, and the router seems to reboot. I tries this 3 times, same result, and the same version of DD-WRT is running.

I'll take your word for it that DD-WRT does not modify the bootloader, but the different boot LED and reset behaviour is then strange. Maybe there's a hardware issue, but everything on the device seems to be working.

Flashing an updated DD-WRT presumably would use the same procedures I've already tried and failed (TFTP), so is serial console the only recourse at this point? If you think I might have better luck at the DD-WRT forum, at least to get an updated DD-WRT, then I'll try there.

I would certainly ask at the DDWRT forum how to get back to stock.

Here is the thread on the forums for anyone that might be running into this issue.

telneting into the device to write the update directly was failing with "bad trx header". Other forum issues suggested using nmrpflash, which I already tried, so I gave it another go even though I had already tried it 10 times.

I read through the command parameters and decided to try adding explicit IP addresses on each end using -A and -a. This didn't seem to work when I plugged directly into the router, but it worked when I went through an intermediate switch! I flashed stock firmware so from there I should be able to flash OpenWRT. Thanks!

I have noticed that nmrpflash behave differently according to the device. The doc advised to launch nmrpflash than power on the device. Sometimes nrmpflash gives up before the nmrp client is launched on the device. So try different timings between launching and power up, until you find the good one. For example, I remember trying 8 timings on a wnrd3700v2 (2!) until I find the good one (wait 10s).

Also take care of the npcap version : on windows, I'm using the 1.60. I have never succeded in using any 1.70+.

If you can, help yourself with a serial link. Reading the console log let you know when the nrmp client is launched on the device. Alsoconsider that the flashing may not have finished, even if the message says so. I have experimented this on a 3700v2. serial link console reading shows that flashing is still going on for 30s. So wait 1 min before rebooting, just in case.

Try again, it is worthy. nrmpflash saved my a.. a lot of time, even when everything seems desperate.