Every WiFi router comes with its own firmware. This is a proprietary operating system installed by the manufacturer right from the factory. This is one of the reasons it’s incredibly difficult to manage and use routers compared to other devices such as smartphones for instance. Also these vendor router firmware lack in features, are rarely updated with new features and security patches. So, one option you have is to install an open source custom router firmware on your router. The biggest ones include DD-WRT, OpenWRT and Tomato.
I have been using DD-WRT in two of my routers; the Netgear R7000 and D-Link DIR-885L. DD-WRT is incredibly powerful, comes with a number of features, supports a wide array of routers, is frequently updated and is relatively easy to use. I primarily use DD-WRT to run an OpenVPN client which I use to connect to premium VPN providers such as ExpressVPN, SurfShark and Windscribe. With a VPN installed on my router, virtually all my devices that connect to it are protected. My Internet Provider can’t snoop around my browsing habits and I also get to connect devices that typically don’t support VPN apps to a VPN network.
So I want to show you how you can install DD-WRT on your router. Before you get started though, here is a number of things you should know;
- Not all routers are supported by DD-WRT. You should know your router model and crosscheck with the DD-WRT router database as to whether it’s supported.
- Installing custom firmware such as DD-WRT on your router always bears a risk of bricking it. Bricking a router essentially renders it worthless. A bricked router can no longer function as designed by the manufacturer.
- Installing custom firmware automatically voids your warranty. You’re ideally on your own. You also can’t get support from your router’s vendor.
What you’ll need;
- A computer running Windows, Mac or Linux with a web browser installed. It should preferably have an Ethernet port so that you can make wired connections to the router instead of using WiFi.
- A supported WiFi router that can be flashed with DD-WRT firmware. You can check if your router is supported by searching for its model from the router database on the dd-wrt website.
- The DD-WRT firmware image for your router downloaded from dd-wrt.com.
DD-WRT is an open source Linux-based router firmware. So it’s free to download and its source code is available for anyone to inspect and modify. While DD-WRT is primarily used by enthusiasts who use it to replace their router’s original firmware, the software is also shipped on some routers offered by Buffalo technology and Linksys. DD-WRT supports a wide range of router brands including Netgear, D-link, Linksys, Asus, Buffalo, TP-Link, Trendnet and Ubiquiti. Some of the notable features supported by DD-WRT include;
- Access Control
- Multiple SSIDs
- WPA/WPA2/WPA3 (personal and enterprise)
- Iptables and IPset (on some models) & SPI firewall
- Universal Plug and Play(UPnP)
- Dynamic DNS(DynDNS, easyDNS, FreeDNS, TZO, ZoneEdit)
- SSH remote access
- Telnet Server and client
- RADIUS support
- OpenVPN client and server
- WireGuard VPN client
- PPTP VPN Server & Client
- WDS – Wireless Distribution System
- VLAN(Virtual Local Area Network)
- QoS(Quality of Service)
- Startup and Shutdown scripts
Flashing your router with DD-WRT firmware
If you have decided that it’s worth the risk to install DD-WRT firmware on your router, the process is fairly simple although that doesn’t always go as planned. You might encounter some hair-pulling scenarios all the way. So I wouldn’t recommend that you install it on the only WiFi router you have. It should be installed on a spare router you are willing to lose or afford to keep offline in case things don’t go as planned.
Router search: The first thing you should do is search if your router’s model is supported by DD-WRT. Simply visit the DD-WRT router database and search for your model. For instance my D-Link DIR 885L shows up on the database.
Once you find your Router’s model, you will be presented with two files that will enable you to replace the original manufacturer router firmware with DD-WRT. The first file is used to flash the Original Equipment Manufacturer(OEM) firmware with DD-WRT. It’s usually called factory-to-ddwrt.bin. This file can be uploaded using your Original router’s web interface usually accessed from http://192.168.1.1 or http://192.168.0.1 from the update firmware section. However, some router vendors such as D-Link don’t support this method. Instead you have to do a crash recovery before uploading the firmware file.
The second file is used to update the DD-WRT web interface. It can only be installed when the first file is uploaded and successfully used to flash your router. This file is usually in the format XXX-webflash.bin.This file is typically uploaded from within the DD-WRT web interface from Administration > Upgrade firmware page.
The actual step by step process of flashing your router with DD-WRT firmware varies from one router brand to another. So you should always follow installation instructions that are specific to your router brand and model. For instance the specific instructions of flashing D-Link routers can be found in the D-link forums here. If you own a Netgear R7000, the specific instructions can be found here. So I highly recommend that you search and find installation instructions that are specific to your router’s model and carefully follow them. The DD-WRT forum is a very helpful place to find help when you are stuck. There’s also elaborate documentation and tutorials in the Wiki section of the website.
In conclusion, flashing your router’s firmware with DD-WRT is a risky but worthwhile adventure. I have been running DD-WRT on both my Netgear and D-link routers for years without issues while taking advantage of more advanced features that don’t ship with the original manufacturer’s firmware.