All my geeky stuff ends up here. Mostly Unix-related

Tomato vs OpenWRT

with 11 comments

If you really are into home computing, you probably have one or more WRT54G-type routers hanging around, taking care of your home network. These tiny jewels do everything a Cisco router does and more for a fraction of the price. Interestingly, the company who initially produced these poor man’s Cisco boxes (Linksys) was later bought by Cisco. A better description can be found on e.g. Wikipedia: Wikipedia page about WRT54G

The key selling point for these boxes is that you can upgrade the native firmware to alternative versions produced by a vibrant community of Linux users. I tried several firmware versions: DD-WRT, HyperWRT, OpenWRT and finally Tomato. While DD-WRT and HyperWRT concentrate on providing a better firmware than the one initially distributed on the box, I found they tend to only touch on the surface of what can be achieved.

Out of all alternative firmwares, OpenWRT really stands out as the geek-favoured one. This firmware is actually a tiny Debian-like Linux distribution provided with a complete development environment, allowing you to port existing software or even program your own if you feel so inclined. It is pretty easy to run a Web server, a print server, mount external storage through sshfs or handle syslogs from all machines on the local network.

I run two of these boxes, one on each side of my house, distributing a WiFi signal everywhere I might want to connect something wirelessly. One box is the main router attached to my ISP’s Internet box, the other one is enslaved by WDS. Each of these has been used as host for various kinds of services in the past, mostly as toy servers for me to learn more about firewall rules, VLAN configurations, WiFi hotspot setting and related security issues. I have played with OpenWRT for a while, compiling all sorts of stuff and installing tons of new software at regular intervals. A great time-eater but the trip was worthwhile, I learned quite a few things about Linux networking by doing so.

Today these boxes have been obsoleted on my home network by MicroClient units. These tiny Linux boxes are much easier to program: they behave like regular PCs, run Debian directly and do not need specific porting skills or compilation environment. And they have their own hard disks or Compact Flash memory, in addition to USB support!

End of the road for WRT54G? Not at all. ‘Tomato’ was recommended to me as yet another alternative firmware and since I tried it I cannot get back to OpenWRT. Where the latter is rich in potential, Tomato is rich in achievements. If you want to setup a basic service with OpenWRT you have to skim through pages and pages of (well-written) documentation to understand all the details of what you are trying to do, then absorb all needed knowledge to configure that stuff, and then several full evenings of experimentation to get things straight. And even then performance might be poor or you may get into dark corners not covered by any documentation and then your only hope lies in some IRC channels. Nice but tiresome.

Tomato is the straight thing: it does not offer as many options as OpenWRT but everything it covers is user-friendly, works immediately as described, and does not need countless hours of painful experimentations. Overall network performance also seems to be better with Tomato but I did not try to benchmark the whole thing. Judging by what I have seen over the last two weeks, my bandwidth seems to have increased by 15-20% on average.

Relevant pages:

Written by nicolas314

Monday 9 June 2008 at 1:00 am

Posted in Unix

Tagged with , ,

11 Responses

Subscribe to comments with RSS.

  1. Very good article. Thanks!


    Tuesday 30 December 2008 at 11:21 pm

  2. Hi,

    When you say your ‘bandwidth’ has increased, do you mean WiFi bandwidth, or p2p bandwidth?


    Asfand Yar Qazi

    Thursday 1 January 2009 at 12:26 am

    • From what I can see my bandwidth has gone up from 800kByte/s to a little bit more than 1Mbyte/s since I changed firmware on the router. This is measured on downloading an ISO image directly from my ISP so bandwidth is supposed to be at a max. This is no scientific experiment though, your mileage may vary.


      Thursday 1 January 2009 at 3:02 am

  3. Thank you for the writing. I just tried Tomato as you suggested. It is really nice. Thank you.


    Wednesday 5 August 2009 at 3:41 pm

  4. I just tried tomato for the first time after years of openwrt use. I have to say it is really nice and easy but was wondering if you ever used X-WRT’s webif2 for openwrt as it makes things alot easier. all be playing with tomato a bit more before deciding which to use on my new asus router.


    Saturday 16 January 2010 at 4:17 am

    • Yes, I used openwrt through its web interface but in terms of quality Tomato is hard to beat! Give it a try and see by yourself. Cheers


      Saturday 16 January 2010 at 10:24 am

      • I’m not speaking of the default web interface but the one found at it’s alot more user freindly. But yes I agree tomato is the easiest and I am using it on my current routers. And the version floating around with USB support is very nice. Although if you do have a problem with tomato there isn’t as nice of a help community.


        Monday 18 January 2010 at 12:54 am

      • Yep, webif2 is the interface I used on openwrt. It has been a while though, it has probably evolved since then. Tomato’s heavy use of Ajax makes the interface look swift and responsive compared to webif2’s reload upon each change.
        Agreed: openwrt has more functionalities and better community support. On the other hand if all the functionalities you need are in tomato you do not really need support.
        One regret I have with Tomato: I would like to have several SSIDs on my router to offer a default non-protected access for guests and another one for my home network. This is apparently quite easy to setup on openwrt but not supported by Tomato today (Jan 2010).


        Monday 18 January 2010 at 4:00 pm

  5. Great article. I tried Tomato, but as usual, when things finally work, I want to make them better :-)

    So I’m running DD-WRT now and I have to say it works also quiet nice. I think I try OpenWRT later on, cause at this moment I still missing some features like a monitoring/span port.


    Monday 15 March 2010 at 9:58 pm

  6. With two AP’s on either side of the house have you figured a way to have your laptop/wifi phone handoff without dropping?

    I cant seem to cover my house with one AP so I would like to have more than one and enable handoff.


    Sunday 25 April 2010 at 6:57 am

    • Hi Greg:
      Seems highly dependent on the device you are using, but one thing for sure: both APs are within signal distance of each other so I never totally drop the signal. My iPod touch seems to handle the switch quite nicely but an Ubuntu laptop would not. Your mileage may vary :-)


      Monday 26 April 2010 at 2:22 am

Leave a Reply to Greg Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: