Being connected in the internet nowadays is a must. Before, only desktop computers are able to be connected to the world wide web via bulky tangled ethernet cables. Everything had changed today as connectivity become wireless. More portable devices are being manufactured in bulk to supply the needs of millions of people that is now preferring mobile wireless connectivity. With these scenario, WiFi (wireless fidelity) and routers made a great part to made this possible. In this article, we will talk about one of the best open source firmware for WiFi routers.
Tomato Tutorial Series
This is the first installment of the series about Tomato Firmware.
- TomatoUSB Powerful WiFi Router at a Cheap Cost
- Tomato Router Wireless Repeater (Ethernet Bridge) Mode
- Create a Guest Wireless Network in Tomato (Isolated Guest WiFi)
TomatoUSB Firmware
Tomato USB is an alternative Linux-based firmware for powering Broadcom-based ethernet routers. It is a modification of the famous Tomato firmware, with additional built-in support for USB port, wireless-N mode support, support for several newer router models, and various enhancements (Know more: TomatoUSB). It is partially based on HyperWRT.
This firmware is a very powerful one that you got a premium control on every settings your router is capable of. Since the first release of Jonathan Zarate in 2008, the firmware is continually being improve and the most notable developer that maintains the firmware is Shibby. Toastman, Teaman, Victek and many others have their own versions too. Most of the time, the new features can be found on Shibby’s mod since he’s the one that is really active on developing the code.
Features
Some of the features of TomatoUSB are:
- Bandwidth monitoring
- Advanced QoS/BW Limiter (QoS Limit)
- Access control
- Enabled SSH/Telnet protocols
- Configurable buttons and LED’s
- Support for many wireless modes (B/G/N)
- Built-in openVPN server/client
- Printer Server /Network Attached Storage
- Samba/FTP/miniDLNA server
- Support for SD/MMC/SDHC (for devices with SD-MOD)
- Torrent Client/Downloader
- 3G/4G LTE modem sharing
- Captive portal
- and many more.
There are too many full packed features of TomatoUSB to be completely listed – needs a full long page to enumerate them all. You can have a super router without spending thousands of pesos.
Compatibility
It is worth noting that TomatoUSB can only run on Broadcom routers. For supported routers and compatibility, check Tomato by Shibby Router List. Not all supported routers are included in this list. However, you can easily know if your router is compatible by checking the features of a router in the list and compare it to your router. If most of the features are the same with the router you have, a greater chance that TomatoUSB can run on your router.
For example, I have a CDR King CW-5358U router (Catch Tec 5358U). It is equipped with a BCM5357 Broadcom chipset with 32MB RAM, 500mhz CPU and 8MB flash memory. Checking on the list, the specifications is almost the same with the Asus N10U router, except for the CPU frequency. The N12B1 has the same hardware but it lacks a USB port. On the other hand, while the N10U has a lower CPU frequency, it has the exact chipset with the CW5358U. Basically, the firmware of N10U should run well on my router. You can also check devices that run on the same chipset with WikiDevi. WikiDevi has a complete list for known routers that run a specific chipset. Another listing can be found in the DD-WRT website: Supported Devices. DD-WRT is an another router firmware but not all Broadcom routers support it. My 5358U, given that it has almost the same hardware with the N10U, can’t run DD-WRT. It can be installed and WiFi works but there’s no way to access the WiFi gateway to change settings – it is useless in my router.
Recommended Reading: Tomato Router Wireless Repeater (Ethernet Bridge) Mode
Router Compatibility Guide
Model | CPU Type | CPU Freq | LAN | Flash/RAM | Version | Notes |
Asus RT-N10 A1 | R2 | 300 | 100 Mbps | 4/16MB | K26 | Only build52 and earlier! B1/C1 are not supported |
Asus RT-N10P | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | v114 and newer |
Asus RT-N10U A1/B1/C1 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | |
Asus RT-N12 | R2 | 300 | 100 Mbps | 4/32MB | K26 | |
Asus RT-N12 B1/C1/D1 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | |
Asus RT-N15U | R2 | 500 | 1 Gbps | 8/64MB | K26RT-N | |
Asus RT-N16 | R2 | 480 | 1 Gbps | 32/128MB | K26 or K26RT-N | |
Asus RT-N18U | ARM | 800 | 1 Gbps | 128/256MB | K26ARM | v121 or newer |
Asus RT-N53 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | A1 supported from V114 |
Asus RT-N66U A1/B1 | R2 | 600 | 1 Gbps | 32/256MB | K26RT-N or K26RT-AC | |
Asus RT-AC56U | ARM | 2x 800 | 1 Gbps | 128/256MB | K26ARM | |
Asus RT-AC66U | R2 | 600 | 1 Gbps | 128/256MB | K26RT-AC | |
Asus RT-AC68U/R | ARM | 2x 800 | 1 Gbps | 128/256MB | K26ARM | |
Asus WL-330gE | R1 | 240 | 100 Mbps | 4/16MB | K24 or K26 | v102 or newer |
Asus WL500GP v1/v2 | R1 | 240 | 100 Mbps | 8/32MB | K24 or K26 | |
Asus WL500W | R1 | 264 | 100 Mbps | 8/32MB | K24 or K26 | |
Asus WL520GU | R1 | 240 | 100 Mbps | 4/16MB | K24 or K26 | |
Buffalo WHR-G54S | R1 | 200 | 100 Mbps | 4/16MB | K24 or K26 | |
Buffalo WHR-G125 | R1 | 240 | 100 Mbps | 4/16MB | K24 or K26 | |
Buffalo WHR-HP-G54 | R1 | 200 | 100 Mbps | 4/16MB | K24 or K26 | |
Cisco M10 v2 | R2 | ? | 100 Mbps | 4/32MB | K26RT-N | |
D-Link DIR-320 | R1 | 240 | 100 Mbps | 4/32MB | K24 or K26 | |
D-Link DIR-620 C1 | R2 | 530 | 100 Mbps | 8/64MB | K26RT-N | v114 or newer |
Fiboom HG320 | R2 | 533 | 100 Mbps | 16/256MB | K26RT-N | v110 or newer |
Linksys E800 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | Same as E900, Use v114 or newer |
Linksys E900 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | |
Linksys E1000 v1 | R2 | 300 | 100 Mbps | 4/32MB | K26 | |
Linksys E1000 v2.0/v2.1 | R2 | 300 | 100 Mbps | 4/32MB | K26RT-N | |
Linksys E1200 v1 | R2 | 300 | 100 Mbps | 4/32MB | K26RT-N | |
Linksys E1500 | R2 | 300 | 100 Mbps | 8/32MB | K26RT-N | |
Linksys E1550 | R2 | 300 | 100 Mbps | 16/64MB | K26RT-N | |
Linksys E2000 | R2 | 354 | 1 Gbps | 8/32MB | K26 | |
Linksys E2500 | R2 | 300 | 100 Mbps | 8/64MB | K26RT-N | |
Linksys E3000 | R2 | 480 | 1 Gbps | 8/64MB | K26 | |
Linksys E3200 | R2 | 500 | 1 Gbps | 16/64MB | K26RT-N | |
Linksys E4200 (v1) | R2 | 480 | 1 Gbps | 16/64MB | K26RT-N | V2 is not supported! |
Linksys WRT160N v1 | R1 | 266 | 100 Mbps | 4/32MB | K24 or K26 | |
Linksys WRT160N v3 | R2 | 300 | 100 Mbps | 4/32MB | K26 | |
Linksys WRT300N v1 | R1 | 264 | 100 Mbps | 4/32MB | K24 or K26 | |
Linksys WRT310N v1 | R1 | 300 | 1 Gbps | 4/32MB | K24 or K26 | |
Linksys WRT310N v2 | R2 | 300 | 1 Gbps | 4/32MB | K26 | same as WRT160N v3 |
Linksys WRT320N | R2 | 354 | 1 Gbps | 8/32MB | K26 | |
Linksys WRT54G/GL/GS v1-v4 | R1 | 200-240 | 100 Mbps | 4-8/32-64MB | K24 or K26 | |
Linksys WRT610N v2 | R2 | 480 | 1 Gbps | 8/64MB | K26 | |
Linksys WRTSL54GS | R1 | 266 | 100 Mbps | 8/32MB | K24 or K26 | |
Netgear WNR2000 v2 | R2 | 300 | 100 Mbps | 4/32MB | K26 | |
Netgear WNR3500L (v1) | R2 | 453 | 1 Gbps | 8/64 MB | K26 | |
Netgear WNR3500L v2 | R2 | 500 | 1 Gbps | 128/128 MB | K26RT-N | |
Netgear WNR3500 v2/U | R2 | 453 | 1 Gbps | 4/32 MB | K26 | |
Netgear R7000 | ARM | 2x 1000 | 1 Gbps | 128/256MB | K26ARM | |
Ovislink WL1600GL | R1 | 240 | 100 Mbps | 4/16MB | K24 or K26 | |
Tenda N6 | R2 | 300 | 100 Mbps | 8/64MB | K26RT-N | |
Tenda N60 | R2 | 500 | 1 Gbps | 8/64MB | K26RT-N | |
Tenda W1800R | R2 | 600 | 1 Gbps | 16/256MB | K26RT-AC | |
ZTE ZXV10 H618B | R1 | 240 | 100 Mbps | 16/32MB | K26 | |
ZTE H218N | R2 | 500 | 1 Gbps | 16/64MB | K26RT-N | v110 or newer |
Source: Tomato by Shibby
Choosing the Right Firmware
Know the Images Naming. Another thing to check before downloading a firmware and possibly installing it in your own WiFi router is the sequencing and naming of images for each supported router. Installing an incompatible firmware will brick your router. That will be a disaster if you do not know how to unbrick it. Luckily, many tutorials can be found online on how to troubleshoot this kind of problem.
For firmwares released by Shibby:
Images Naming Codes. In the case of my router, CatchTec CW5358U, I should look for the K26USB-1.28-RT-N-MIPSR2 branch. K26 stands for the Linux kernel where the whole Tomato firmware was made from. Choose a branch with the USB prefix if your router has a USB port. My router has the same specifications with the ASUS N10U router which is on the RT-N branch. MIPSR2 is for the version or generation of the router’s processor. It is just like 32-bit and 64-bit in Windows OS. My router has the newer architecture, MIPSR2. The next digits are simply the version of the firmware. Look for the latest stable version. AIO stands for All-in-One. Do take note that only high price routers support this type of firmware since it requires large flash memory. In my case, my router has 8MB of flash memory so I should choose a firmware file that has 8MB size or below.
Download your TomatoUSB Firmware here: Shibby Download Page.
Installing the TomatoUSB Firmware
I can’t provide general instructions regarding the installation since every manufacturer have it in different way. CW 5358U has TomatoUSB pre-installed. So, it is very simple to install the firmware by the upgrade tool.
Refer to the user manual supplied by the manufacturer or search online for methods of upgrading or changing the firmware. Most of the time, the procedure is brand and model specific.
Once you had finished the installation, you are now ready to configure your router to make it even powerful. For Shibby builds, notifications for latest firmware releases can be found on the router’s gateway page. The default gateway of TomatoUSB is 192.168.1.1. Username and Password: admin
Shall you have any questions, feel free to ask using the comment section below.
This post is the first part of the TomatoUSB Tutorial series.