OpenWrt Forum Archive

Topic: Netgear WNDR3700v2

The content of this topic has been archived on 5 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi everyone.

I yesterday bought a brand new Netgear WNDR3700v2. All my tries to get OpenWrt onto it had no success. Upgrading the firmware through the web interface fails with the following message:

"Firmware upgrade failed. Please check your file."

Has anybody had some success with a WNDR3700v2 so far?

Thanks in advance.
Robin

How do you know it's a V2? Are you using the factory image?

Rename the OpenWrt firmware file to something that looks like a Netgear firmware file. That should work. But first make sure the hardware isn't any different from the v2 (same chips, I don't think the amount of flash or RAM should matter).

(Last edited by Borromini on 13 Jan 2011, 10:49)

I know that it's a WNDR3700v2 because it's printed on the bottom of the router and in the web interface of the original firmware. The FCC ID is PY308300092.

I already tried to rename the firmware, but that did no change. The error message is the same.

Then I simply opened the OpenWrt firmware (.img file) with my favourite editor "vi" and edited the first line (added "v2" to the end of the line). Then the error message changes to:

"Warning! You are trying to upload a NA firmware with English GUI which is different from the world wide you had. Do you still want to continue?"

When I klick on OK, I get to the upgrade page which includes the following information:

Current Version    1.0.0.6
Uploaded Version    OpenWrt.r24045

I can klick on "Yes" and then I get this message:

"This firmware file is incorrect! Please get the firmware file again and make sure it is the correct firmware for this product."

I don't know if the hardware is the same on my v2.

Robin

have you tried tftp to flash openwrt?

Yes, i tried to flash with tftp. I used this as a base: https://forum.openwrt.org/viewtopic.php … 95#p103295

The result is the following:

.....
sent DATA <block=9086, 512 bytes>
received ACK <block=9086>
sent DATA <block=9087, 512 bytes>
received ACK <block=9087>
sent DATA <block=9088, 512 bytes>
received ACK <block=9088>
sent DATA <block=9089, 136 bytes>
received opcode=4669 sent DATA <block=9089, 136 bytes>
sent DATA <block=9089, 136 bytes>
sent DATA <block=9089, 136 bytes>
sent DATA <block=9089, 136 bytes>
Transfer timed out.

tftp>

Then nothing more happens. I waited at least 20 minutes after the transfer, although it said "timed out".

Is there another method I can try?

Thanks,
Robin

... on (pöse)amazon you have two versions (german manual only, international manual), maybe the german only has a different firmware (local check?) ...

rename openwrt-wndr3700-***.img to WNDR3700.1.0.0.6.img or whatever the original name is

The original name for my version of the router would be WNDR3700v2-V1.0.0.6.img. But I already tried that. Didn't succeed. Neither tftp nor web-interface.

Robin

The WNR3700v2 probably expects differently tagged images, so you need to build your own. Do you have a buildroot ready?

KM

Is there a target for the WNDR3700 v2? Having a buildroot won't be enough if it doesn't work with v1 OpenWrt firmwares... You'll need to patch things.

(Last edited by Borromini on 14 Jan 2011, 14:24)

The firmware image is protected by a checksum value, so it is not possible to edit that with 'vi'. I have checked the image of the v2 board, and that indeed uses a different tag. Although it would be possible to generate a firmware image with different tag, however it would not be a good idea to flash that into the board without more information about the underlying hardware.

juhosg wrote:

The firmware image is protected by a checksum value, so it is not possible to edit that with 'vi'. I have checked the image of the v2 board, and that indeed uses a different tag. Although it would be possible to generate a firmware image with different tag, however it would not be a good idea to flash that into the board without more information about the underlying hardware.

I briefly looked at the u-boot sources, and at least the switch seems to be the same (using the same GPIOs for SDA/SCK). Also it looks like while the WNDR3700v2 has 16 MB Flash, they only use the first 8 MB; the partition layout defined in u-boot is the same as the one for the WNDR3700v1 (e.g. a ~6MB rootfs).

So I would guess the probability of the WNDR3700 configuration working for the v2 to be quite high. One might need to define a new MIPS_MACHINE probably.

KM

Edit: In response to the latest commits, it seems to need a new imagetag too; according to the image.h it's 0x33373031.

Edit 2: The LED/Button GPIOs are also the same.

(Last edited by KanjiMonster on 14 Jan 2011, 13:22)

KanjiMonster wrote:

I briefly looked at the u-boot sources, and at least the switch seems to be the same (using the same GPIOs for SDA/SCK). Also it looks like while the WNDR3700v2 has 16 MB Flash, they only use the first 8 MB; the partition layout defined in u-boot is the same as the one for the WNDR3700v1 (e.g. a ~6MB rootfs).

That partition layout means nothing. It is not used by the stock kernel at all on the original WNDR3700:

...
   Entry Point:  80297000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80297000) ...
## Giving linux memsize in bytes, 67108864

Starting kernel ...

Linux version 2.6.15 (ronger@ronger-desktop) (gcc version 3.4.4 (OpenWrt-2.0)) #1 Wed Aug 26 18:27:43 CST 2009
flash_size passed from bootloader = 8
CPU revision is: 00019374
Determined physical RAM map:
 memory: 04000000 @ 00000000 (usable)
Built 1 zonelists
Kernel command line: console=ttyS0,115200 root=31:09 rootfstype=squashfs init=/etc/preinit mtdparts=ar7100-nor0:320k(u
boot),128k(env),7296k(rootfs),64k(config),64k(config_bak),64k(pot),64k(traffic_meter),128k(language),64k(caldata),7471
040@458816(mount_fs)
...

Additionally there is no guarantee, that the 16MB flash chip is supported by the m25p80 driver.

KanjiMonster wrote:

So I would guess the probability of the WNDR3700 configuration working for the v2 to be quite high. One might need to define a new MIPS_MACHINE probably.

Probably, although the best option would be to test an initramfs image first.

Gabor

The stock build of OpenWRT worked fine for a WNDR3700v2 I bought about two weeks ago. One I bought today did not take it. It leads me to think there may just be a firmware difference that is intended to preclude loading unofficial firmware.

kleptophobiac wrote:

The stock build of OpenWRT worked fine for a WNDR3700v2 I bought about two weeks ago.

Interesting. Can you show the dmesg from that box?

Exactly the same issue here with a box bought here in California.  Googled prior to going to Frys to choose a box that would support open-wrt too...Here's to hoping one of you with more brains on this stuff than I can figure out a solution...I will read a load tomorrow and see if I can help.

I yesterday created a WNDR3700 image from trunk with WNDR3700v2 tag. It seemed like it was flashed alright but the router didn't seem to boot up. It stopped, it seems, in bootloader, I was able to send images via tftp all the time, but only after sending the original one it worked again.

I really would like to get this beast running, is there anything I can do to help? I know basic C, can offer a shell to developers on my ubuntu box with access to my router. I don't have serial or JTAG on this box because it's only a day old. I could add that next week.

Regards,
SunTsu

FYI, SmallNetBuilder just posted a review of the WNDR3700v2 which confirmes that the only changes are the bigger flash and a change in the antenna layout (resulting in slightly better 2.4Ghz performance and slightly worse 5Ghz performance, according to them).

KM

If someone is brave enough to try it, here is an experimental patch to generate an image for the v2 board:

diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 5105956..812d956 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -635,6 +635,7 @@ endef
 wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware)
 define Image/Build/Profile/WNDR3700
     $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700,board=WNDR3700,wndr3700_mtdlayout,3700,WNDR3700)
+    $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700v2,board=WNDR3700,wndr3700_mtdlayout,3701,WNDR3700v2)
 endef

 define Image/Build/Profile/AP96

The new image still uses the MTD layout of first unit, so it won't be possible to use the whole 16MB with that. Because the MTD layout can be different on the v2 it would be nice if someone would be able to paste a bootlog with the original firmware.

Gabor

suntsu wrote:

I really would like to get this beast running, is there anything I can do to help?

Use the scripts linked at the bottom of this page to gain telnet access to the router:
http://www1.chubb.wattle.id.au/PeterChubb/WNDR3700.html

Then telnet into it and post the complete output of the dmesg command here.

Mine does not seem to have dmesg present...

Confirmed there's no dmesg in busybox on the device.  I've downloaded the sources from netgear and am building now.  I'll turn on dmesg in busybox and rebuild then, and see what I can get for you.

same here, no dmesg

I tried above patch, afterwards the image was flashable and it booted. The only problem I had was that it was not pingable once it was booted up. Before that I was able to ping 6 times.
So, I prolly have some issues with my .config which I need to fix.

fun fact: stock image seems to be OpenWRT, too, at least the banner says so.
Anything else I can do?

The discussion might have continued from here.