Skip to content

Instantly share code, notes, and snippets.

@SaltwaterC
Last active March 3, 2024 23:21
Show Gist options
  • Star 21 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save SaltwaterC/ef49c8a4df81c8896153 to your computer and use it in GitHub Desktop.
Save SaltwaterC/ef49c8a4df81c8896153 to your computer and use it in GitHub Desktop.
OpenWrt support for Netgear WNR1000v2

Install

As usual, use it at your own risk. I am not to be held responsible for your actions.

Supported devices: WNR1000v2 (tested by me), WNR1000v2-VC (provided by Comcast for free; tested by Douglas Fraser)

Notice: Upgrade WNR1000v2 to the latest factory firmware: 1.1.2.58. Otherwise, the power LED may not behave properly.

You need to place the device into failsafe mode. For booting into failsafe mode, you need to power up the device while holding the reset button with a pin. The power LED should have an amber colour. Hold the button until it is starting to flash green. It starts to flash green after it flashes the amber LED for six times. After that, the device is in failsafe mode, accepting a firmware via its TFTP server. The device should respond to pings at 192.168.1.1, although the responses may be malformed.

Configure your ethernet interface with a 192.168.1.0/24 IP address. I use 192.168.1.2 with netmask 255.255.255.0 but it should work with any free address from that block.

You need a TFTP client for this purpose. You may check the OpenWrt wiki for more information if you aren't familiar with the procedure.

Barrier Breaker

With the OS X tftp client, and the Linux tftp client, the flashing procedure is something like:

For WNR1000v2

tftp 192.168.1.1
> binary
> trace
> put openwrt-ar71xx-generic-wnr1000v2-squashfs-factory-barrier-breaker-r44095.img

For WNR1000v2-VC

tftp 192.168.1.1
> binary
> trace
> put openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-factory-barrier-breaker-r44095.img

Please don't use the WNR1000v2 firmware file for the WNR1000v2-VC model. Every time you do that, a kitten dies.

The power LED turns off during the upload. If it starts to flash green after the upload, then the firmware is rejected (usually the case with a corrupted or wrong firmware). Otherwise, it should be green and it stops flashing (but sometimes it may stay off). You should wait until the device finishes the upgrade procedure. Usually it is under three minutes. It should boot into OpenWrt.

If the connection drops during the upload, you may end up with a corrupted firmware and the device is booting into failsafe mode. Just repeat the flashing procedure.

Please notice that the power LED flashes green during the normal boot. However, it flashes at a faster rate compared to a device in failsafe mode. If unsure, let the device to stay in that state at least for a minute before deciding that it needs reflashing. After a normal boot, you should get a solid green on the power LED.

Chaos Calmer (trunk)

The Chaos Calmer patch was created against r44154. It was tested succesfully on WNR1000v2 and WNR1000v2-VC, but the device may require a power cycle after the flash. It may boot in (an unusable) failsafe mode. This happened on WNR1000v2 by going from Barrier Breaker to Chaos Calmer via TFTP flashing.

For building it, you can not use the Barrier Breaker config. For creating the build config, you need to pick the "Atheros AR7xxx/AR9xxx" Target System, the "Generic" Subtarget, and optionally the WNR1000v2 driver profile.

Please notice that the images may not build succesfully without a clean tree and config.

Build

You need an OpenWrt Buildroot. I use Debian 7.x for this purpose.

# Aka cloning this particular gist
git clone https://gist.github.com/ef49c8a4df81c8896153.git
cd ef49c8a4df81c8896153
# This is the Barrier Breaker branch
git clone git://git.openwrt.org/14.07/openwrt.git
cd openwrt
# Apply the patch for WNR1000v2/WNR1000v2-VC support
patch -p1 < ../wnr1000v2+vc-barrier-breaker-r44095.patch
# Add the LuCI support into the OpenWrt tree
./scripts/feeds update luci
./scripts/feeds install luci
# Get the generic config for AR71xx
wget https://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/config.ar71xx_generic -O .config
# when doing the menuconfig, you need to go to LuCI > Collections and 
# make sure that {*} luci is selected, otherwise LuCI is built as module
# and it won't be available into the built image, only the package is built
make menuconfig
# The final step for building the image. You may replace "make" with
# "make -j number-of-cpu-cores+1" for faster building on a multi-core CPU
make

The images will be in the "bin/ar71xx" directory. After that, follow the above Install instructions.

5b95005158eb064f63bf46bb32bc4bf2 *openwrt-ar71xx-generic-wnr1000v2-squashfs-factory-barrier-breaker-r44095.img
852f6f0028c9fca542f8658f7834043c *openwrt-ar71xx-generic-wnr1000v2-squashfs-sysupgrade-barrier-breaker-r44095.bin
271cdf6e3db97e645b8563f394e8cd5c *openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-factory-barrier-breaker-r44095.img
813eafe9f2790ff78fd017b4331dc43b *openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-sysupgrade-barrier-breaker-r44095.bin
fd67f85b43d195ea28f04a72397e7001 *openwrt-ar71xx-generic-wnr1000v2-squashfs-factory-chaos-calmer-r44154.img
9078821e10656d62ac6e87dd6f21039a *openwrt-ar71xx-generic-wnr1000v2-squashfs-sysupgrade-chaos-calmer-r44154.bin
9c7cbb3cee1829c11440129ce155a425 *openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-factory-chaos-calmer-r44154.img
c766344bbc11ceb51228a222de172a6e *openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-sysupgrade-chaos-calmer-r44154.bin
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Copy link

ghost commented Jun 23, 2019

FYI. I've created stable builds for 18.06.02 and 17.01.06 using OpenWRT Image Builder.

https://forum.openwrt.org/t/wnr1000v2-builds-for-netgear/39360

In the process of creating these builds I bricked my router once due to a bad flash. Here is how I recovered the router in failsafe:

Note: This method is for Netgear WNR1000v2-VC North America Model only - although if you locate the right OEM Netgear firmware it will likely work for WNR1000v2 as well. I've placed the original firmware for the v2-VC in the same folder as the builds above.

  1. If you brick your router trying to upgrade to OpenWRT and need to revert your WNR1000v2-VC back to stock Netgear firmware via a TFTP flash, use the “WNR1000v2-VC-V1.0.0.12NA.img” file first. It is likely the only firmware that will be accepted via TFTP flash.

  2. Once you’ve successfully flashed above, login to the router web interface and update the firmware using the “WNR1000v2-VC-V1.2.2.56NA.img” file, as this is likely the only OEM firmware version that will accept the “openwrt-ar71xx-generic-wnr1000v2-vc-squashfs-factory-barrier-breaker-r44095.img” file from SaltwaterC’s flash method.

  3. Once you’ve flashed to SaltwaterC’s Breaker Barrier img file you can then upgrade via sysupgrade files to OpenWRT. I suggest unchecking "Keep settings" for maximum reliability when you upgrade between versions.

Copy link

ghost commented Jul 30, 2019

I've created downloadable firmwares for OpenWRT 17.01.7, 18.06.4, and 19.07 (08-01-19 Snapshot) for both the VC and V2 models.

Available at https://forum.openwrt.org/t/wnr1000v2-builds-for-netgear/39360

Copy link

ghost commented Jun 13, 2020

New builds for 19.07.3 and 18.06.8 are now available.

https://forum.openwrt.org/t/wnr1000v2-builds-for-netgear/39360

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment