Judging from some of the threads I see in networking discussion forums, alternative router firmware has its share of fanboys. You frequently see responses that boil down to "...the factory firmware is crap. Just load [insert favorite alternative firmware here] onto your router and everything will be fixed..."
Well, I finally got around to loading up a few of these magic beans and did some basic testing to see what effect they had on routing throughput, variation and session handling. I didn't really know what to expect, but what I found might give some potential firmware switchers pause before pulling the trigger.
To keep things simple, I chose two of the most popular alternative firmwares for consumer routers: DD-WRT and Tomato.
DD-WRT has a long history. To quote from the DD-WRT Wiki:
The first versions of DD-WRT were based on the Alchemy Firmware from Sveasoft Inc, which is in turn based on the original GPL'd Linksys firmware and a number of other open source projects. DD-WRT was created directly from Sveasoft's software decision to start charging for their firmware, closing the door to opensource.
DD-WRT comes in various flavors, including reduced-feature builds for newer routers with only 2 MB of flash and versions that add VoIP and VPN features to an impressively large base feature set. It supports routers based on Broadcom or Atheros processors.
Tomato is a relative newcomer, positioning itself as "a small, lean and simple replacement firmware". It supports only Broadcom-based routers, in particular, Linksys' WRT54G/GL/GS and Buffalo WHR-G54S/WHR-HP-G54.
I didn't want to spend time finding about all the things that can go wrong with uploading alternative firmware. So I chose the Linksys WRT54GL (v1.1) as my test platform. It has 16 MB of RAM and 4 MB of flash. It was created by Linksys in response to the outcry from the alternative firmware crowd when Linksys cut RAM and flash in half on the WRT54G starting with V5.0.
Figure 1: Linksys WRT54GL
I looked at both the WRT54G V5.0 and WRT54GL about two years ago and found the WRT54G better than the WRT54GL in terms of throughput consistency, but the GL better for simultaneous session handling.