Tomato firmware
Tomato is free open source Linux-based firmware for several Broadcom-based Wi-Fi routers,
including the Linksys WRT54G. The major emphasis of Tomato is on
stability, speed and efficiency. It is maintained by Jonathan Zarate,
who also developed HyperWRT +tofu; The official website is located here.
Tomato is notable for its web-based user interface that includes several types of bandwidth usage charts, advanced QoS access restriction features , raised connection limits which enables P2P networking, and support for 125 High Speed Mode (marketed by Linksys as "SpeedBooster").
Features- Dynamic interactive GUI using Ajax (a technique for creating interactive web pages that update without reloading), SVG (scalable vector graphics that provide quality graphics within a browser) and CSS-based color schemes (allowing you to change the look and feel of the router configuration screens).
- CLI (using BusyBox) with access via TELNET or SSH (using Dropbear)
- DHCP server (using Dnsmasq) with dynamic and static DHCP leases
- DNS forwarder (using Dnsmasq) with local hostnames, local domain names, and caching of internet addresses
- Netfilter/iptables with customizable settings, IPP2P and l7-filter
- Wake-on-LAN
- Advanced QoS: 10 unique QoS classes defined, real-time pie graph display of prioritized traffic with drilldown into class details
- Bandwidth graphing/statistics: real-time, last 5 hours, daily, monthly
- Wireless modes: access point (AP), wireless client station (STA), wireless ethernet (WET) bridge, wireless distribution system (WDS aka wireless bridging), simultaneous AP and WDS (aka wireless repeating)
- Dynamic DNS service with ezUpdate and services extended for more providers
- Syslog viewable through the GUI (also downloadable)
- SES button control
- JFFS2
- CIFS client
- Adjustment of transmit power of wireless LAN, antenna selection, and 14 wireless channels
- 'Boot wait' protection (increase the time slot for uploading firmware via the boot loader)
- Advanced port forwarding, redirection, and triggering with UPnP page to view and delete UPnP forwarded port mappings
- Advanced access restrictions
- Init, Shutdown, Firewall, and WAN Up scripts
- Uptime, load average, and free memory status
- Reboot ability, although almost no configuration changes require a reboot
- Wireless survey page to view other networks in your neighborhood
- Known bugs in Broadcom-based Linksys firmware fixed
Before the Upgrade
- The GUI relies heavily on JavaScript to generate the content and XMLHTTP (AJAX) to update it. Be careful if you need to use this from an older/minimal browser since it was not designed to downgrade gracefully. This has been tested only on Firefox v1/2, Opera v9 and IE v6/7.
- Do all upgrades through a wired LAN cable (i.e. NOT wirelessly). Caveat: It is possible to upgrade the firmware wirelessly, however, the transmission may be corrupted with a running microwave oven or ringing cell phone.
- The GUI username is "admin" or "root" (username is required), ssh and telnet username is always "root", and the default password is "admin".
- By default, the SES/AOSS button is programmed to start a password-less telnet daemon at port 233 if held for 20+ seconds. If you run into a problem of not being able to login, you can use this to view ("nvram get http_passwd") or reset ("nvram set http_passwd=newpassword") the password. You can disable this behavior in Admin/Buttons. Remember to reboot the router after retrieving your password to close the backdoor.
- If you're upgrading from DD-WRT v23 SP2+, be aware that you may get
locked-out because of a change in DD-WRT's use of the nvram password
key. You have a few options:
- Push the reset button to reset all the configuration after installing Tomato.
- Use the SES/AOSS button as described above.
- Log in with telnet* and type "nvram get http_passwd" while running DD-WRT and write down the result - this will be your password after loading Tomato. (*the telnet login name is always 'root' even if you have changed the user name in the DD-WRT web interface).
- Gcode.bin is for WRT54G v1-4 and WRT54GL v1, GScode.bin is for WRT54GS v1-3, GSv4code.bin is for WRT54GS v4, and TRXcode.trx is for the WHR-G54S/ WHR-HP-G54S. If you're just upgrading an existing Tomato firmware from the GUI, any of these will work.
Installing on a Linksys WRT54G, WRT54GL or WRT54GS
- Unarchive the 7z package you downloaded.
- Open the Linksys GUI in your browser. The default URL is http://192.168.1.1/. The default credentials are username: {blank}, password: admin
- Click the Administration tab, then Firmware Upgrade.
- Select and upload the correct firmware for your router.
- Wait for about 2 minutes while the firmware is uploaded & flashed.
- Log in to the router, and reset factory defaults (under Administration/Configuration/Restore Default Configuration, select the Erase all data in NVRAM Memory (thorough) option and click OK. Router will restart again, and the factory default login is "root" with a password of "admin". If you have a password set with the old Linksys firmware, try using that password before a manual reset if you encounter any problems logging into Tomato GUI.
Installing on a Buffalo WHR-G54S/WHR-HP-G54S in Windows (from DD-WRT)
- You can use the DD-WRT web interface to flash to the Tomato firmware.
- First, obtain the password for the router. Telnet to the router. Assuming your router can be found at 192.168.1.1, you'd type "telnet 192.168.1.1" at a command prompt to login to the router. Type "nvram get http_passwd". Make note of this password for later use.
- Download the Tomato firmware and extract it. In the "trx" subfolder, rename the file code.trx to code.bin. (DD-WRT does not recognize the .trx file extension as firmware.)
- Update the firmware via the DD-WRT web interface. The Tomato firmware is now installed.
- Access the Tomato web interface and browse to Administration > Configuration > Restore Default Configuration. Then select "Erase all data in NVRAM memory (thorough)" and click OK.
- Please note that the instructions for flashing the firmware via the web interface will only work once you've installed DD-WRT (or perhaps another 3rd party firmware).
Upgrading The Firmware
- Open the GUI in your browser. The default URL is http://192.168.1.1/
- Click Administration, then Upgrade.
- Select any of the files and click the Upgrade button.
- Wait for about 2 minutes while the firmware is uploaded & flashed.
- According to the author, it is not necessary to reset the configuration if you are upgrading from a previous version of Tomato Firmware. If you are upgrading from another firmware, however, a reset is recommended (Tomato's FAQ). Log in to the router, and reset factory defaults (under Administration/Configuration/Restore Default Configuration, select the Erase all data in NVRAM (thorough) option and click OK. The router will restart. The factory default login is "admin" with a password of "admin".
Comments
No comments yet. Be first!