Why flash DD-WRT on your NetGear R7000?
DD-WRT, due to it’s open source nature, comes with tons of functions you won’t find on commercial router firmware.
A few advantages I really liked:
– Fine tuning of your Wi-Fi (channels, signal strength, etc),
– VPN support (the Router will setup the VPN connection!),
– DNSMasq support (advanced DNS and DHCP functions),
– Realtime graphs, monitoring traffic one ach network connection,
– Enhanced Quality of Service settings,
– Scheduling for ethernet and both Wi-Fi bands,
– Samba build in (sharing files),
With the current, very stable, version created and maintained by Kong, I’ve only found two weak points:
– Wi-Fi throughput is not as strong as Stock firmware (although you might not notice during daily use)
– Wi-Fi connections occasionally “freeze”, but this could be my lack of experience …
For more details see also the DD-WRT Wiki and this article at FlashRouters.
Note : There is at this time no Tomato Firmware available for the R7000, but maybe in the near future a R7000 version can be found at TomatoUSB.org. I’d most certainly try that one right away when it becomes available!
Before we begin …
Some warnings and tips … and don’t blame me if you screw up your router …
Warning and Fix (2019) – Newer NetGear Firmware actively blocking DD-WRT and the likes …
It seems NetGear has build in a mechanism to block flashing your own firmware (see this discussion below) in the name of “security” (in other words: they don’t like you tinkering with your own stuff). Please read up on the matter and see if there is a workable procedure available in case you decide to buy a new R7000.
There seems to be a working fix for this issue (confirmed to work):
R7000’s are now (as of March 2019) preventing downgrades from the current Netgear firmware (22.214.171.124_10.2.64 as of this writing) which prevents the current (K3_R7000, build from 9/23/18).chk file from being uploaded via the Netgear web interface (this chk file has a lower version number, 1.0.5* that Netgear disallows).
Until a new Kong chk image is available, you can use this mod version that works around the issue by providing a large version number (thanks to @jclehner).
Warning! Proceed at your own risk!
Please be aware that this action can brick your wireless router! A bricked router means that your router will be non-functional, two de-brick guides I’ve found, but didn’t need: opening the router or soft de-brick.
The presented firmware is ONLY SUITABLE FOR A NETGEAR R7000!
Again: You’re doing all this at your OWN risk!
Caution! Before you proceed …
Before flashing a router, I follow these rules:
- Download the Stock Firmware of your NetGear R7000 so you can go back if needed.
- Downloaded the latest DD-WRT version for your NetGear R7000.
- Disable WiFi on the computer (desktop or laptop) that you use for flashing your router.
- The computer you’re using for flashing should be wired to the router (ethernet).
- Make sure the power source of your router and computer are reliable.
- Make a backup of your router’s config.
- Make sure you have your Cable/DSL login info handy (if applicable).
- Clear the browser cache before and after flashing.
- Reset the router always to default settings after flashing.
Going back to Stock Firmware …
Flashing back to Netgear Firmware is supported!
Just use the DD-WRT webinterface (“Administration” “Firmware Upgrade”) and upload the stock NetGear firmware.
Do not forget to do a reset to Factory Defaults after going back (more details at the end of this article)!
File Formats: .bin vs .chk
Recently Kong changed the way he publishes new versions by using .bin files instead of .chk file.
A .chk file is needed for you first flash to DD-WRT, which is the “initial” version you can download here.
After your router runs DD-WRT, .bin files can be used to update it to the latest build.
Flashing DD-WRT on a NetGear R7000
Before we start the flashing process, we first want to download the firmwares we would like to have available even when we have no Internet. In both cases these should be .chk files (you might have downloaded a zipped file, which you might want to unzip first). It may not be a bad idea to print this guide either – just so you have it handy.
– Download: Latest NetGear Stock R7000 Firmware
– Download: Latest DD-WRT firmware for the R7000 – for all release check out Kong’s webpage
You can download the files I have used from Tweaking4All, but with fast development of firmwares these days, I HIGHLY recommend using the two links in the list above.
Flash the Initial version FIRST when you’re still running NetGear firmware!
Download - NetGear R7000 Initial Chk
Download - DD-WRT NetGear R7000
Download - NetGear R7000 Stock Firmware
Step 1 – Clear your Browser Cache
It might not be needed, but it’s recommended by the developer of the DD-WRT firmware.
For Google Chrome, you can find it under the “File” menu (Windows) and for MacOS X under the “Chrome” menu.
Wiki How has a page that covers most browsers.
Step 2 – Go to your Router’s admin page
Go to the admin page of your router and login. The default admin page for your router (a NetGear R7000) is: http://192.168.1.1
Which should work, unless you really changed the default settings of your router’s LAN configuration.
It’s recommended to actually use the IP Address of your router and not the router name!
If this doesn’t work, look for the IP information of your network connection and copy the IP address mentioned there for the “Default Gateway“.
Windows: type in a DOS box the command “ipconfig”.
MacOS X: Go to “System Preferences” “Network” and choose your active network connection.
Linux: type “ifconfig” in a shell.
Step 3 – Uploading the DD-WRT firmware
Go to “Advanced” “Administration” “Router Update” and click “Browse” to select the downloaded DD-WRT firmware file and click “Upload”.
NetGear R7000 – Getting ready to upload DD-WRT
You’ll get a “loss of Internet connection ” warning first, just click “OK“, and after that a comparison of firmware versions appears.
NetGear R7000 – Firmware versions compared
In my case it gave me the message that both version where the same, which of course isn’t true, but it might also tell you that they are different (more correct) or even older. Either way, don’t worry, just make sure you selected the right firmware file and if you’re sure click “Yes” to continue.
NetGear R7000 – Uploading DD-WRT firmware
Once uploading is completed, your router will reboot:
NetGear R7000 – Rebooting …
Step 4 – First DD-WRT login
After the reboot, the first DD-WRT login will appear where you’re asked for a new username and password. Enter a new username and password to login.
NetGear R7000 – First login for DD-WRT
After the login you’ll be presented the initial System Information of your new DD-WRT Router.
NetGear R7000 – Initial DD-WRT Info Screen
Step 5 – Router Settings to Factory Defaults
Now that we have access to our DD-WRT configuration, time to flush potential left-overs from the NetGear stock firmware by doing a Factory Reset.
From the main tabs, choose “Administration” “Factory Defaults” “Yes” “Apply Settings“.
The factory reset will result in a router reboot, and in some cases it might get stuck on a white page (http://192.168.1.1/apply.cgi). If the latter is the case, wait a minute or so and try the default router address (http://192.168.1.1) again. The sequence of new username and new password has to be completed again.
NetGear R7000 – DD-WRT Factory Defaults
Step 6 – Basic Configurations Steps (WAN/LAN)
After the router rebooted and you logged back in again (with new Username and Password), time to do some basic settings so we get out LAN, Wi-Fi and Internet going again.
Go to “Setup” “Basic Setup” and look at the “WAN Setup” settings.
This is where we, if needed, setup our DSL (often PPPoE) or Cable connection.
Do the settings needed for your Internet connections.
NetGear R7000 DD-WRT – Setup WAN
Next we need to do our “Network Setup” (LAN) settings, which most likely are already done right. Verifying these settings however is never a bad idea.
NetGear R7000 DD-WRT – LAN Settings
For your “Time Settings“, those not used to using the “UTC” time: UTC can be seen as a synonym for GMT. If you’re not sure about your timezone: check this website.
Some for examples:
– USA, Central Time (GMT-6) is UTC-06:00.
– Amsterdam, Central European Standard Time (GMT+1) is UTC+01:00
A commonly used NTP time server (Server IP/Name) would be pool.ntp.org.
After having done all your settings click “Apply Settings“.
Step 7 – Basic Configuration Steps (Wi-Fi)
Under “Wireless” “Basic Settings” you can verify your Wi-Fi settings. The default settings will work just fine, but you can do some tweaking here, and you might want to set the “Regulatory Domain” to you area/country to make sure your equipment is not breaking any laws … or maybe to do exactly that and boost your signals or channels used a little. I was unable to find a clear list of limitations or advantages for one domain over another (seems that Australia and Europe provide a better signal than United States, but that could also just be coincidence).
NetGear R7000 DD-WRT – Wi-Fi Settings
Note : Under the 5Ghz section, I noticed a stronger signal when using “Extension Channel” to one of the two “upper” channels.
Under the “Wireless Security” tab, security can be set for each of the Wi-Fi interfaces (2.4Ghz and 5Ghz).
In my case, I have no equipment that has issues with WPA2/AES, so I’ve set that for both.
NetGear R7000 DD-WRT – Wi-Fi Security Settings
Step 8 – Port forwarding (optional)
Since DD-WRT can be a little overwhelming when it comes to available settings, it took me a little to find where the heck to set the port forwarding. Once I knew, it was easy (of course).
Port Forwarding can be found under “NAT QoS“, you’ll find options like individual or range port forwarding, port triggers, uPNP, DMZ and Quality of Service settings.
More information can be found on the DD-WRT Port Forwarding page.
Flushing Previously detected Wi-Fi networks
Since I have my lazy moments, I use the same Wi-Fi SSID and password for either firmwares, which can cause issue on your computer. For example, my Mac does not seem to appreciate the change so the “remembered” Wi-Fi connections should be deleted and re-detected. On the other hand; cheap “Made in China” IP camera’s had not noticed the difference.
This could be necessary for all your Wi-Fi connected devices, like phones, tablets, etc.
On your Mac for example, go to “System Preferences” “Network“, choose your “Wi-Fi” adapter and click “Advanced” (lower right corner). In the list of “Preferred Networks“, select your old connections and delete them.
DD-WRT: DNSMasq to Map Virtual Hosts (Apache) to the same IP Address
One of the main reasons to try DD-WRT was, for me anyway, the use of DNSMasq and it performed better than I expected.
The situation I was looking at, is that I have a test web server, for in-house use only, running (actually on my QNAP) with multiple virtual hosts (see also: Apache documentation). Using virtual hosts allows you to run multiple web “servers” on just one single machine.
Note : QNAP virtual hosts are defined in the “Control Panel” “Applications” “Web Server” “Virtual Host“.
The problem however is that now multiple “servers” share the same IP-Address and most routers I have worked with do not allow you to assign multiple names to the same IP-Address. DNSMasq however does allow you to do just this, and the format is simple.
As an example, my test web-server (QNAP actually) has the IP Address 192.168.1.100 and is named “cookiejar”. So typing http://cookiejar brings me to the default webserver page of my server, and the QNAP admin page can be approached via http://cookiejar:8080.
On this server I have defined several virtual hosts, for example “multisite” and “testserver”.
To define these in DSNMasq, go to “Services” “Services” and look under “DNSMasq” where you find a field called “Additional DNSMasq Options“. Here we enter a line for each virtual host, in the format
In our hypothetical scenario:
After clicking “Apply Settings” all 3 “sites” translate to the same IP Address. Apache however will handle these requests just fine and therefor http://testserver/, http://multisite/ and http://cookiejar/ will all result in different websites, as if they were different servers …
DD-WRT and DSNMASQ with Virtual Hosts for Apache
Going Back to Stock NetGear R7000 Firmware
Going back to Stock Firmware is really easy … during my testing I did go back and forth a few times, and for that reason I made a backup of all my settings in the Stock firmware and in the DD-WRT firmware.
In DD-WRT go to “Administration” “Backup” and click the “Backup” button at the bottom. A file dialog will ask you where to save it. This file, at a later time can be retrieved with the “Choose file” and “Restore” function on this same page.
NetGear R7000 DD-WRT – Backup your settings
To restore Stock firmware, go to “Administration” “Firmware Upgrade” “Choose file” and select the latest NetGear R7000 firmware. Klik the “Upgrade” button to flash the official NetGear firmware.
NetGear R7000 DD-WRT – Flash Stock Firmware
After the reboot, you’ll see a NetGear Genie welcome screen, which is not very helpful at this point (although strangely enough the NetGear did connect to my DSL). Do a full factory reset and to do this we need to press and hold the reset button on the back of the fouter for at least 7 seconds (see: NetGear R7000 Knowledge base).
NetGear R7000 – Reset button
After the hard reset, username (= admin) and password (= password) have changed to factory default, which you’ll need to login. Once logged in, go to “Advanced” “Administration” “Backup Settings” “Browse” and select the settings backup file you made before you flashed DD-WRT and click the “Restore” button.
Caution: These are the settings we backed up way in the beginning under de original NetGear firmware – NOT the DD-WRT settings backup we just made!
After reboot all your previous settings will be back.
NetGear R7000 – restore previously saved settings