Tomato vs OpenWRT

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:

4 Responses to “Tomato vs OpenWRT”

  1. Vladimir Says:

    Very good article. Thanks!

  2. Asfand Yar Qazi Says:

    Hi,

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

    Thanks

    • nicolas314 Says:

      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.

  3. jetzhu Says:

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

Leave a Reply