Whatever would possess me to change a perfectly good noun into a verb, you ask? Simple, really…my hatred of technology. Not really…here’s what happened.
A couple years ago, I got a Linksys Wireless-G Broadband Router from my work so that I could do work from home while being protected by the NAT firewall of the router. Now, I realize that is a lot of techno-babble, but trust me, it all makes sense. When I left the company for which I was working at the time, I had to give the router back. I purchased a replacement router, and it’s worked alright since then. My problem with the Linksys routers has always been that I could not reserve IP Addresses for my computers based on their MAC Addresses. (More techno-babble, I know.) Basically, I want the router itself to distribute IP addresses based on the network card’s MAC Address. This way, my desktop computer always gets the same IP address, my TiVo computer always gets the same IP address, etc. I know I can always set up static IP addresses in Windows, but that’s just not the same, and it doesn’t help when it comes to printers and other, “dumber†IP devices. If I take my laptop outside my network, I have to change IP Address from the static IP address to “Obtain Automaticallyâ€Â, and that’s just a hassle. Furthermore, I know that Windows provides a Backup Setting where you can specify an IP address, but if that IP Address isn’t available, you can set it up to automatically look for one, but that always took my computer around 5 minutes to resolve. I don’t want to wait that long if I just want to get on and check my e-mail. The best solution was just to forget that IP Address reservations based on MAC Address ever existed; a tall order considering the fact that with Windows Server 2003 at work, I set up IP address reservations all the time. I figured I’d just have to do without.
Fast forward to this week where I’m looking for a free, configurable VPN solution. I came across OpenVPN, which is a great solution, though definitely non-trivial to configure. (In searching for configuration instructions, I came across a guy who said, and I quote:
“The particular router I used for testing is a Linksys WRT54G version 1.1 running Sveasoft’s Alchemy firmware.â€Â
Whoa! Wait a minute…did he say he’s using the firmware from another company to run his router?? Is that possible? As I begin to do a little bit of research on the subject, I come to find out that not only is it possible, everyone except from my circle of friends has either done this themselves or has at least heard about it. How did I miss out? Apparently, the reason that Linksys wireless routers are so popular was because you could upgrade their firmware to a 3rd party firmware which adds all kinds of neat features, and often is more stable than Linksys’ own firmware. When I go to read some of the features that the 3rd party software has, I discover this little line:
“Static DHCP address assignmentsâ€Â
Wait a minute…Static DHCP assignments??? WOOT!!!! This is something I have been wanting for a couple years now! Finally, I can do this! In addition, I find that I can have a better interface than Linksys’ original firmware, and I can boost my wireless signal by 600% without breaking the law. Tell me that isn’t the coolest thing? Sounds like a no-brainer, right? I mean, Linksys released the source code to their firmware, and open sourcers modified it, making it better. Isn’t that how Linux has improved over the years? Isn’t that exactly how Open Source works? Linksys has even re-incorporated some of the 3rd party changes into their official firmware proving the wisdom of their decision to release the source. I have a Linksys router, so shouldn’t I just go for it?
Hold it right there, Turbo.
Turns out that there are 6+ versions of Linksys’ WRT54G router. Versions 1 through 4 are all upgradeable. They use the Linux operating system, and contain 4MB of flash memory. This means that standard Linux firmwares will work, no problem. In version 5, however, Linksys changed the specs of their router to run on VXWorks OS, and shrunk the amount of memory from 4MB to 2MB. This SUCKS, because these new firmwares only run on Linux, and I HAVE A v5!!! However, I came across instructions with how to change your v5 or v6 to Linux, as well as the proper firmware to use; something called DD-WRT Micro. WOOT! I purposed in my mind to do this at my earliest opportunity.
“My earliest opportunity†turned out to be last night. I asked Gabe and Daniel to be there to cheer me on. It turned out that they were there to assure me that something was going to go wrong. They continued to assure me that I would destroy my router in doing this. Needless to say, I felt good about it. I followed the process, flashed my router, and everything was working awesome. The new firmware was nice-looking, and added far more features than I previously had. I was stoked…no trashing of my router tonight.
However, I failed to notice something that I think was crucial. The Micro version of the DD-WRT software did not have all the options of the full version of DD-WRT firmware. Namely, the PPPoE protocol (which MOST DSL connections use to connect…mine included) was completely missing. After much research, I discovered that the full version would work just fine. So I flashed to the new version…or so I thought. The Micro version popped up again. So I flashed to another firmware entirely…Micro came back. I couldn’t flash to anything!!! Furthermore, as soon as the lease on my DSL’s IP ran out, I was screwed…I wouldn’t be able to connect to the DSL! As I looked around, I found out that the 2MB of memory that my router had was hampering my upgrading. The major firmware releases are all 3MB or higher, so I couldn’t load those. I could ONLY load stripped down Micro versions of firmware, and only DD-WRT made a Micro…or did it?
After looking some more, I came across a firmware called OpenWRT, which claimed to be for advanced users. I placed myself in that category, and looked into it. Turns out that THEY made a firmware that was micro and was supposed to have far more features. In a moment of desperation, I flashed to the new firmware, and immediately regretted it. When they said “advanced usersâ€Â, they meant “users who have experience setting up a Linux Distribution as a routing computerâ€Â, which clearly excluded me. The new firmware didn’t even have a web interface, and I had to telnet into it to configure it. I was fastly getting FED UP with what all was going on, and decided to flash back to the original firmware. Let me tell you, this is also not trivial. Here’s what I had to do.
First, I had to unplug my router from power. Then, I had to start up a continuous ping of my router with a 10ms timeout. Then I had to open a new command window and prepare the TFTP command to send the binary firmware to the router. (Don’t press enter, now.) Then, I go back up and plug in the router. As SOON as my continuous ping started getting replies, I was to hit enter and begin the TFTP process sending the firmware to the router. It took a couple of times to get this right, but within about 20 minutes, I had the firmware flashed. I reset the router, and it was dead.
THIS is what is referred to as “bricking†the router. The definition of “bricking� “The process by which a moron takes a perfectly good router and turns it into a perfectly worthless paperweight with little fiddly antennas sticking out of the back of it.†At this point, there’s NOTHING I can do with the old WRT54G v4. All I can do is look to the future. Some background about the options I have available to me in terms of a new router.
Linksys’ decision to move away from a Linux OS was not a popular one with the WRT54G community. Their decision to shrink the available memory: also not popular. In fact, there was so much public outcry that Linksys released a router called WRT54GL to placate the masses, which is essentially the v4 router that has been rebranded. They returned to the 4MB memory and the Linux OS, and is now the best choice for those wanting to flash their firmware. It being Christmas starting up here, my options for purchasing a WRT54GL online all involve a lengthy shipping process that can get the thing to me by no sooner than Tuesday of next week. So here I sit, wishing that a local vendor carried it so I could have a new router today, but knowing there is nothing I can do about it except wait for it to get here. NewEgg.com ships fast, though.
My advice to you? Check your router version before flashing to new firmware, if you have a WRT54G. I definitely recommend some of the 3rd party firmwares out there…the features are just too nice to pass up. You can turn your router into a far more expensive device with a free piece of software. Truth be told, these firmwares are basically a gussied up version of Linksys’ own firmware. However, I recommend against doing so if you have DSL, and a v5 or v6 Linksys router. The Micro version of DD-WRT is excellent if you run Cable Modem, or another type of connection that doesn’t require a user name and password. I was really happy with all the neat features they left in there. I just wish they hadn’t removed PPPoE. The only reason I bricked my router was trying to get it back to the original firmware. They are serious when they say that the chances of bricking yours are very low. However, make sure you know all the information before going in.