
Because Everyone Needs a Router - duck
http://www.codinghorror.com/blog/2010/09/because-everyone-needs-a-router.html
======
ovi256
I find it disturbing that a supposedly perfectly functioning piece of hardware
was replaced without reason. Yes, it's just $80 and he's a geek. But he never
explained what was wrong with it other than it gave him the jeebies because
the hardware was 3 years old and the firmware one year old. Looks like a geek
status symbol thing to me.

~~~
yungchin
Yes, the hardware isn't very old at three years, but one year without security
patches is a pretty long time, considering that most people rely on their
router for DNS-caching and such.

------
jrockway
I'm not really a big fan of Linux for routers; too hard to administer. I run
OpenBSD on an old Mac Mini (with a $15 USB Ethernet adapter), and it's the
best router I've ever had.

(OK, it won't boot unless I shove a resistor into the DVI port. But it's an
Apple product, so it's not expected to be useful for anything other than
buying iTunes movies.)

Anyway, with OpenBSD I have a fast OpenVPN endpoint, full IPv6 support for my
whole home network via a Hurricane Electric tunnel, flexible QoS, and of
course, proper firewalling and NAT that actually works. The consumer-level
router I had before was a joke -- even when I put my main machine into the
"DMZ", it still blocked my IPv6 tunnel. What a piece of shit. (ddwrt probably
doesn't have this problem, but pf is still nicer than iptables.)

With that thing gone, I can browse kame.net in all its dancing-turtle glory!

My favorite feature is the QoS. If I'm downloading a TV show on my TV and
something else on the network decides it wants to download something, I keep
enough bandwidth allocated to the TV to keep the stream from being
interrupted. And, I prioritize ACKs over all other traffic, so I get full
download speed even when the uplink is saturated. And, my ssh sessions stay
interactive no matter how much other traffic there is.

My only complaint is power consumption -- the thing runs pretty hot even when
it's not loaded, and that's a waste of electricity. But a computer I already
had was cheaper than a Soekris device, so...

~~~
dschobel
In what universe are the web GUIs of tomato and dd-wrt _harder_ to administer
than your unix system?

I'll take <http://www.polarcloud.com/img/ssbn100.png> running on $50 hardware
any day. And yes, it does QoS (<http://www.polarcloud.com/img/ssqosg108.png>).

~~~
jrockway
Clicking stuff in the GUI is fun, but hard to maintain. Who knows _what_
security problems you're exposing. (CGI scripts written in C and sh? I think
the entire Internet crashed in the early 90s because of that...)

The problem I've had with cheap routers (Linux or otherwise) is that their
state table fills up and then it stops accepting connections. I was at a
conference with flaky Wi-Fi once, and kept losing my ssh connections.
Eventually, after only about 10 dropped connections and IP changes, the
router's state table filled up and the thing was dead to the world. No ping,
no web interface, no routing, no ssh. Dead.

And then when the states expired the next day, it was back again.

This is unacceptable.

------
Tichy
I almost bought a new router recently because the connection was so
unreliable, but then I decided to at least poke around a bit. Turns out that
even if reception strength is shown to be very good, there can still be other
problems killing the connection.

In my case, apparently the external monitor attached to my MacBook would
disturb the signal somehow. Luckily, simply switching the channel fixed it. It
just never occured to me to switch the channel because signal strength was
always good.

What amazed me most is that I was able to find a solution even though I had 0
idea on how to debug a WLAN network. Buying a router with a stronger signal
was my only idea initally.

Blog article: [http://blog.blinker.net/2010/09/12/fixing-wlan-
connectivity-...](http://blog.blinker.net/2010/09/12/fixing-wlan-connectivity-
issues-on-my-macbook/)

------
__david__
I hate to be that guy, but as far as I know neither Tomato nor DD-WRT are
fully open source. Both have some proprietary component (and not just wireless
firmware blobs). The only fully open source distribution I know of is OpenWRT.
I have that + X-WRT on my router, but it's about a year or so out of date. I
absolute love it! A friend of mine just installed it on his router with the
Luci front end and he was just raving about it to me.

Their source distribution is really nice too--they keep everything in a sort
of ports style makefile setup. When you get the source and build, it ends up
compiling the appropriate gcc for cross compiling (a bunch of times for
different libraries), etc. It was all very pleasant.

------
blhack
I don't think I've replaced my router in about 5 years.

Could somebody give me a reason why I should?

It runs open-wrt, it does NAT, it does packet switching, it powers on in a few
seconds.

What else could your router possibly do for you?

Routers are refrigerators, if they're still keeping things cool, don't touch
them.

~~~
mikeryan
Wireless 802.11N

Its got plenty of bandwidth for most internet delivered video purposes,
without hogging your entire house's bandwidth. Theoretically it could pipe
full Blu-Ray streams across your home network though YMMV

I've had an old Linksys WRT54G for years running DD-WRT and thats the reason
I'm upgrading.

~~~
pasbesoin
Further qualification: Dual band models. Run separate channels on 2.4 and 5
GHz. Assuming you have upstream bandwidth and/or local traffic to warrant it.
Also, 5 GHz may get you away from interference from neighbors' older equipment
(router, or crap-leaky cordless phone or whatever else is noising up the 2.4
band).

(Be careful, though; some equipment has limited support for dual band
operation, which you only learn from hard to find fine print or third party
online sources. E.g. Only one band at a time. Or degrading all connections to
G if any of them are G. Or effective throttling due to an under-powered
processor. As a couple of examples I encountered a year or a bit more ago
while helping someone buy one.)

As for me, still on my 54GL -- good enough for my limited needs at home.

------
bl4k
tl;dr Jeff discovers router mods and open source firmware

~~~
gregschlom
...and seize the opportunity to feed his readership a few more affiliate
links. Hehe, I still remember his post about SSDs, this one was really bad.

------
seanalltogether
I have never owned a netgear router that stayed alive for more then a week or
two before requiring a reboot. I will never go back to them.

~~~
rbritton
My experience with Netgears has been that once you reach a certain level of
bandwidth usage, the router is unable to cope with it, freezes up, and
requires a hard reboot. I've hit this point with a WRT54G running dd-wrt as
well, but I've never hit it with my Airport Extreme.

~~~
acgourley
There is a huge difference between the various wrt45g models. For example the
"L" model has a lot more memory, and will prevent this situation. Firmware can
only help a crappy router handle intensive activity like torrenting to a
limited degree.

------
acqq
I use Asus WL 500GP with Oleg's firmware <http://oleg.wl500g.info/>,
<http://code.google.com/p/wl500g/> Learning how to cross compile my own
programs for it using <http://www.nslu2-linux.org/> was a worthy experience.
It's amazingly slow producing the cross compiling environment. It's tricky. I
experienced the effect of <http://xkcd.com/456/>

------
phaedrus
I found this timely as I am in the same situation, although I did do a brief
stint of setting up the x86 option he also mentions. In the end I decided it
just wasn't worth the hassle. I'm happy to see this article because I had been
wondering what commercial router to get to run dd-wrt. I got burned on this
once before when I bought a Netgear on sale at best buy a few years ago: it
looked like the same as a model that ran dd-wrt and I even got an assurance
from the sales person that it would run it, but when I got it home discovered
that Netgear had replaced the inwards with a cheaper, incompatible version of
the CPU and half the RAM, without updating the model number. Grrrr. I felt
like they were taking advantage of the popularity of the open source mod to
pull a bait and switch. I'm happy to see that routers now actually print the
open source compatibility on the box. It feels like a rare victory.

~~~
napierzaza
You've had to be careful about this for years. There has been 10 revisions of
the WRT54G and something like half of them don't work with DD-WRT/OpenWRT.

------
derekj
"Thanks to a wide variety of mature commodity hardware choices, plus
infinitely and perpetually updated open source router firmware, I'm happy to
report that now everyone can have a great router."

No, not really. When's the last time his mother or mother-in-law flashed their
router to Tomato or even just updated the stock firmware? I've been running
Tomato on a WRT54G for years now, and DD-WRT before then, and I love it, but
you can't expect a normal person to have any interest in that. They buy
whatever is shiny and/or the Best Buy guy tells them is good.

------
grandalf
I've had very bad luck with routers. Apple Airport Expresses freeze up every
week or two, I bought one horrible Netgear, etc.

Finally I did some searching and found that Buffalo makes routers which ship
with stock openwrt firmware.

I bought one (it was $70) and it's worked wonderfully. It has only crashed
once in the 3 months I've owned it.

I wish I'd kept the original Linksys router I bought 10 years ago and replaced
when I upgraded to "G" a few years later. It never crashed.

------
gmlk
Apple's AirPort works fine for me at the moment. I just wish that its support
of IPv6 included DHCPv6…

What I don't understand is that most ADSL-modems include a router? I usually
set it up in bridge-mode, like I did with the ancient Zyxel 650.

Funny development: I will now have to replace the modem because it has become
the limiting factor: The maximum throughput of the modem is about 60% of what
my current ADSL connection could handle.

------
kree10
FTA: "The magic router formula these days is a combination of commodity
hardware and open-source firmware. I'm so enamored of this one-two punch
combo, in fact, I might even say it represents the future."

I don't see a need for all the hedging. Commodity hardware + open source
already "won" in various applications over the past couple decades. Here's
another.

Sent from my iPad (just kidding)

------
zdw
ddwrt is pretty neat. I install it on most of the consumer class routers that
I put in. That said, they tend to stick to the kernel source provided by the
manufacturer with their userland and GUI bits tacked on. This sort of
amalgamated approach works faster, but is harder long-term to support, IMO.
There also have been some questionable licensing practices in the past with
ddwrt - this is somewhat common in the alternate firmware community, starting
with Sveasoft. There have also been some issues with browser compatibility
(broken in webkit, mainly) for certain versions of ddwrt.

Personally, I think the future is going to be for the tech savvy to build
their own firmware with OpenWRT (<http://openwrt.org/>), which lets you
building from more current linux kernel sources (thus you're more likely to
get patches to kernel level security issues), and pick your packages. It
currently isn't as smooth of an install as ddwrt, but it's getting there
quickly.

------
atomical
Has anyone benchmarked/stress tested dd-wrt? I worked at a place that had
sometimes >50 wireless users actively using the net.

~~~
weaksauce
A lot of the coffee shops near me use it for the wireless offering. It can get
slow but I think it has more to do with the dsl that they are using.

~~~
atomical
The newer routers have more memory. I think that was the main problem with the
router crashing.

------
ojbyrne
I use DD-WRT, and like it, but 2 weeks ago my router lost every single
setting. Was not happy.

------
napierzaza
Get a WNDR3700 and install OpenWRT on it. It has gigabit, dual radios for
wireless and is a pretty modern and robust router. There's also little danger
of bricking it.

