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

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 and for the Netgear EX2700 Range Extender. These are old 4/32 wireless N routers that are still capable of basic networking tasks and also work very well as an inexpensive dumb access point or wireless repeater/extender/bridge.

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
Opkg is not included in any build. Build manifests, config.seed and sha256sums files are in the download folder.

  • Learn More and Download Builds for 21.02.3

  • Download 19.07.10 for WNR1000v2, WNR1000v2-VC, WNR612v2, WNR2000v3, WPN824N, and EX2700. Includes LuCi, IPV6, Relayd, PPP.

  • Download Older Builds of 19.07.4, 18.06.8, 17.01.7 for WNR1000v2, WNR1000v2-VC, WNR612v2, WNR2000v3, WPN824N. Includes LuCi, IPV6, Relayd. Some of these older 17.x and 18.x builds also 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 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

  1. If the router is running original Netgear firmware you will need to flash the "factory" image (.img) file of OpenWRT first. Read the important note below in the Notes section first! (If it is already running OpenWRT, skip to Step 5.)

  2. There are two methods you can try to flash the factory .img file: 1) Via original Netgear web interface, 2) Via TFTP. I would recommend the TFTP method, as often the Netgear web interface will not accept the OpenWRT .img file - but it depends on the version of the Netgear firmware. TFTP Method: Manually configure the ethernet interface on your computer with a 192.168.1.X IP address. I use 192.168.1.101 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.

  3. 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).

  4. 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 OpenWrt factory .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. The router will restart and begin flashing the OpenWRT firmware. Be patient after flashing as the green or orange 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.

Troubleshooting Flashing Issues
See Saltwater C thread for troubleshooting - or try using the outstanding NMRPFlash utility to refresh Netgear original firmwares (only!).

Notes

  • Settings Not Saved Upon Reboot? 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 (past method). The flash with 19.07.4 was successful, but the settings were not saved upon reboot. The solution was to flash the 19.07.4 "sysupgrade.bin" file to router while it is running Openwrt via the .img file before you reboot it again. After this second flash with the "sysupgrade.bin" file the settings were retained upon subsequent 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 or 21.02: 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.

  • 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.

  • Physically identifying whether you have a v2 or v2-VC hardware version of the WNR1000v2 model. 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.

Upgrading
Uncheck "Keep settings" for maximum reliability when upgrading between versions and verify the firmware sha256sums to ensure it isn't corrupted. If running 18.06/19.07 it can sometimes be difficult to flash reliably from the "Backup / Flash Firmware" menu in LuCi to if low on free memory. I suggest you drop caches, reboot, and/or disconnect cable from WAN connection to make more RAM available immediately before flashing. The drop cache command is "sync && echo 3 > /proc/sys/vm/drop_caches". If you are running/upgrading 21.02 you must flash via SSH/Command Line or the device will likely not flash, restart, or it will freeze.

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.44MB (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
Follow these instructions from Netgear to re-flash the original factory firmware. Search the Netgear website to locate and download original firmwares.

Alternatively, you can use the outstanding, easy-to-use Netgear UnBrick Utility NMRPFlash to recover. Only use Netgear original firmware files with NMRPFlash.

Additional information on flashing these routers courtesy of mPratt14.

7 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.