What is DD-WRT?
In a nutshell, it’s very cool replacement firmware for your wired or wireless router. If this is of interest to you, check out the DD-WRT wiki page and the DD-WRT home page. DD-WRT looks like it is continuously maintained and supported. I found for my Linksys WRT-600N it added new functionality and appears much more stable than the factory firmware. I say appears because I just got it installed and working today. More on stability in a future post if issues arise. Stability is key to me as I had lots of trouble with the stock Linksys firmware and was always having to pull the plug on it to reset it.
An Accidental Discovery
I wasn’t really looking for router firmware when I found it. Like many serendipitous happenings on the web, I discovered DD-WRT after googling Wake On LAN, which lets you wake up a sleeping computer by sending it a command over a network. Oh by the way, DD-WRT has a web interface that will allow you to do this remotely over the internet. That, and a power strip that can be controlled via the web are probably my coolest two discoveries while off for the Christmas break from work.
Day 1 – An Inauspicious Start
I decided that it was time for new firmware for my router. What follows is an abbreviated description of the process that ultimately led to a working router with new firmware. But it wasn’t a slam dunk. There were lots of pitfalls along the way. I’m telling you this because I don’t want you to experience them, too. And yes, I was very careful to follow the directions and take information from what I believed to be the most authoritative sources (more on that later). Despite careful reading and following directions, my first attempts were utter failures! Fear not, however, because there is good information, you just have to know where to look. My major problems:
- I couldn’t get the firmware upgrade to download, despite trying the hardware specific build (build 12874) from the Linksys WRT600N hardware specific wiki page, or a newer version (build 14594) found in a comment to a posting for which there was a link at the bottom of the WRT600N page. I kept getting a “Fail to Update Firmware” error message popup about 17% into the update (on both). The WRT600N wiki page anticipated that, and told me I needed to do the update via TFTP.
- Went back to the Router Database and found the “Linksys WRT600n v1.0/v1.1 Firmware: Special file for flashing via TFTP” (build 14896) . After reading a really good page on flashing with TFTP, I gave it a shot and it worked first time. (I used the retransmit option discussed under Linux, kicked it off and then went and reset the router. Worked like a charm losartan hctz.)
- Having that build installed on the router, my next step was to try to update to the latest recommended “generic” build (build 14896). Unfortunately, I could never get that to download (kept getting Fail to Update Firmware errors), and I decided that rather than go the TFTP route again, I would just work with the more limited functionality of the “mini” build that I had just installed.
- Try as I might, I could never get a DHCP connection to my Verizon DSL with the new firmware. (More on that later). I re-flashed the stock Linksys firmware, hooked everything back up, and called it a day.
Day 2 – Success!
I won’t take you through everything I did the second day. I’ll just tell you that I found a WRT600N specific build (build 14929) that flashed first time through the stock Linksys Firmware Update page. And I got it connected to the Verizon DSL DHCP. What I’d like to do is share with you my lessons learned, so that you won’t have to repeat my Day 1 experiences.
- Despite its very professional appearance, the information in the Router Database is way out of date, at least with respect to what firmware build should be used. It’s a great resource for identifying the specifics of your router and what its capabilities are, however.
- The wiki is also out of date, but not as badly as the router database. I found the procedural information there to be useful, but not necessarily the specifics of what firmware to flash.
- The forums are where the latest and most accurate firmware information is located. In particular, you must read the “Peacock Thread”. It is kept up to date and information from it is what eventually got me to a build that would flash and work. At the time of this writing, the recommended build was build 14929, but that may have changed by the time you see this. If you don’t do anything else, read the Peacock Thread! The forums have lots of good information, too, particularly on the “sticky threads”.
- As far as getting the WAN DHCP to work, I’ll tell you what I did. I’m a bad scientist. I tried two things at the same time. It worked, but I don’t know whether (1) it would have worked anyway with build 14929, or, (2) changing the WAN MAC address to match the Linksys MAC address may have helped (I was surprised that it wasn’t the same after flashing. I didn’t check that on Day 1 and I guess I should have), (3) releasing the DHCP IP address before flashing with the new firmware may have done it, or (4) some combination of the above. Your mileage may vary.
- [Update 8-Jan-2011. I learned more about getting a WAN DHCP address later. I wrote that up in a later article.]
A Happy Camper
Once through the travails of flashing the new firmware, I’ve been delighted with the new functionality and performance of the WRT600N with DD-WRT software. Good luck to you if you try it, and don’t fail to read the Peacock Thread!