Builds for NETGEAR WNR1000V2, WNR1000V2-VC, WNR612v2, WPN824N, WNR2000v3

The NETGEAR WNR1000V2/VC was one of the most widely-distributed "free" routers from Comcast and was given to hundreds of thousands of customers in the United States. I've also built images for the WNR612v2, WPN824N, WNR2000v3 which are very similar to the WNR1000V2. These are old 4/32 wireless N routers that are still capable of basic networking tasks and also work very well as a dumb access point. I've been running OpenWRT on a WNR1000v2-VC for the past three years (300Mbps WAN connection with 10 wireless clients) and it is very reliable and stable. Note: The LAN/WAN speed will not exceed 100Mbps.

You can buy a used WNR1000v2 on eBay for as little as $9.00 US. My motivation for this project is to reduce electronic waste by continuing to use viable products - with current, secure software.

Download Firmware (Updated Links 07/06/21)
I've compiled new builds for 19.07.7 that include LuCi, IPV6, Relayd, PPP, no opkg. Build manifests, config.seed and sha256sums files are in the download folder.

(Some older 17.x and 18.x builds include PPP, SQM - check the build manifest or config files in your model folder to confirm the configured options before flashing. This router can run SQM but the relatively slow CPU will reduce your WAN speed on fast WAN connections and could cause instability.)

Why Not Use the Official OpenWRT Firmware?
The standard, auto-generated official OpenWRT firmware images are too large. You will likely be able to install these official images, but the settings will not be retained upon reboot due to a lack of flash space.

How to Install for WNR1000V2/VC
(If you're using a WNR612v2, WPN824N, WNR2000v3 model the directions below are very similar, just use the included .img file for your model to flash from the original NETGEAR firmware before upgrading to OpenWRT firmware.)

  1. Identify whether you have a v2 or v2-VC hardware version of the router. The product label alone will not identify it as a v2-VC. If the router was provided by Comcast or another ISP is is likely a VC version. If the router is running original Netgear firmware, you can see the "Hardware Version" on the Router Status page via a web browser. You can also open a serial console and view the boot log the first line of output identifies the model. Still can't tell? Try flashing the v2 and v2-vc .img files ending and see which one works. It will be safely rejected by U-boot if it is the wrong file.

  2. If the router is running original Netgear firmware you will need to flash the included "factory" image (.img) of OpenWRT 14.07 Breaker Barrier first - or if flashing 19.07.XX you can directly flash the included factory .img file for your model from the same folder but read the important note below in the Notes section first! (If it is already running OpenWRT, skip to Step 6.)

  3. Manually configure the ethernet interface on your computer with a 192.168.1.X IP address. I use 192.168.1.2 with netmask 255.255.255.0 and set the gateway to 192.168.1.1. Make sure an ethernet cable is connected to your computer and one of the 4 LAN ports on the router.

  4. Boot your router into failsafe mode by turning off the router, depress and hold the reset button with a pin and then turn on the router while still depressing reset button. The power LED should light up with an amber color. Keep holding the reset button until it is starting to flash green. (It starts to flash green after it flashes the amber LED six times).

  5. The device is now in failsafe mode and can accepting a firmware via its TFTP server. To flash via TFTP, open Terminal, cd to the directory with the appropriate .img file you identified in Step 2, then type the commands below. The initial flash is successful if you see "Sent XXXXXX bytes in X seconds" as the last line terminal.

> tftp 192.168.1.1 (hit enter/return)
binary (hit enter/return)
rexmt 1 (hit enter/return)
timeout 60 (hit enter/return)
put openwrt-xxx-x.x-xxx.img (hit enter/return)
  1. Once the router is running Openwrt 14.07 Breaker Barrier (or higher) you can then upgrade to 17.01, 18.06, or 19.07 via the sysupgrade .bin file using the "Backup / Flash Firmware" menu within the GUI. I do suggest upgrading one major version at a time (Ex. not skipping from 17 to 19). Make sure whenever you flash to verify the sha256sums to ensure it isn't corrupted. Uncheck "Keep settings" for maximum reliability when upgrading between versions.

Notes

  • I recently flashed a v2-VC model running original Netgear firmware with the 19.07.4 "squashfs-factory.img" file instead of using the 14.07 Breaker Barrier factory.img file (traditional method). The flash with 19.07.4 was successful, but the settings were not saved upon reboot. The solution was to then flash the "sysupgrade.bin" file to router while it is running Openwrt before you reboot it again. After this second flash with the "sysupgrade.bin" file the settings were retained upon reboot.

  • If you're flashing from original Netgear factory firmware and can't find the correct openwrt factory.img file in the included folder, download the .img file for OpenWrt Breaker Barrier 14.07 for your model from here. Then upgrade to OpenWrt 17/18/19 using the sysupgrade.bin file from these customized builds.

  • Performance tip for devices running 19.07.XX: Enable Software Flow Offloading in the Network/Firewall preferences. I’m noticing slightly higher download speeds, lower latency, and a 25% or more reduction in sirq calls when monitoring router CPU use via top. Given how limited the CPU is in these routers, any reduction in load is notable and beneficial for all users.

  • The TFTP flashing method works, but it can be inconsistent. Keep trying, it seems to work best on Linux. Be patient after flashing as the green light can blink for a few minutes before the router successfully restarts after a flash. When in doubt, do not unplug for at least 5 minutes after a flash attempt. (Credit to SaltwaterC - see his thread for troubleshooting.)

  • Some v2-VC models running original Netgear firmware may have a fixed IP address of 172.16.12.1 - or a different address that is not 192.168.1.1. You need to change this to "192.168.1.1" in the original Netgear firmware before you can flash to Openwrt. Login to the router via a webrowser, click "LAN Setup" under the "Advanced" section and change the address to 192.168.1.1.

  • Once running 18.06 or 19.07 it can sometimes be difficult to flash reliably from the "Backup / Flash Firmware" menu to upgrade/downgrade if low on free memory. I suggest you drop caches or reboot to make more RAM available immediately before flashing. The drop cache command is "sync && echo 3 > /proc/sys/vm/drop_caches". The 17.01.7 builds do not have this issue.

  • Performance improvement tip for devices running 19.07.XX: Enable Software Flow Offloading in the Network/Firewall preferences.

Customization and Building Your Own
I won't be providing customization for these builds, as there is very little flash space for any additional packages. If you create your own build any firmware file much greater than 3.31MB (as reported/measured by OpenWRT immediately before flash) is likely too large and will cause a bootloop and/or will not preserve settings upon reboot.

Brick Recovery
I've placed the original Netgear firmware for the v2 and VC (North America Models only) in the same folder as the builds above in the event your brick your router.

Recovery for the VC Model
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. It is likely the only firmware that will be accepted via TFTP flash.

Recovery for the v2 Model
It should be similiar to the VC model method described above. Start with the earliest version NETGEAR firmware when reflashing via TFTP.

Additional information on flashing these routers courtesy of mPratt14.

6 Likes

Hi, I would like to try your builds but I can’t download the archive, can you post it to another resource please?

I've changed the download host and updated the link above.

1 Like

Thanks!
I successfully updated my Chaos Calmer 15.05 / LuCI (git-15.248.30277-3836b45) router to a version 17.01.7 using sysupgrade.
I haven’t really tested it yet, but the settings are saved after a reboot :+1:
In the last builds, as I understand it, PPP package (that we still use to connect to the Internet) is not included. Do you plan to return this package or decided to abandon it due to lack of space?

That's great news. I'll work on a version of 17.01.7 with PPP to see if I can squeeze it in, stay tuned.

1 Like

Please test this version for a few days - it includes PPP. Let me know if it works.

Download 17.01.7 with PPP

Ok, thanks! Already flashed.
I’ll test it for several days and write about the results.
P.S. One moment surprises me:
How did you manage to reduce the build size so much including the PPP package (3 201 KB) as compared to the previous one (3 393 KB), without it?

I took the extra step of modifying the kernel to only support this specific device, see the link below. I hadn’t known about this option in the previous build I complied for 17.01.

Let me know how the testing goes, as I don’t have access to a PPP connection.

1 Like

Ohh, it's very cool! :clap:
I'm currently testing the last build on the PPPoE connection, via wifi. It is still very stable. From my laptop with intel 6300 card shows the following speeds: DL - 35 Mbps, UL - 44 Mbps. This is all with an average load. I also plan to test on a lot of connections, with which the router may have problems.

1 Like

Great, thanks for testing it under additional load. Do you have SQM configured? If not, please turn it on as part of your testing. It will use more RAM and CPU, but it should be stable.

https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm

1 Like

I've updated all builds to include PPP, as well as changed the Fragment_Cache_Size value to "1" and reduced the block size to "256" on most images to improve memory management and increase free memory. All users should update to these latest images.

1 Like

I have never used the SQM feature before, but thanks for the tip. Now I will use it regularly, because a quick test shows that it really works! Now I got the following results:

before enabling SQM
52703332

after turning on SQM
52713427

I think I’ll also spend some time fine tuning SQM and later share the results from your new build.
P.S. I have a friend who has a problem under high load on NETGEAR WNR612 v2 (the same hardware as WNR1000 v2), and could also test the SQM option on his WNR612 v2 if you build for him as well.

1 Like

Very glad to hear these builds are working well for you!

I've built a version for the WNR612V2 with PPP, SQM, etc. Give it a try and report back. Be careful if you're flashing from original Netgear firmware - there seem to be some instructions here. Make sure to use the .img file if flashing from original Netgear firmware.

Download for WNR612V2 builds for 17.01.7

I would follow the instructions in this thread, specifically Post #10, if you need to flash from the original Netgear firmware. I definitely would use the TFTP method.

Does your friend have the WNR612V2 or the N150R?

It was the original WNR612V2 rebranded from our local internet provider ER Telecom, I downgraded it to the factory firmware and then upgraded to Chaos Calmer 15.05 where the problems with a heavy load started. I will try to pick up the router from him for a test soon.
Thanks for the build!

1 Like

You should have no trouble upgrading it since it is already on Chaos Calmer.

You're welcome!

After upgrading to a fresh build, I noticed that SQM didn’t work as well as before. Maybe I need to reconfigure again after sysupgrade, or I don’t have much experience yet :smile: , in general, I will try further ...
I configure SQM considering the speed of Wi-Fi, but it might be more correct to do this via a wired connection. I don’t know yet.
In the setup instructions (see post #11), I found slightly different settings than the default settings in the firmware. Maybe you can integrate these settings into the firmware, if they are more correct?
P.S. Regarding 612v2, I will write the result as I take it to myself

Fresh results after configuring SQM from scratch:
before
52800119
after
52800419

The best method to configure SQM is over a wired connection, with few to no other users on the same network and with little to no network traffic. Turn off SQM and run a few speed tests. Average the results, reduce them by 5-10% of your download and upload speed, and enter those values in kbits/second into the SQM fields. Then turn SQM back on and run another speed test.

More detailed instructions are here:
https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm

I always select "cake" as the queue discipline and "Piece of Cake" as the queue setup script. Those work well for you me, but your results may vary based on your type of connection. Also, remember to set your appropriate Link Layer Adaptation.

Hi @jlpapple!
The problem is that my wired connection is about 100 mbps but the wireless pulls only 35 maximum (due to the limitations of the Wi-Fi chipset). In the SQM settings, I can specify one algorithm for one connection, and in my case 2 is required, at least. One for wired connection and the second for Wi-Fi.

You should set the SQM to match the speed of your Internet connection/service to your home or office modem/router- not to the WiFi speed. Example, if the service to you location is 50Mbps, set the SQM to 90-95% of this speed - don’t worry about the WiFi speed.