Adventures with DD-WRT
Part 9: Conclusion

So this concludes my adventures with DD-WRT (for now).

There are plenty of other things to install. I may eventually get around to installing those. But of the remaining components that interest me, there is at least documentation. So I don't feel compelled to write up those pieces as I did for Avahi and MiniUPnP.

All that remains is giving my overall opinion. So far, my opinion is mixed. 

Stability & Features

First, their firmware seems to be much better than the stuff I get from the off-the-shelf home routers with respect to feature set, bugs, and stability. So I will always opt for flashing my router from now on. However, I am less certain about my choice in DD-WRT vs. Tomato (and a lesser extent OpenWRT). I also see a lot of noise about GPL violations surrounding DD-WRT, but to be fair, a lot of it might just be dogma. The specific criticisms I've read are fairly vague.

On this Asus WL-520gU, the DD-WRT software seems to be solid. Since I got up and running, I haven't had any freezes or strange problems that required me to reboot. I haven't noticed any memory leaks or runaway processes (besides that Avahi problem several parts ago). I will attribute the problems I had on the Airlink to either the Atheros (lack of) support or possibly the "stable" build revision that was installed on the device.

User Friendliness

But on the downsides, first I do notice that DD-WRT web gui pages seem to take a few seconds to load. I've read that Tomato is faster. This isn't a huge problem for me, but it is something I notice.

I was quite overwhelmed by the ordeal of picking the correct firmware for my router. And I am not entirely happy with the feature tradeoffs they made for me. It would be nice at least if their web gui was dynamic enough to realize that you installed missing components via JFFS or Optware and dynamically enabled those pieces. 

My friend with the Airlink router suggested the project would benefit from a web form that would allow you to pick a feature set and then download (build?) a custom firmware based on your specifications. That would be really cool.

Software Criticisms

While the available software is very cool and is a primary reason to run a Linux firmware, my personal experience was dominated by problems with it.

As I stated before, I am disappointed that Optware is so big. I suppose in time, it will be less of a concern as memory increases on these units. I am also a little frustrated by how difficult it was to get Avahi successfully running from its Optware package, due to a poorly built package (which has been known about for a long time) and also where the the ipkg failed to correctly force overwrite. And I still have no idea why the OpenWRT package doesn't work.

I am also annoyed that DD-WRT has dragged its feet concerning UPnP support (and NAT-PMP). For a semi-recent post on their forum, it looks like the maintainers see no reason to have UPnP. I could be misinterpreting things, but the general feeling I got from reading the thread was they would remove it if they think they could get away with that, they have disdain for "illiterate" people that use it, and are completely oblivious to the existence of NAT-PMP. They also seem either unaware or unconcerned about the other threads in the forum about people having trouble with the implementation they use and trying to switch to MiniUPnP. (I've already made my case for using it…go read that if you haven't already.) Had I understood this before I started and known that Tomato already switched to MiniUPnP (and that they seem to have Optware support too), I probably would have chosen Tomato.

I am not comfortable writing my own iptables rules and Linux 2.6 changes the tool yet again to ipchains. So if I find problems with my rules, I might jump to Tomato anyway so more knowledgeable can implement the correct rules instead of me.

And finally, all of these vendors need to include Zeroconf in at least some of the variations of firmware they offer. But based on the attitudes in the thread about UPnP, I'm skeptical that DD-WRT will be among the first. I'll probably jump ship to the first distro that includes a working version of it as standard. (And if they include an implementation of Bonjour Sleep Proxy, I'll definitely jump.)

Last Minute Update: Installing Tomato

Well, I was going to end the article here, but I encountered another problem with my MiniUPnP setup. So I switched to Tomato. Read all about it in the next part: The Addendum.


Part 8: How I built a cheap Apple Airport Base Station substitute for $30 (prev)

Addendum: Switching from DD-WRT to Tomato (next)

Copyright © PlayControl Software, LLC / Eric Wing