WRT54GL Firmware Reviews
About Linksys WRT54G Series
With a router from this series, you can share a broadband internet connection using both wired and wireless links. WRT54GL is a great little device with low power consumption, a powerful 200 MHz processor (you can overclock it, too) and 16 MB memory.
WRT54G can run Linux and is the first cheap home router in history which firmware source code was released to the public. As a result, several third party firmware projects were started, which improve router's functionality greatly and brings it closer to capabilities of expensive commercial networking equipment. I have personally tested several of these firmwares on my WRT54GL router, and you can find their short reviews below.
Be warned though that I'm relatively a newbie to home networking and the tasks I want my network device to do are mostly limited to "making my games not lag" and "making my skype voice chats smooth", and I make my choices for best router software based on these requirements.
Using WRT54G Router for Home Networking
My experience of using this device
I am currently sharing 4096/1024 kbps cable internet connection with my neighbor. We used to share the line through a simple switch, but whenever one of us were using P2P programs, downloading bigger files, or even watching streaming video from Youtube, it would lag the connection, which made for a bad gaming or VoIP experience. Bandwidth limiting on each PC wasn't an option since the limit would stay even if the other PC stopped using the connection.
The solution was buying a router with a QoS (Quality of Service) capability. Basically, QoS is about setting priorities for different types of traffic, or "traffic shaping". Thankfully, there are plenty of cheap routers nowadays which can do QoS like very expensive commercial products, although on a smaller scale and not so effectively. Still, it works just fine for something like prioritizing game or voice communication traffic and preventing your annoying roommate from using all the bandwidth.
I chose the WRT54GL model from Linksys, because it's possible to install 3rd party firmware on it. Please note that new versions of this device aren't compatible with Linux firmware; older versions are, but you cannot find them in stores, although they'd probably be available on eBay and such.
The installation was a piece of cake - the router works as DHCP server, automatically assigning IPs to computers connected via ethernet ports. I didn't need wireless so I disabled it altogether. All I needed was to plug in the cables and it was good to go.
Default Linksys WRT54GL Firmware
The first one I tried
The first firmware I tested was of course the default one from Linksys. Naturally, it was already installed on the router - I'm providing a link in case you want to overwrite your alternative firmware back to original one.
After you connect to the router (default IP is 192.168.1.1), you can configure the settings. The web interface is simple and easy.
First thing I did was disable wireless, since I don't need it at all (glad the software had this option).
Next, I decided to test the QoS. Instead of adding the game manually, I simply checked "Optimize of gaming" and asked my neighbor to start his downloading. The game I tested was an online FPS called Counter-Strike: Source. I usually get 5 latency if no one else is using the line; I used to get around 500 or more when my neighbor was downloading something. With QoS optimized for gaming, it's around 40, and ping stays low - right on! Note, it's still not the same as with "empty" connection, but I was unable to get any better latency no matter which QoS settings I tried.
Then I setup the port forwarding for my applications which need it. It all worked nicely, except you can quickly run out of port forwarding fields and QoS fields - they are limited in this version of firmware.
The next test was launching a P2P program, namely Azureus, which is a BitTorrent client. Default Linksys software completely failed here, I'm afraid. When Azureus was running, I couldn't access any web pages because of "timed out" error. The reason is limited number of connections on the router, and that can't be changed on default WRT54G firmware - enough of a reason to try a different one!
Turn your cheap $30 router into a powerful device using third party firmware I reviewed below!
HyperWRT (Thibor) Firmware
This firmware is based on original one with added features
Note: while this firmware is working and functional, it is no longer being updated. You might want to choose another one unless there's a specific reason that you want to use HyperWRT for.
HyperWRT "Thibor" firmware is based on the source of default one from Linksys, but it has many more features, such as adjusting of wireless transmitting power (in other words, boosting the signal strength), increased port forwarding and QoS application fields, command shell, startup and firewall scripts, and more.
Since it's based on default Linksys WRT54GL firmware, it even uses the same web interface, which is easy to understand and use. It's an "upgrade" from default firmware in many ways.
The first thing I noticed is that it solved Azureus problem immediately. By default, it sets the connection limit to 2048, and that can be increased even further.
You can also be sure that you won't run out of fields for port forwarding or QoS settings, as this firmware has much more of them.
The QoS settings have a new feature, and that is L7 filter. Instead of setting up QoS by port number, you can use packet type filtering. This firmware has a nice list of applications and games which you can choose to prioritize. However, please note that L7 filtering uses more processing power than filtering by ports, so you might want to assign priorities using ports where possible.
For example, I set Azureus to use port 41111, and assigned Low priority to it, so it wouldn't clog up my connection. Next, I assigned Highest priority to ports 1200, 27030-27050 and 27000-27015, which Counter Strike uses. Finally, I gave High priority to Skype. Since Skype uses random ports, I just chose Skype from L7 filter drop-down list. I also prioritized my connection over my neighbors, by using Ethernet port priorities - I'm just evil that way :-)
The CSS QoS test went well, and the results were very similar to those of default Linksys firmware. That was to be expected, since it's based on it.
There were several other neat features I noticed, such as overclocking (you can do that using command line, by executing #nvram set clkfreq=216). As you can see, I overclocked mine to 216 MHz from default 200 MHz, because I noticed P2P programs tend to use a lot of CPU, and it often goes close to 100% when both my and my neighbor's PCs are using the internet heavily. It runs stable and doesn't overheat at all, but still, do it at your own risk!
Overall, this is a great firmware for WRT54GL router, and I recommend it to novice users who want more features than default installation offers, and a working QoS that is very simple to set up.
Very flexible firmware with tons of features, but a weaker QoS implementation
While HyperWRT is just an improved version of default firmware, DD-WRT is written from scracth (based on OpenWrt Kernel). It has a different web interface and so many advanced features it made my head spin.
First of all, it has all the features I found handy in HyperWRT, and more. Not only you can increase connections limit, you can also monitor the number of connections on the router's web interface to make sure it doesn't reach the maximum. Overclocking can be done from a handy drop-down menu. It has the wireless signal boost as well. QoS L7 filter application list is even longer, and there's also "Optimize for gaming" setting like in original Linksys firmware. The only immediate complaint I had was that this firmware rebooted the router after every little change I made in the settings.
One thing I noticed in QoS was that you can not only set upload, but the download speed as well. I'm not sure it's a good thing, since limiting download speed is done by simply dropping packets. Also, my ISP gives me double download speed at night, which is problematic since I'd have to change QoS settings every time, or loose half of my download bandwidth.
When it came to actually testing the QoS, I was in for a big disappointment. While HyperWRT and even the default WRT54GL firmware managed to give me a latency of around 30 in Counter Strike with my neighbor doing his best to use upload and download speeds to the maximum, DD-WRT only managed to give me around 100 ms. That was with CSS set to "Exempt" (highest possible) priority.
Overall, I didn't like this firmware much. I don't really need all the features it has, since HyperWRT already does the job just fine. What's more, I actually found it's QoS handling to be inferior to default one from Linksys. So, unless you need some specific feature only DD-WRT has, I'd recommend you use HyperWRT instead.
Tomato Firmware: Best for WRT54GL Routers
By far, the best firmware I have tried
Tomato is based on Linksys' source code, but it is heavily modified, optimized, and equipped with a completely new sleek web interface. That interface is worth a praise: it's easy to use, simple to understand, and very responsive because of that cool thing called AJAX (no need to refresh the whole page to see the changes).
Tomato has something other firmwares don't - a bandwidth monitor which can draw neat looking charts. I was afraid at first that it would require a lot of CPU power, but it actually seems that Tomato uses even less CPU than other software! The bandwidth monitor can show internet usage real-time, or even log it to router's memory.
As for QoS, it has the most options I've seen in my WRT54GL firmware testing marathon. There's 10 bandwidth classes (not just your usual High/Low), ability to assign a priority to all unclassified traffic, layer 7 and ipp2p filters, and even an option to classify the connection depending on how much data it transfers. For example, you can give High priority to WWW transfers under 512 kb (regular web browsing) and Low priority to WWW transfers over 512 kb (downloading files from sites, loading huge pictures, etc).
Of course, my only concern was if it actually worked, so I did the usual Azureus + Counter Strike test. Even when I was running Azureus, I noticed almost no ping increase in CSS, and my web pages were lightning fast, as if there were no p2p application running in the background. Note, I had to add Counter Strike to QoS rules myself, but even with default rule set, web pages were already prioritized and working perfectly, while my p2p traffic got the lowest priority - just like it should be!
I highly recommend Tomato to any WRT54G router users, especially those who need a good QoS or bandwidth monitor. It is, in my opinion, the very best firmware for this series of routers.
Other Firmware I Have Not Tried
...But you are welcome to!
OpenWRT is said to have one of the best working QoS around, but I never tried it due to the fact that it's meant for advanced users who know how to use the command shell properly :-) However, they have been developing a web interface for OpenWRT called X-WRT.
Tarifa is described on their site as an improvement over original Linksys WRT54GL router firmware, with no additional features added, but with increased scalability and capacity. I guess that would fix the connection limit problem with p2p applications that I had. Users who want a very simple to use firmware might want to choose this, as it's basically the default one with problems fixed.
You Can Still Get a WRT54GL Router on Amazon
Yes, it runs Linux (and this is not one of those Slashdot jokes)
Linksys WRT54GL (L standing for Linux) is a consistently top-rated and affordable router for home and small office networks. The best feature of this networking device is it's capability of running custom Linux-based firmware, which makes it ideal for enthusiasts and more advanced users.
It's important to note that this router is rather old, and not suited for high-speed connections.
Older WRT54G Versions on eBay
WRT54G versions up to 5 are fully compatible with third-party Linux firmware. Some newer ones can be as well, despite having less memory; make sure to check the relevant Wikipedia page which lists all the different WRT54G router versions.
As this is an older model, a used router will probably cost much less than a new one. It's up to you to decide if it suits your needs (your connection speed shouldn't be faster than 20 mbps).
Flashing Your Firmware: the Bottom Line
Is it safe? How does it work?
You might be wondering about the safety of flashing your firmware, or about why merely changing the software on your router can give it so much more new features and capability.
First, you have to know that Linksys is a division of Cisco Systems, which produces expensive network equipment, while Linksys produces cheap ones. In the end, the routers of these two brands use very similar hardware, so the only thing limiting the capabilities of Linksys devices is the software installed on them. Thus, in the case of Linksys WRT54GL and WRT54G (up to 4th version), we can use third party firmware to "unlock" the full features of the hardware. It's quite safe, and I've done it a number of times - however, there are no guarantees that the firmware change will always be successful.
Looking for Something More Modern?
A more powerful router which also runs Tomato
I originally wrote this article back in 2007, and at that time WRT54GL was a really great choice. Five years later, it's obviously outdated (although it will still do just fine for lower speed connections). So if you're looking for a new router to setup a home network, I recommend the more powerful ASUS RT-N16 with USB, Wireless N, and Gigabit Ethernet support. And the best part? It also runs Tomato, or rather, a new modification of it called Tomato USB.