Updated: October 3, 2014
Normally, I am against custom modifications. On anything. Cars, software, you name it. For some reason, I believe the folks who created the hardware probably know the best what the optimal mix of features is, offering the widest range of stability, flexibility, predictability, and cost.
However, since I have recently upgraded parts of my extensive home network with a bunch of new appliances, including 1Gbps LAN and whatnot, I have three spare WRT54GL routers available for games. Never one to introduce unknown, untested changes into a production setup, I now have the luxury for custom firmware tweaks. So let's see if the famous DD-WRT can justify its reputation.
Background story, sort of
There are many custom, open-source firmware solutions that can be used instead of the official releases for a wide range of home routers. If you happen to be using a device with Broadcom or Atheros boards, such as WRT54GL, then there's a good chance someone has hacked a fresh new firmware for your box.
First, there was HyperWRT, which spawned Tomato, but which was discontinued in 2010. And then, there was OpenWrt, which DD-WRT is based on. And then a million more. It can be a little confusing, but there's a common link here.
All of these hail superiority over the originals, which begs the question, if they are really so good, how come they are not used more extensively? And does this mean that all of the software and hardware developers in payware companies are just a bunch of incompetent fools? Should this be automatically assumed, simply because there's a CEO somewhere and a revenue agenda in place?
This is something that has always bothered me. It is slightly reminiscent of the whole Linux distro scheme. Just having a GPL added to your code does not make it superior to other solutions. In lots of cases, this can be true, but there's nothing to guarantee high quality just because you don't work for a big boss and your software is free.
All right, but maybe the firmware really is superior to the original? Looking at the About page on the official site, dd-wrt.com, I found a super-dazzling and even slightly confusing list of features and options and builds. Perhaps this is a part of the problem, in that whoever expects to use these custom builds should come well prepared and skilled. In other words, a common user is probably better off heading to the vendor site, punching in his router version and downloading a single binary file. Here, the palette is so rich and long, you do get an information overload. For real.
After some extensive reading, I narrowed down this torrent to the bare minimum I needed. Trying the MINI build first, which would later allow me to upgrade to larger than 3MB versions of firmware. Compelling reasons? How about IPv6, for instance.
And so I took one of the WRT-54GL and started playing. The instructions suggest doing a 30/30/30 second firmware reset before trying to load the dd-wrt firmware onto the device. This step went fine and without any trouble.
Then, I logged into the router web console and performed a firmware upgrade. The process is identical to stock upgrades. You simply select the right file, hit a button and wait about two or three minutes until the process completes. Simple and hassle-free. Which is quite unexpected given the geeky verbosity of the main page, the about page and all other pages. You prepare for the worst, and then it works like butter.
And now ...
Time to use DD-WRT. Anyhow, when you punch in the router default IP address, you get the summary page, which is not password-protected, but any other menu will ask for one. Soon enough, you will be using an interface that is much prettier than the default, and peppered with options. However, do you need them?
At this point, I started exploring all the settings present in the interface. Most of it looks familiar, because you have seen it already before, with stock firmware. Then, there are many new features, which are unavailable in the Cisco/Linksys products.
Firewall, port forwarding and triggering, UPnP, QoS, DMZ, Wireless encryption of all sorts, and still more. Most of the stuff is present in the original firmware, and most of it will have already satisfied the average user's need. So what else is there that you might find value in using DD-WRT? I guess if you do not have very specific requirements, which makes you an advanced user in the first place, you will not see immediate advantage to the new firmware. But then, there's the question of performance.
As I've outlined just above, I do not think that most people will need the extremely fine granularity that DD-WRT offers, simply because there's a fair amount of flexibility and forgiveness for errors in the common network usage. Your Internet will be slow for a hundred reasons, and few of them will be caused by your router.
It is only when you max. the connection that you may see a major difference. All right. As far as the interface goes, it responds pretty much just as quickly as the stock v4.30.16 firmware. When it comes to total throughput and latency, I did not see any change.
Now, I have read rumors and whatnot that the WAN interface is hard limited to 12Mbps in the stock firmware, and that the device capability is roughly 30Mbps in the best case, with the new, open-source blob. Maybe this was true in the past, regarding the WAN limit, but I did not see it happen with my devices, so I cannot be certain. But that could also partially explain the fact there's a bit of a jiggle in consistency when it comes to maxing the 30Mbps cap, with roughly 10% drop, on average.
Anyhow, Samba performance, the overall throughput - with one wired and one Wireless connection, with both devices in close proximity of one another as well as the router itself, less than one meter apart - was quite similar to what I would get with the default settings. I guess the Wireless encryption has its penalty.
Now, I know this is not an official benchmark, and it needs not be. That's the whole point. In real life, you don't measure the quality of your product using synthetic tests, you use your software as you normally would, observe the results, and that's the only thing that matters. Benchmarks are only a rough indication of what you could get in ideal conditions, and most of the time, you live in a gray area, and your ISP is giving you the gyp.
Indeed, torrent throughput was my next challenge, and probably the most important one. Once again, here, I didn't see any big, life-changing difference. With a 30Mbps line, WRT54GL powered by DD-WRT v24-sp2 build managed to max about 26-27Mbps in the best of cases, including the torrent protocol overhead, so I guess, overall, this is quite decent, and again, rather comparable to what you get with the official firmware release. In both scenarios, the Internet responsiveness started to drop with around 350-400 active connections. There's no getting around the hard limitations of the device. Or your ISP nonsense and throttling.
I found my experience with DD-WRT to be pleasant and hassle-free, beyond my expectations. I thought I would have to hack the interface to death, but far from it. You can limit yourself to just what you want and need, and Bob's your uncle. Or go with bigger builds and enjoy a lot of new and interesting features. The only question is, do you really need them?
Furthermore, you should also ask yourselves do you need DD-WRT in the first place? If you bet on significant performance improvements, you will probably be disappointed. This is not what this custom firmware will provide you. Instead, you will get a whole lot more options than before, plus maybe an extra dose of security. Other than that, the interface, the latency, overall throughput, and the max. capabilities of the device will be rather unnoticeable for most people, except those with really specific, high-end needs.
Anyhow, I find the DD-WRT to be nice, despite the social stigma and the anti-attitude, but don't expect miracles. If you are a skilled, knowledgeable user who seeks freedom and control, then this is a fairly non-intrusive upgrade. In the worst case, you won't lose anything, speed-wise, but you will gain extra options, so the tweaker in you will be happy. However, all that said, taken into consideration and whatnot, I would not recommend the use of custom firmware to anyone really. I am against this notion, and I think the devices should be left alone, to their own devices. And so we end with a pun.