I previously detailed my purchase of the Asus RT-N16 router, on which I put DDWRT. At the time, that seemed like the right choice, but recently I have had reason to switch to Tomato. For a loving touch, I did it on Valentine’s night. How sweet.
Both firmwares offer a Linux-based open-source alternatives to the stock firmware which comes with a router, and which usually sucks. I originally went with DD-WRT, and for a while it seemed to work. Then, I started trying to configure VO/IP software, and started running into problems with SIP routing. I tried both Asterisk and Freeswitch, eventually settling on the latter. At this stage it didn’t matter though, as neither worked. I could make calls internally, but as soon as someone tried accessing from the outside it failed.
We banged our collective heads against a firewall until Bec the Tech read reviews on NewEgg which recommended Tomato. Sure enough, development seems to have fragmented with DD-WRT, especially when it comes to my specific router. Bec almost returned her router after installing dd-wrt, because it kept locking her out, not letting her enter an admin password. The web interface also acted very slowly and kept crashing with Firefox and Window-Eyes. She had much better luck with Tomato, and showed me the interface, which I liked even more, especially the port forwarding. It works spectacularly with Safari and VoiceOver on the Mac as well, which I use. I wondered if it would fix my SIP issues. No matter what, I would at least get a better interface. I decided to go for it.
I found very straightforward instructions for Linux. They seemed very doable. It took me a few times, but eventually I got it working just with tftp. Pretty nifty. I then switched back to Safari on my Mac for the web work. As said, the interface behaves wonderfully. I did find two unlabeled fields, but quickly figured out that they contain dns servers. A blind person who knows their way around a router could figure that out, though they should label the field. Other than that little thing, I’ve felt very satisfied. The countdown timer even works well, a neat effect to see it updating a timer while the router reboots.
After getting it configured the time came for the real test. I entered in all the SIP ports in the forwarding table, a very easy task by the way, the best port forwarding interface I’ve used. I tried calling internally. It worked. Then Bec tried calling. We could hear each other! It worked!
I did notice one thing, and I wonder if it has always happened and I just noticed it now while testing. It seems that my cordless phone interferes with my wireless network. When I use my iPhone and pick up my cordless, the iPhone switches to 3G. I found this out accidentally, but it makes sense. I tried switching channels but to no avail. I even tried Tomato’s cool channel scanner with the cordless phone active at several ranges. Nothing seems to make a difference. At first I wondered about Tomato, but now I kind of wonder if it just always happened and I only noticed now. I’ll let you all know when I know more.
So in summary, if you use DD-WRT and have started noticing weird routing problems, switch to Tomato. Don’t bang your head against a firewall for nothing. You still get all of the Linux goodness, and a cleaner interface. The development also seems more centralized and stable. As Bec said, “I trust teddybears more than crazy Russians.”