LWN.net Logo

Teach your router new tricks with DD-WRT (InfoWorld)

InfoWorld has posted a lengthy introduction to DD-WRT. "In the past I've bought a router, upgraded it faithfully as new revisions to the router firmware come out, then ground my teeth in disgust when I discover, 18 months to two years later, it's suddenly no longer supported. This is dismaying, given the number of security flaws that have been found in consumer-level routers, not all of which are due to user misconfiguration. The only thing worse than no protection at all is a false sense of security, so I like the idea of using something that has at least a modicum of third-party oversight." (Here's the printable version for those who don't appreciate the convenience of an article split over six pages).
(Log in to post comments)

Use OpenWRT for tinkering

Posted Sep 29, 2011 15:13 UTC (Thu) by brunowolff (guest, #71160) [Link]

If you want to tinker, you shouldn't bother with DDWRT. OpenWRT actually has a build system that works for people. It also has package management that can be used with an installed copy. So you'll be able to do a lot more tinkering than with DDWRT where you are stuck with the few builds that are publicly available.

Use OpenWRT for tinkering

Posted Sep 29, 2011 16:17 UTC (Thu) by bandan (subscriber, #35763) [Link]

I agree to that. I went with DD-WRT initially because it uses binary blobs for some broadcom chipsets that don't work with OpenWRT but slowly realized that it's actually a 1 man show. But yes, if you just want a more feature-rich firmware compared to stock, probably it's a better idea.

Use OpenWRT for tinkering

Posted Sep 29, 2011 21:54 UTC (Thu) by rfunk (subscriber, #4054) [Link]

Depends on the level you're comfortable tinkering at. I'm assuming that most people here are at least somewhat comfortable tinkering at the lower levels, but someone who just wants easy access to more features in their router would likely be happier with DD-WRT.

Another factor is that OpenWRT relies on all open-source drivers while DD-WRT is fine with some blobs. So on some hardware DD-WRT works better than OpenWRT.... until OpenWRT's finally matures and becomes better than what DD-WRT has.

That also means that with OpenWRT some people may end up stuck with the development snapshots (or self-builds from source) just so their hardware works. Even the stable series has been stuck on "release candidates" for over a year; the most recent of those came eight months after the previous one.

(I'm using OpenWRT on some routers, DD-WRT on others.)

Use OpenWRT for tinkering

Posted Sep 29, 2011 23:09 UTC (Thu) by HelloWorld (guest, #56129) [Link]

In recent times I've grown increasingly unsatisfied with OpenWrt though. opkg often makes my device (a WRT54G) crash, and LuCI is ridiculously slow. Which is hardly surprising: it uses a dynamically typed, interpreted programming language and CGI; both are hardly known for their performance. I wonder what they were thinking when they decided that that was a suitable technology to use on a 200 MHz device with 16 MB of memory...

Use OpenWRT for tinkering

Posted Sep 30, 2011 4:44 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link]

Hey! I was writing CGIs in Perl on Pentium-166 with 16Mb of RAM.

Worked fine.

Use OpenWRT for tinkering

Posted Sep 30, 2011 5:46 UTC (Fri) by flewellyn (subscriber, #5047) [Link]

Uphill both ways, in a blizzard?

Use OpenWRT for tinkering

Posted Sep 30, 2011 11:56 UTC (Fri) by nix (subscriber, #2304) [Link]

You haven't done that until you've run Gnus inside Emacs on your router. (I've done that, for the hell of it: it was... slow.)

Use OpenWRT for tinkering

Posted Sep 30, 2011 13:52 UTC (Fri) by HelloWorld (guest, #56129) [Link]

Well, maybe it doesn't have anything to do with Lua and CGI, but with LuCI being badly written. In any case, it's just too slow for my taste.

Use OpenWRT for tinkering

Posted Oct 1, 2011 19:56 UTC (Sat) by Los__D (guest, #15263) [Link]

CGI is only really a problem if you're not using FastCGI and have a lot of incoming connections. The overhead of starting a process, while certainly not negligible, is not really a concern for a router management interface, with a few connections per second at max (unless someone went completely overboard with AJAX).

LuCI being crappy and incredibly slow, we DO agree upon, though. :)

Use OpenWRT for tinkering

Posted Nov 29, 2011 22:06 UTC (Tue) by HelloWorld (guest, #56129) [Link]

> CGI is only really a problem if you're not using FastCGI and have a lot of incoming connections. The overhead of starting a process, while certainly not negligible, is not really a concern for a router management interface, with a few connections per second at max
It is a very significant problem. Every time you load a page in LuCI, the device has to load, parse and compile a shitload of Lua code; that just takes its time on the kind of device OpenWrt typically runs on.
I have recently started using the Lua module for µhttpd, and while that didn't make it what I'd call snappy, it is bearable now.
In order to do that, install the luci-sgi-uhttpd package, uncomment the Lua-related entries in /etc/config/uhttpd and use the path /luci instead of /cgi-bin/luci to access the router's web interface.

Use OpenWRT for tinkering

Posted Oct 1, 2011 20:46 UTC (Sat) by Felix.Braun (subscriber, #3032) [Link]

Can't comment on opkg stability issues. But when it comes to speed, there's always vi. As snappy an UI as you'd ever want.

Use OpenWRT for tinkering

Posted Oct 1, 2011 21:12 UTC (Sat) by HelloWorld (guest, #56129) [Link]

vi is a disease that should have died a gory death a long time ago.

vi sucks

Posted Oct 3, 2011 9:39 UTC (Mon) by man_ls (subscriber, #15091) [Link]

Agreed. Vim, on the other hand, rules.

Just to add something semi-meaningful to the discussion: why are routers stuck at 200 mhz? My sheevaplug runs at 1.2 ghz and has 512 mb, and it is not exactly a new product.

vi sucks

Posted Oct 3, 2011 17:58 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

and how much did you pay for your sheevaplug? something like $100 right?

a router that costs $20 won't have the same power.

they are putting the slowest processor they can get away with in the routers to save money.

that said, you can get routers with ~600MHz processors rather cheap nowdays.

vi sucks

Posted Oct 3, 2011 18:03 UTC (Mon) by man_ls (subscriber, #15091) [Link]

Actually I paid more than $180, because I had to pay shipping costs, customs, VAT and administrative charges. But I get your point: in Moore's law they keep transistors constant while reducing the price.

600 MHz should be enough to do some interesting jobs in the router. The SheevaPlug is a rather capable device itself.

vi sucks

Posted Oct 3, 2011 17:59 UTC (Mon) by raven667 (subscriber, #5198) [Link]

They have to make a profit on hardware that sells for $50-120, its probably cheaper and you just don't need more oomph for moving and filtering packets at the line rates these devices operate at.

Use OpenWRT for tinkering

Posted Sep 30, 2011 11:33 UTC (Fri) by dsommers (subscriber, #55274) [Link]

Very true. And DD-WRT doesn't care much about security. For example:

LittleBlackBox have a database of SSL keys used in DD-WRT images. The response in a DD-WRT forum: "I can't imagine any situation where an attacker would be able to capture the encrypted traffic and expect to get anyone to login to their router via HTTPS. "
<http://www.dd-wrt.com/phpBB2/viewtopic.php?p=517170&s...>

Some hard coded IP addresses was found in the iptables setup in DD-WRT. But the main developer didn't understand the importance of informing its users about this issue, with a know fix for it:
<http://www.dd-wrt.com/phpBB2/viewtopic.php?t=35783&st...>

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds