Sunday, March 02, 2008

Linksys WRT54G and Tomato Firmware are your friends!

In all honesty, we hit the home network pretty hard here at Casa de' G-98. At any given time, there are 6 computers, an ethernet surveillance camera system, a couple Snap Servers, a Vonage phone modem, an MP3 media server, and so forth connected together. That whole hydra-headed mess feeds through a Linksys WRT54G router, then on to a D-Link DI-102 packet optimizer before making a left turn at the cable modem to the Intarwebz.

I could be on the workstation in the garage making a new vinyl sign for a customer, listening to MP3s stored on the Snap Servers, while Mrs. G-98 is browsing the Web and on the phone with her mom, and the two WarCrack addicts are hot and heavy in another quest for Gawd knows what.

I used to experience lock-ups of the network after about 5 days of "average" use in my house. This stemmed back to a glitch in the factory Linksys WRT-54G v5.0 firmware - it tracks connections for 5 days, but doesn't flush them when the cache fills up. Once that cache fills, it locks up, and you need to reboot the thing. An earlier fix required me to add a digital audio timer to the power side of the router, forcing a reboot at 5:00 AM every morning. That worked fine, but really didn't address the problem, although it somewhat tidied up my basement communications rack system:



Doing some homework, I learned about the big aftermarket for earlier versions of the Linksys WRT54G made prior to v5.0. It appears they had more internal memory, and ran a version of Linux as their firmware of choice. Being a dabbler in all things Linux, this got my attention! The two top contenders in the line-up were DD-WRT and Tomato, neither of which would work on my original WRT54G v5.0 router - so I had to find either one of the older, large-memory versions, or one of the WRT54GS versions Linksys marketed for aftermarket firmware.

Fast-forward a few weeks, and I'm the proud owner of a very early model WRT54G v1.0, distinguishable by the lack of Cisco labeling, as well as the 20 or so diagnostic LEDs on the front panel not found on later versions. I immediately set about to modify the thing, because I wanted it to last for a very long time in its new role. Hey, it's not like the warranty would be voided, so off came the external cover. A tiny 5-volt fan went inside the case, as did about a half-dozen finned heat sinks on the bigger chips, all to cool the little router and increase longevity for the long term.

Installing DD-WRT was quite straightforward, but you could tell that the feature-rich firmware really bogged down the WRT54G v1.0, it just plain crawled. I'd been warned that the WRT54G v1.0 had a slower Broadcom CPU, 125Mhz vs. the later 200Mhz processors, but that 75Mhz difference really didn't explain the slowdown I was experiencing. I debated tweaking the myriad user-configurable options, or installing either the Mini or Micro variety of DD-WRT, but had also been wanting to try Tomato, so I moved on to the latter.

Wow! Tomato's installation was downright easy, and once the router rebooted itself, things fell into place nicely. As a matter of fact, the router has been running Tomato ever since, with nary a hiccup. That 75Mhz drop in CPU speed? You'll never know it's there, the router's throughput and efficiency with the lean Tomato code is just that quick. I let it run without any adjustments whatsoever for a week, just to see if I could get by the dreaded 5-day hurdle. No problems, so I started entering port forwarding addresses for Vonage, WarCrack, Ventrilo, you name it, all by the IP addresses of those machines needing the port adjustments. Then I prioritized traffic based on those ports, such that our phone calls would take the top of the bandwidth heap, then down from there. The results were impressive, and with the packet streamlining of the D-Link DI-102 in conjunction with the Tomato QOS functions, my Vonage voice conversations have been crystal-clear.

There's also a full Wireless-G suite, with a particularly neat feature - you can adjust the transmitter's output wattage to boost your signal strength over distance. Bear in mind, you don't get something for nothing, and I purposely put additional cooling measures inside my WRT54G's chassis to dissipate the heat generated by the increased transmitter output. I had to look pretty silly walking through the snow in my backyard with laptop turned on, checking out the range of my Wireless-G signal, but darned if it doesn't work as advertised! I had considered getting an older WSB24 outboard signal booster to better feed my Dell Inspiron notebook while on the back deck, but the power adjustment in Tomato quite honestly matches the gain offered by the former device without need to further complicate things.

That just scratches the surface, and the firmware includes some very comprehensive logging abilities, complete with a real-time scrolling bandwidth meter, a 24-hour chart, and logs that go from daily, to weekly, to monthly (Image courtesy of the author's website):


That's pretty doggone nice, and Jon (the author) has been very busy with improvements and upgrades, several having been released since January of this year alone! What I had considered a cheap and perhaps disposable piece of networking gear is now nearly indispensable, performing functions well outside the $35.00 I paid for it. I upgraded the communications rack to better support the upgraded router, as well as adding another 5-port switch for later expansion of the network.



Yeah, I know it ain't terribly professional, but it does what my MCSE-addled brain set it up to do, and the time-switched outlet of the clock has been set to "always on" with no need to reboot the router so far, having gone just over 30 days of glitch-free operation. Jon, I doubt you need more endorsements, but you're getting one from me, and I heartily recommend that owners of these little blue Linksys boxes head to your website to get their own version of your Tomato firmware:

http://www.polarcloud.com/tomato

16 comments:

Anonymous said...

I have a WRT54G v5.0 - and you can run DD-WRT. You have to use the micro version, but it works great. You're right about the internal memory, and that's why you can't run a full DD-WRT or Tomato on it.

engr97035 said...

Careful with boosting the transmit power since you may end up saturating the power amplifier and adding distortion to the signal.

The end result is that while you may have increased signal power, the throughput may not have increase or even decreased.

Recently, in my lab I noticed a higher than normal transmit packet error rate in own of my radios that I tracked down to a power amplifier set for higher than normal transmit power (bad firmware on my part).

Gewehr98 said...

I've pretty much left the transmit power alone since switching to Tomato for the WRT54G v1.0 I bought. I gave the WRT54G v5.0 to my parents, to act as a simple hardware firewall. (Well, that, and it allows me to use my notebook when staying at their place, too...)

In the picture of my WRT-54G v1.0, you'll see the optional longer antennae. That's helped enough that I can cruise anywhere in the house and get excellent signal strength and throughput.

george said...

nice picture

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Thank you, that was extremely valuable and interesting...I will be back again to read more on this topic.

Anonymous said...

Brilliant site, I hadn't noticed neuralmisfires.blogspot.com previously in my searches!
Continue the wonderful work!

Anonymous said...

Greetings,

This is a inquiry for the webmaster/admin here at neuralmisfires.blogspot.com.

May I use some of the information from your blog post right above if I provide a backlink back to this site?

Thanks,
Peter

Gewehr98 said...

Peter,

By all means, as long as you provide proper attribution.

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Hello there,

Thanks for sharing the link - but unfortunately it seems to be down? Does anybody here at neuralmisfires.blogspot.com have a mirror or another source?


Thanks,
Jules

Joe said...

Hi G-98. awesome blog. very cool. i have a question though.
what Antennas are you using in your setup (the one in the picture)?

i'm moving to a new apt, its on the 2nd flr. the homeowners have a Linksys Router in the basement though. i brought a netbook to see what type of signal the 2nd flr apt gets and Windows showed it as 3Bars (very low tech assessment, i know). i want to improve that for reliability and signal strength (going to have a few devices that need wifi). i was thinking of installing Tomato and adding longer antennas on their router (Cisco-Linksys High Gain Antenna Kit). then was maybe thinking of adding another Linksys Router in 2nd flr apt and putting Tomato on it as well. having the 2nd router (upstairs) act as an Access Point.

do you think this will help signal strength and reliability for me in the 2nd flr apt?
with this setup, worth messing around w/ Tomato's signal boost settings on basement router? or will that overheat the unit?


any suggestions you have regarding this are very much appreciated. thank you.

Joe said...

Hi G-98. very cool blog.

what type of antennas are you using in your setup (in the picture)?

i'm moving into a 2nd flr apt and the homeowners router is in the basement. i tested the signal from the 2nd flr with a netbook. windows showed 3 bars (i know, very low tech assessment). i want to make sure i have a reliable and strong signal up there. so i was thinking of installing Tomato and longer antennas on their router (Cisco-Linksys High Gain Antenna Kit for TNC Connectors HGA7T). Next, i was thinking of using my router on the 2nd flr (already has Tomato on it) as an Access Point for more reliability. plus gives me the option to hardwire my desktop (also have a PS3, that can go wireless though, and more wireless toys to come).

do you think this setup would work?
is it worth playing with the signal boost settings in Tomato on the basement router? or will that overheat the device?

any suggestions regarding this is very much appreciated. thank you.

Gewehr98 said...

Joe,

Those are the standard Linksys HGA7T 7dbi antennae, which Linksys offers as a means to boost the signal from their routers and wireless access points. They're pretty much a plug-and-play swap for the original antennae that come with the router.

It's not a bad way to get better signal strength throughout one's home. They're not too expensive, and if you don't want to spend the $29.95 for the Linksys versions, there are also aftermarket 7dbi antenna kits.

My router, signal booster, and longer antennae are in the basement transmitting up through the house to all floors. I understand putting such a setup inside one's attic does a good job of ensuring good coverage, too.

I cheated, and used both the longer antennae and the WSB24 in conjunction with the WRT54G router running Tomato firmware. That's probably overkill, but I can sit with my neighbors on their deck and use my laptop no problem. :-)

Anonymous said...

Nice work, Thanks

Gewehr98 said...

Update: The Linksys WRT54G-TM has been replaced with the ASUS RT-N66U Gigabit Router. Watch this blog for a review in the near future!