For all the folks who have been hitting this blog via Googling the "Linksys WRT54G" and "Tomato Firmware" search terms, thanks for the traffic. Sitemeter says you're popping in here from places far and wide, and fairly often, too. Hopefully, you're getting your questions answered - if not, just ask! Tonight's blog posting will offer another answer to a question that I'm certain is being asked.
Playing around with this remarkable little piece of hardware, I've been more than just a little intrigued with the capabilities offered by the router and the aftermarket Tomato firmware.
In fact, one of the main reasons I migrated to Tomato was that particular firmware's reputation of excellent stability. Some will recall that I had to install a timer switch in my previous Linksys WRT54G v5.0 configuration, because it routinely experienced the dreaded "5 day" lockup problem. Others more technical than I related that it was due to connections being cached, and when the buffer filled up, the router locked up. My fix was to have the router reboot by setting the digital timer to simply turn it off for one minute every morning at 5:00 AM. That worked, but seemed a Mickey Mouse type of solution at best.
The Linksys WRT54G v5.0 and later have a reduced internal memory capacity and therefore don't do well with aftermarket Linux code, save for maybe the DD-WRT Micro installation. Truthfully, I wanted more functionality and performance than that, so I kept my eyes open for versions older than v5.0, as well as the special WRT54GL and WRT54GS variants that had the larger memory and Linux compatibility.
Long story shortened, I found an early WRT54G v1.0 variant for fairly cheap (see the picture below with matching Linksys WSB-24 and Linksys 8-port switch nicely stacked on top), and proceeded to modify it with heatsinks on all the larger integrated circuits, as well as the internal Mini PCI WiFi card. I've since also added an external squirrel cage fan to the router's rack to move a steady stream of air around and through it as an added measure of protection from overheating.
Once the hardware mods were done, I upgraded the factory Linksys firmware to DD-WRT. While it was neat and provided oodles of functionality, it was slow, and made the little WRT54G struggle to run it. Maybe it was a setting or two in the menu that I didn't toggle, but the hardware and firmware combination just didn't seem too happy together.
Then I found Tomato, and immediately set about to change the DD-WRT installation to Tomato v1.11. All I can say is, "Wow!" This was exactly what I was looking for to make my WRT54G get up and go, and did it ever! It goes like a scalded cat, I kid you not. Now, since that time, Jon has released several updates to the firmware, culminating at present with v1.21. I've purposely stayed with v1.19, because I'm not too familiar with DNSmasq theory and application. I may switch to it later, but darned if what I already have isn't working just fine, so I feel no real urge to fix it or otherwise complicate a wonderful thing.
Just how fine? Put it this way - about the only time I ever reset my WRT54G v1.0 is when my ISP does something goofy with their network, and my cable modem goes wonky. Sometimes when that happens, I have to cold boot the cable modem, and I get a new IP address assigned as a result. Then I also have to reboot the D-Link DI-102 Packet Optimizer (another really neat and useful gadget) and the WRT-54G. Otherwise, like that damned Energizer Bunny, it keeps going and going and going...
For example, had it not been for a cable modem hiccup, tonight's screen capture from the Tomato status page would show something longer than 37 days of continuous operation. However, I'm not complaining very much - 37 days is much better than what I was experiencing this time last year, and I'm confident that it's by no means a record.
So, the next time I post about the hardware/firmware combination, I have considerable confidence it'll be somewhere after the 60-day mark. Jon did his part quite well, and I hope I've done mine - we'll see.