Pimp my router! Linksys WRT54GL on steroids… or at least on Tomato

I while ago I got my hands on a Linksys WRT54GL broadband router. This little fellow runs on Linux. Nice, I thought. After fiddling around with it for a while I found that the firmware had bugs.

Linksys WRT54GLI added timed access restrictions (to cut off my teenagers Internet access automatically in the evening). This worked fine until I added another rule that had nothing to do with the first and suddenly my teenagers had Internet access all night long. I also want an incoming VPN connection (PPTP) that I forward by using port forward. This worked fine for a week and of course, it stopped working when I was abroad and needed it the most. Apart from that, there is no telnet or ssh login to the router (it is running on Linux you know).

Ok, well, checking Linksys support web I found that it wasn’t running the latest firmware so I downloaded it and upgraded the router. The latest firmware was dated in 2008 so I figured Linksys had ironed out all the bugs and no further updates were needed. I should have gotten suspicious here. How wrong could I be? 🙂 The upgrade did not fix my problem and was even worse since there now was a bug in the GUI when setting up single port forwards.

After a resultless effort to talk to Linksys chat support, that made me question that there actually is not a human being in the other end, but a robot, I started to read forums. Soon it seemed clear that the open source solutions are more stable. Several of Linksys bugs has been fixed and they have more features. My choice fell on Tomato because of the many recommendations and that it had a bunch of features that I needed.

The upgrade process is like doing a normal firmware upgrade, but instead you select the Tomate firmware file. Make sure you select the correct one and do check that your router (including hardware version) is supported. Otherwise there is a risk that the upgrade will brick your router. My upgrade went smooth and was done in a couple of minutes.

The Tomato firmware used my current configuration from the previous Linksys firmware so I just had to step through and check all settings. With the Linksys original firmware no username is used when logging in to the router. With Tomato you should login using “admin” or “root” with the same password as with the original firmware.

Tomato bandwidth monitor

Click the screenshot to enlarge it.

With Tomato you get access to a number of technical parameters and tools that are hidden in the original firmware or just not implemented. For example you get wireless survey to help you choose a good channel and you can boost the wireless output power up to 251 mW from the standard 42 mW. This will give you better wireless coverage but might be illegal in your country 😉 However, there are information about  setting power above 84 mW will distort the signal and burn your hardware (shorten the life of the components). I don’t have a spectrum analyzer to verify this so playing it safe I set my router to 80 mW. If you need wider range get antennas with higher gain.

You will also get a tool to monitor bandwidth, better QoS and last but not least, the Tomato firmware is much less buggier than the Linksys original. A guide how to configure the QoS in Tomato is found on Mark Wagner’s Yet Another Blog.

To read more about Tomato and download it go to http://www.polarcloud.com/tomato.

2 replies
  1. Paulo
    Paulo says:

    Hi, i did read you post, and it’s not clear if you got pptp pass thru working on tomato. If you did it, could you please explain how, because i’m not getting it to work 🙁 ?
    Best regards.

  2. Stefan Helander
    Stefan Helander says:


    Yes it works like a charm.

    The computer that will handle incoming PPTP connections is setup with a static IP-adress. Then I just configure a Port forward -> Basic of port 1723 to that IP-address. Then under Advanced -> Conntrack/Netfilter under Tracking / NAT-helpers check the GRE / PPTP box. That did it for me. If you have a software firewall on the computer handling the incoming PPTP, make sure it is also letting the VPN traffic through.


Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published.

2 × 5 =