Netgear WNDR3700v5

Just starting this since the old thread was on the old openwrt forum. (https://forum.archive.openwrt.org/viewtopic.php?id=56737&p=1)

Someone made a bootloader for
http://xdd.co/router/pb-uboot-wndr3700v5.bin This one works perfectly and I can access the web recovery every time and boot an Openwrt sysupgrade file from the gui. To flash the bootloader itself: mtd_write write pb-uboot-wndr3700v5.bin Bootloader

You can flash Padavan firmware directly from this GUI. https://opt.cn2qq.com/padavan/
If you want to flash back to openwrt you need to use a script taken from here: But for WNDR3700v5 use the sysupgrade file as rootfs0.bin

Linux:

#!/bin/bash
if [ $# -ne 2 ]; then
echo Usage: $0 "kernel1.bin" "rootfs0.bin"
exit 1
fi
kernel1="$1"
rootfs0="$2"
[ -f "$kernel1" ] || { echo "kernel1 file doesn't exist, aborting: $kernel1"; exit 1; }
[ -f "$rootfs0" ] || { echo "rootfs0 file doesn't exist, aborting: $rootfs0"; exit 1; }
[[ ${kernel1##*/} =~ .kernel1.bin ]] || echo "first parameter must be kernel1.bin, aborting"
[[ ${rootfs0##
/} =~ .*rootfs0.bin ]] || echo "second parameter must be rootfs0.bin, aborting"
tmpfile=$(mktemp tmp.XXXXXX)
truncate -s 8M "$tmpfile"
dd if="$kernel1" of="$tmpfile" conv=nocreat,notrunc status=none oflag=seek_bytes seek=0
dd if="$kernel1" of="$tmpfile" conv=nocreat,notrunc status=none oflag=seek_bytes seek=4M
cat "$rootfs0" >> "$tmpfile"
mv "$tmpfile" openwrt_for_breed.bin
echo "openwrt_for_breed.bin successfully created."

Windows:

@echo off
if "%~1" neq "" (echo %~1) else (goto help)
del /q /f openwrt_for_breed.bin >nul
del /q /f ~tempfile >nul
del /q /f ~kernel* >nul
set size=0
for %%I in (%1) do set/A size=4194304-%%~zI
fsutil file createnew ~tempfile %size%
copy /b %1+~tempfile ~kernel
del /q /f ~tempfile >nul
copy /b ~kernel+~kernel ~kernel1
copy /b ~kernel1+%2 openwrt_for_breed.bin
del /q /f ~kernel* >nul
exit
:help
echo.
echo.This will make OpenWrt binary file for using with Breed for Mi Router 3G.
echo.
echo Usage:
echo create_openwrt_for_breed.cmd {kernel1 file} {rootfs0 file}
echo.
echo Example: %0
echo create_openwrt_for_breed.cmd openwrt-18.06.0-ramips-mt7621-mir3g-squashfs-kernel1.bin openwrt-18.06.0-ramips-mt7621-mir3g-squashfs-rootfs0.bin
echo.
pause

A readymade file for flashing openwrt from the Pandorabox bootloader can be found here: (Openwrt 19.07.3). It'll probably work with at the Breed bootloader as well.

Someone made another bootloader: https://github.com/pinney/MT7621-u-boot-mod/blob/master/bin/MT7621S_uboot.bin It's supposed to have a web recovery too, but I never managed to access it.

There's also the Breed bootloader. https://breed.hackpascal.net/breed-mt7621-wndr3700v5.bin
But the web recovery is in chinese and I haven't tried it.

I'm running my Wndr3700v5 with 19.07.3 with the first mentioned bootloader. I does work fine on 2,4ghz. 5Ghz probably not. (It's not in use, more like a backup router).

Just an update for reference.
This router has been supported since LEDE 17, but it was pretty horrible back then. I got a couple of these next to nothing but they’ve have been collecting dust for about 5-6 years.

Just took them out and was surprised they work really well on 22.03.
It’s originally branded as a 300+300 router but the 5ghz hardware is actually AC capable, so with Openwrt you actually get 300+866 = an AC1200 device. Pretty cool!

I’m not totally sure but I think I softbricked it a couple of times after flashing a slightly too big file from Luci, so I recommend flashing the custom boot loader referenced in the first post. (That boot loader only accepts a sysupgrade file, and it also wouldn’t accept the same file that Luci accepted that softbricked the device)

16MB flash, 128MB RAM, gigabit ports, hardware flow accel, so it’s good for the forseeable future.

1 Like