Monday, October 30, 2006

Linksys WRT54GL

What follows is a true tale of greed, fraud and extortion. The names have not been changed, as no one here is innocent...

Part 1: Preamble

I've stood by the Linksys WRT54G wireless router since I bought my first one in 2004. It was version 3 of this model, and never, ever went down. I didn't even need to upgrade its firmware. I had an 8 megabit pipe coming in over the cable line, and was always running a few torrents, occupying often in the area of 300k/sec. Adding to this my penchant for P2P and constant websurfing, it was surprising that, with all this going on, it was rare for my http/ftp download speeds ever to dip below 400k/sec.

All those problems you heard about with other routers - constant restarts, terrible packet loss, inconsistent performance, etc. - were never an issue for me.

So, I recommended it to others, and ended up installing three WRT54Gs that I can recall, and know that five other people have installed them themselves on my recommendation... all without incident. That all occurred within about an eight month period, though, and I didn't have a need for a new router, or occasion otherwise to install or recommend one for someone else. Until now.

Part 2: Who are you, and what have you done with my router?

My (now) former roommates had grown dependent on my trusty router, so I left it at my old apartment, as my car was quite full, and I figured that I could always get another one when I needed to. The Summer passed, and I needed to get another router about a week ago. So, off to CompUSA it was, where I picked up my favorite router, and went home.

It picked up an IP address from the modem quickly, and DHCP'd new IP addresses to the two Powerbooks immediately thereafter. But, net access was slow. I mean: really slow. And it was slow in a really peculiar way, too.

Pages would load as quickly as expected for the first few seconds, then the dreaded pinwheel of death would appear for anywhere between 10 seconds, and x. To make things even more frustrating, I was sitting literally two feet from the router. I was resetting all the equipment about three times per hour in the first five hours that I had this thing hooked up, and nothing I tried in the router's admin page increased the reliability of the wireless connection.

Was someone logged in without me knowing?

Was some heretofore unknown poltergeist messing with the router settings?

Was one of the Powerbooks still somehow sending out bad IP addresses? Prior to the installation of this router, I was sharing the net connection via one of the Powerbooks' AirPorts, using the computer as the router.

No, none of that was the case.

Part 3: Bait-and-switch

After much wringing of hands and many onomonopoetic grunts at the new WRT54G, I learned on the various internets that, between versions 4 and 5, Linksys had gone from a Linux-based OS to a VXWorks-based OS, and downgraded the flash ROM from 4mb to 2mb.

It's a different router. Unworthy of being called a WRT54G.

The stability of the old WRT54G stemmed from the fact that is was a small Linux box. Add to this the ability to swap in third-party firmware which allows you to boost the wireless signal and do some nice QoS stuff, and you can get a $300 router for $50.

But Linksys got greedy.

They apparently didn't like the fact that people were hacking their boxes, but they also saw the market for allowing people to do so. So, they crappified the WRT54G, and released a "new" router called the WRT54GL.

The WRT54GL is the old WRT54G - the only difference being that it costs $20 more. Linux-based, acceptable amount of memory, and as solid as one expects the WRT54G to be.

A really interesting part of this sordid tale is that Linksys no longer puts the version number on their WRT54G boxes, so you don't know what you're getting. Now I know that if there's no version number on the box, you're getting the piece of garbage version of the router.

Apparently, the WRT54G is now fairly stable for Windows users using a desktop and a wireless laptop, but it can't handle any more than that. (It also has an egregious programming error that I'll get to in the next part.) But, it breaks down and cries any time a Mac runs talks to it, and it cannot handle Bittorrent. No, if you want a router that actually works, you have to ante up another $20 for the GL.

This is extortion and fraud. If you look up Oxford's definition of bait-and-switch, it reads as:

bait-and-switch
noun
the action (generally illegal) of advertising goods that are an apparent bargain , with the intention of substituting inferior or more expensive goods : [as adj.] a bait-and-switch scheme.

By not advertising the version number on their box, that's precisely what Linksys are doing here. If they wanted to introduce this new, useless VXWorks router honestly, they should have called it the WRT54GW or something, indicating that it was a cheaper, less functional version of the WRT54G.

Part 4: Tech trouble

There's a deeper technological problem with the newest versions of both the G and GL, though... once they open a Bittorrent connection, they never close it. And you can only solve the problem on the GL, because it's a Linux box. So, if you plan on doing any Bittorrenting (especially on a Mac) in the near future, buy any router other than the WRT54G. This will work just fine on a GL, though - which is what I have now.

To teach your WRT54GL how to properly close connections once they're through, download the DD-WRT firmware, and install it (first the mini version, then the standard).

Once that's done, you'll need to SSH in to the router. To do that, open up a terminal window and type
ssh root@192.168.1.1
You can also use an SSH program to do this if you're terminal-phobic.

Once in, enter the following code:
~ # nvram set rc_startup="
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
> echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
> echo '600 1800 120 60 120 120 10 60 30 120' > /proc/sys/net/ipv4/ip_conntrack_tcp_timeouts
> "
~ # nvram commit
~ # reboot
NB, these commands are only good for the DD-WRT firmware.

The router will then reboot - it'll probably only take a few seconds - and then everything will be hunky dory. You'll never worry about wireless latency again.

Part 5: Afterword

It's important to note that this problem is irreparable on the new WRT54G, because the software is not open source, and you can't really play with it. It is now an inferior piece of equipment which they are selling at the same price as the old, superior equipment. At the same time, they have re-branded the old equipment under a new model number, and are charging more money for it. It's unethical, it's fraudulent, and it's extortive, because in order to buy a usable router, you need to fork over more money for the GL, after you've fought with the G to your wits' end.

Moral of the story: Never buy a WRT54G. If you're going to buy a router from this line, get the GL. It's still an excellent router, and you can still modify the software any way you want... you're just going to pay more for it now.

I think this is worthy of a class-action lawsuit against Linksys. Hopefully, that will happen in the near future.