WRT54GL Firmware Reviews

1 - I can do better 2 - Jury's out 3 - Pretty darn good 4 - Splendiferous 5 - Awesometastic by 11 people | Log in to rate

Ranked #249 in Tech & Geek, #5,073 overall

About Linksys WRT54G Series

With a router from this series, you can share a broadband internet connection using both wired and wireless links. WRT54G is a cool little device with low power consumption, a powerful 200 Mhz (overclockable!) processor and 16 MB of 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 shops, although they'd probably be avalaible on eBay and such. You can find a full list of different WRT54G router versions on Wikipedia.

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 tested.

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 Counter-Strike Source (CSS, for short). 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 $50 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 strenght), 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.

DD-WRT 

Very flexible firmware with tons of features, but bad 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 Router 

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 wrt54gl 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 as well, and it's 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.

Recommended WRT54GL Router on Amazon 

Yes, it runs Linux (and this is not a silly Slashdot joke).

Linksys-Cisco WRT54GL Wireless-G Broadband Router (Compatible with Linux)

Linksys WRT54GL (L standing for Linux) is a consistently top-rated 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.

Avg. Customer Rating: Amazon Rating

Amazon Price: Too low to display (as of 07/10/2009) Buy Now

Older WRT54G Versions on eBay 

WRT54G versions up to 5 are compatible with Linux firmware.

Loading Fetching new data from eBay now... please stand by
eBay

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.

Comments 

bedarda wrote...

Nice lens Chadrew, you really took the time to clear things up for me.

ReplyPosted January 21, 2009

Lensmaster

Andrew wrote

WRT54GL Tomato firmware still remains the best choice when you're looking for a cheap and powerful router. Of course if you have some more money to spare you might want to look at ASUS products.

Reply Posted January 01, 2009

Lensmaster

Very nice lens 5*s :)

ReplyPosted November 20, 2008

Chadrew wrote...

in reply to chefkeem
That's good to know :)
And thank you so much for the blessing!

ReplyPosted November 19, 2008

chefkeem wrote...

You know what's hilarious, Chadrew? I'm such a tech-dummy, so this didn't really occur to me, at first - I use one of these myself! Just checked, and yup - that's my router! I had it for about a year, or so, and it works great! :)

ReplyPosted November 19, 2008

chefkeem wrote...

I think you're doing a great job presenting your personal experience with this product. This is a great review lens and I gave it a hearty SquidAngel Blessing. :)

ReplyPosted November 19, 2008

Lensmaster

Trey wrote

Lens, nice synopsis. Very clean. Many Thanks.

Purchase T-Mobile wrt54 on e-bay where some industrious young soul with steady hands has soldered in a jtag connection and loaded dd-wrt mega release. Yes, it has toooo many features but if you want to run OpenVPN, the T-Mobile build has more memory than you can shake a stick at.

Reply Posted November 15, 2008

CPAbookeepers wrote...

Great Lens - really good information.

Thank You

ReplyPosted May 26, 2008

Tpico wrote...

Nice lens Chadrew, it has been really helpful to me.
Take care!

ReplyPosted April 29, 2008

poddys wrote...

Nice lens. I have one of these too - replaced another router that kept dropping the wireless connection. Everything I read about it is good. Nice detailed explanation about the different firmware options - makes it very clear.

ReplyPosted February 27, 2008

WRT54G Firmware News, Reviews & Opinions. 

Bloggers' opinion on various router firmware.

Wireless Client Mode File Sharring & xBox360 NAT HELP!!! - Tech ...
Linksys WRT54G - Firmware Version : v4.30.1, HyperWRT 2.1b1 +tofu13c. Router B - IP 192.168.1.199. Subnet 255.255.255.128. Gateway 192.168.1.199. DNS 192.168.1.199 *** router is set up as auto dhcp, local ip 1.199, sub 255.128, ...
WRT54G Firmware - Tomato | Zxian.org
I'm up way later than I should be, but who cares... this is just too cool... I found a new firmware for my WRT54GL router. It's created by the same guy who.
Stable firmware for WRT54g v7.00.1 - TechEnclave
Hi guys, Please suggest a good firmware for WRT54G Firmware Version: v7.00.1. The router behaves strangely, it automatically dials and remains.
wrt54g firmware | adrianlikins.com
I'm setting up an old linksys wrt54g router with an open firmware. It's currently got the latest version of <a.