DD-WRT is a really nice way to free your router. It has a polished web interface, gives you far greater control than most proprietary firmware, and is supported on a large number of devices. I would still recommend it for people who want to take a step up to some more advanced networking, and want a sleek web GUI front-end to do so.
Having said that, I just switched to OpenWrt, and love it!
This post explains why I switched, and how to do it.
Why OpenWrt?
So what is OpenWrt and why did I even try it if DD-WRT is so good? OpenWrt, like DD-WRT, is a free (libre) GNU/Linux distribution for routers. Both DD-WRT and OpenWrt have free software licences, and even share some of the same code. The major difference between the two is the approach to building a working system:
DD-WRT comes with as many features as possible installed by default. It is a complete “cathedral”, and hopes to be everything you would ever want or need.
OpenWrt is more like a bazaar: by default it comes with commonly required modules, and you can add any extras you want through an easy package manager. By choosing the bits that best suit your usage case, you can build your own cathedral!
Just to reassure you that it doesn’t require tons of effort: when I first booted OpenWrt it had everything I needed to get connected to my modem, use wifi, a nice web interface etc. The kind of things you may like to add “from the bazaar” are printer/scanner servers, adblockers, and other extras.
Easy Package Management
While it’s possible to add extra features to DD-WRT by using an external USB flash drive mounted on /opt (packages installed here are sometimes called “optware”), some packages expect to be installed in root and will kick up a fuss. It’s also an absolute PITA to set up.
In contrast, OpenWrt is built around easily adding modules. You should have a small amount of memory free for packages to begin with; even if you don’t, moving your entire installation to a USB stick is really easy, and gives you oodles of space to install all kinds of interesting packages.
Friendly Forum
DD-WRT has a forum, but in my experience it isn’t all that friendly for new users. The OpenWrt forum is a great place to get friendly answers and useful information.
Better Wiki
Much of the DD-WRT wiki is out of date, bloated and confusing for new users. Just reading and understanding all the recommended articles before installing for the first time takes a couple of hours. If you are not using Broadcom based hardware (my router has an Atheros chip), then much of this stuff is not relevant.
In contrast, OpenWrt has very good documentation that is up to date. Installation instructions are simple and to the point.
The Switcheroo
Here’s how to switch from DD-WRT to OpenWrt, the easy GUI way. It involves reverting to your manufacturer firmware, and then flashing OpenWrt from there. Be aware that there are a couple of other methods that would enable you to switch straight from DD-WRT to OpenWrt, but they require familiarity with the command line and I’m not going to cover them here.
Step 1: Download everything you need
This is kind of obvious, but important. You won’t have internet access during the process, and you don’t want the hassle of setting up the manufacturer firmware in-between DD-WRT and OpenWrt just to download OpenWrt.
Download the web revert file that will get you back to your manufacturer firmware from DD-WRT, from this thread on the DD-WRT forum (Note: you must be a member of the forum and logged in to see the files).
Download the correct version of OpenWrt by looking up your device on this table of hardware, and follow the links until you get a page like this. Download the recommended release (you want the factory version, not the sysupgrade.bin).
Optional: download the wiki pages for your device for offline viewing, just in case you need to check them during the process.
Step 2: Revert from DD-WRT to your factory firmware
Connect your computer to the router with an ethernet cable. Log in to your DD-WRT admin page (http://192.168.1.1) and then upload the webrevert file you downloaded earlier. Wait for your router to flash the firmware and reboot itself.
Note that your admin page may change to http://192.168.0.1 or another address, so refreshing the web admin page after an upgrade may give you an error! Don’t panic!
Step 3: Flash OpenWrt
Now, find the firmware upgrade page on the web interface for your factory firmware, and flash the OpenWrt factory.bin file that you downloaded earlier.
When you reboot, visit the web GUI (LuCI) at http://192.168.1.1. The first time you visit this page you’ll be asked to set the root password. Once you have done this you can enable wireless (it is disabled by default so that only someone with physical access can set the root password). Now, set the connection settings for your modem, and customise any settings you had before, e.g. port forwarding.
Anddd… you’re done! It’s that simple.