tomato (firmware)

From Wikipedia, the free encyclopedia
(Redirected from Tomato Firmware)
Jump to navigation Jump to search
Tomato Firmware
Original authorJonathan Zarate
DeveloperTomato Project
Initial releaseDecember 2006; 19 years ago (2006-12)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    PlatformMIPS, ARM
    TypeRouting software
    LicenseFreeware
    Backend: GNU General Public License
    Frontend: proprietary[1]
    FreshTomato
    Repository
    • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Engine
      Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
      PlatformARM, MIPS

      Tomato is a family of community-developed, custom firmware for consumer-grade computer networking routers and gateways powered by Broadcom chipsets. The firmware has been continually forked and modded by multiple individuals and organizations, with the most up-to-date fork provided by the FreshTomato project.

      History

      [edit | edit source]

      Tomato was originally released by Jonathan Zarate in 2006, using the Linux kernel and drawing extensively on the code of HyperWRT. It was targeted at many popular routers of the time, most notably the older Linksys WRT54G series, Buffalo AirStation, Asus routers and Netgear WNR3500L.[2] His final release of the original Tomato firmware came in June 2010, by which point its popularity had grown large enough that development and support continued through the user community, resulting in a series of releases (dubbed "mods") by individual users or teams of them that continues to the present day.

      Fedor Kozhevnikov created a notable early mod he called TomatoUSB, which ceased development in November 2010.[3] It was then forked by other developers[4] and remains the nearest common ancestor to all of the forks with any recent activity. The project saw a boost in recognition when Tomato was chosen by Asus as the base used to build the firmware currently preinstalled on their entire line of home routers, ASUSWRT.[5][6]

      Currently, FreshTomato appears to be the only project that has seen active development and new releases.[7]

      Features

      [edit | edit source]

      Several notable features have been part of Tomato long enough to be common to all forks, among them are:

      • The graphical user interface (accessed via web browser), including:
        • Access to almost the entirety of the features provided by the hardware (manufacturers typically omit many of these from their firmware to prevent misuse and reduce support costs)
        • Extensive use of Ajax to display only the settings that are germane to the device's current setup, reducing confusion and keeping related options near each other using fewer pages/tabs
        • A CSS-based custom interface theming
        • SVG-based graphical bandwidth monitoring, showing total network inbound/outbound activity and that of each connected device through pie charts and line graphs that update in real-time
          Image of TomatoUSB settings page displaying live line graph of incoming and outgoing router bandwidth
          Tomato live bandwidth monitor
      • A personal web server (Nginx) that uses the device's "always on, always connected" design to allow users to host their own websites from home for free
      • Access and bandwidth restriction configurable for each device or the network as a whole, providing control over the speed and amount of traffic available at any time to any device
      • Unrestricted access to the internal system logs and the ability to store them for easier troubleshooting and security audits
      • CLI access (BusyBox) via the web-based interface, as well as via Telnet or SSH (using Dropbear)
      • Wake-on-LAN
      • Advanced QoS: 10 unique QoS classes defined, real-time graphs display prioritized traffic with traffic class details
      • Client bandwidth control via QoS classes
      • The Dnsmasq software built-in, which provides:
        • DHCP server (with static allocation of IP addresses)
        • Local DNS server (usually forwarding requests to the DNS provider of choice)
      • Wireless modes:
        • Access point (AP)
        • Wireless client station (STA)
        • Wireless Ethernet (WET) bridge
        • Wireless distribution system (WDS also known as wireless bridging)
        • Simultaneous AP and WDS (also known as wireless repeating)
      • Dynamic DNS service with ezUpdate and services extended for more providers
      • SES button control
      • JFFS2
      • SMB client
      • Wireless LAN Adjustment of radio transmit power, 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 and NAT-PMP
      • Init, shutdown, firewall, and WAN Up scripts
      • Uptime, load average, and free memory status
      • Minimal reboots – Very few configuration changes require a reboot
      • Wireless survey page to view other networks in your neighborhood
      • More comprehensive dashboard than stock firmware: displays signal strengths of wireless client devices, reveals UPnP mappings
      • Configuration persistence during a firmware upgrade

      Feature comparison

      [edit | edit source]
      Mod name Base
      version
      Mod
      version
      Latest
      release
      5 GHz
      (802.11
      a/n/ac/ax)
      IPv6 USB
      support
      Memory card
      support
      VPN
      protocols[a]
      SFTP Virtual LANs
      TomatoVPN
      (SgtPepperKSU)[8]
      1.27[b] 1.27vpn3.6 Jan 2010 No No No No OpenVPN No No
      Tomato 1.28[c] 1.28 Jun 2010 No No No No No No No
      Tomato ND 1.28[d] No No No No No No No
      SpeedMod
      (hardc0re)
      1.28[b] 120 Jul 2010 No No No No No No No
      TomatoUSB
      (Teddy Bear)[9]
      1.28[d] Build 54 Nov 2010 Yes Yes Printer sharing,
      NAS (CIFS/FTP),
      DLNA server
      No OpenVPN Via
      Optware
      Yes
      slodki 1.28[d] 1.28.02 Feb 2011 No No Printer sharing,
      NAS (CIFS/FTP)
      SD,
      SDHC,
      MMC
      OpenVPN Via
      Optware
      No
      DualWAN[10] 1.28[b] 1.28.0542 Jan 2012 No Yes Printer sharing,
      NAS (CIFS/FTP),
      DLNA server,
      3G Modem
      No OpenVPN,
      PPTP
      Via
      Optware
      Yes
      Teaman[11] 1.28[d] v0025 Jun 2012 Yes Yes Printer sharing,
      NAS (CIFS/FTP),
      3G Modem
      SD,
      SDHC,
      MMC
      OpenVPN,
      PPTP (server)
      Via
      Optware
      With GUI
      EasyTomato[12] 1.28[b] 0.8 Jun 2013 Yes Yes Printer sharing,
      NAS (CIFS/NFSv3/FTP),
      DLNA server,
      3G Modem
      SD,
      SDHC,
      MMC
      OpenVPN,
      PPTP
      Via
      Optware
      With GUI
      Victek RAF[13] 1.28[b] 1.28.9013 R1.3 Jul 2014 Yes Yes Printer sharing,
      NAS (CIFS/NFSv3/FTP),
      DLNA server,
      3G Modem
      SD,
      SDHC,
      MMC
      OpenVPN,
      PPTP
      Via
      Optware
      With GUI
      Toastman[14] 1.28[b] RT: 1.28.7511.5
      RT‑N: 1.28.0511.5
      ARM: 1.28.9008.8
      Jan 2017 Yes Yes Printer sharing,
      NAS (CIFS/NFSv3/FTP),
      DLNA server,
      3G Modem
      SD,
      SDHC,
      MMC
      OpenVPN,
      PPTP
      Via Entware-ng
      or
      Optware-ng
      With GUI
      Shibby 1.28[b] v140‑MultiWAN May 2017 Yes Yes Printer sharing,
      NAS (CIFS/NFSv3/FTP),
      DLNA server,
      3G/LTE Modem,
      UPS monitoring
      SD,
      SDHC,
      SDXC,
      MMC
      OpenVPN, PPTP,
      L2TP (client),
      tinc (server)
      Via Entware
      or
      Optware-ng
      With GUI
      AdvancedTomato V2 1.28[b] 3.5-140 Nov 2017 Yes Yes Printer sharing,
      NAS (CIFS/NFSv3/FTP),
      DLNA server,
      3G/LTE Modem
      and UPS monitoring
      SD,
      SDHC,
      SDXC,
      MMC
      OpenVPN, PPTP,
      L2TP (client),
      tinc (server)
      Via Entware
      or
      Optware-ng
      With GUI
      FreshTomato‑ARM
      and
      FreshTomato‑MIPS
      1.28[b] [15] Jun 2026 Yes Yes Printer sharing,
      NAS (SMB2/NFSv4/FTP),
      DLNA server,
      3G/LTE Modem
      and UPS monitoring
      SD,
      SDHC,
      SDXC,
      MMC
      OpenVPN, PPTP,
      L2TP (client),
      tinc (server)
      Via Entware
      or
      Optware-ng
      With GUI
      Mod name Base
      version
      Mod
      version
      Latest
      release
      5 GHz
      (802.11
      a/n/ac/ax)
      IPv6 USB
      support
      Memory card
      support
      VPN
      protocols
      SFTP Virtual LANs

      Feature comparison (cont.)

      [edit | edit source]
      Name
      Static ARP
      Bandwidth limiter
      NFS server
      BitTorrent client
      Guest WiFi
      PPPoE server
      Tor client
      Multi-WAN
      Siproxd VoIP
      LED control
      Theming [16]
      Per-IP traffic stats
      TomatoVPN
      (SgtPepperKSU)
      No No No No No No No No No No No No No No No No No No No
      Tomato No No No No No No No No No No No No No No No No No No No
      Tomato ND No No No No No No No No No No No No No No No No No No No
      SpeedMod
      (hardc0re)
      No No No No No No No No No No No No No No No No No No No
      TomatoUSB
      (Teddy Bear)
      No No No No No No No No No No No No No No No No No Yes No
      slodki No No No No No No No No No No No No No No No No No No No
      DualWAN Yes Yes No Yes No Yes No No No No Yes No No No No No Yes Yes Yes
      Teaman Yes Yes No No With
      GUI
      No No No No No No No No No No No Yes Yes Yes
      EasyTomato Yes Yes Version 3 No With
      GUI
      No No No No No No No No No No No Yes Yes Yes
      Victek RAF Yes VLAN Version 3 No With
      GUI
      No With
      GUI
      With
      GUI
      No No No With
      GUI
      With
      GUI
      by script No No Yes Yes Yes
      Toastman Yes Yes Version 3 No With
      GUI
      No No With
      GUI
      No No No No No No No No Yes Yes Yes
      Shibby Yes VLAN Version 3
      (with GUI)
      With
      GUI
      With
      GUI
      No With
      GUI
      Yes With
      GUI
      Yes Yes No Yes Yes Yes by script Yes Yes Yes
      AdvancedTomato V2 Yes VLAN Version 3
      (with GUI)
      With
      GUI
      With
      GUI
      No With
      GUI
      Yes With
      GUI
      Yes Yes No Yes Yes Yes by script Yes Yes Yes
      FreshTomato‑ARM
      and
      FreshTomato‑MIPS
      Yes VLAN Version 4
      (with GUI)
      With
      GUI
      With
      GUI
      No With
      GUI
      Yes With
      GUI
      Yes Yes No Yes Yes Yes by script Yes Yes Yes
      Name
      Static ARP
      Bandwidth limiter
      NFS server
      BitTorrent client
      Guest WiFi
      PPPoE server
      Tor client
      Multi-WAN
      Siproxd VoIP
      LED control
      Theming [16]
      Per-IP traffic stats
      1. ^ Firmware supports listed protocols in client and server modes unless specified
      2. ^ a b c d e f g h i Tomato standard and ND
      3. ^ Tomato standard only
      4. ^ a b c d Tomato ND (New Driver) only

      See also

      [edit | edit source]

      Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

      References

      [edit | edit source]
      1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      4. ^ List of Tomato Mods on the TomatoUSB website
      5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      8. ^ TomatoVPN official website
      9. ^ TomatoUSB Mod (Teddy Bear) Home page.
      10. ^ DualWAN Mod Home page.
      11. ^ Teaman Mod Home page. Augusto Bott is the author of the VLANs GUI, Per-IP Traffic Stats (author of cstats, which keeps per-IP data/track/history), Client Monitor Graphs (author of IPTraffic) and author of the Guest SSID GUI.
      12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      13. ^ Victek RAF Mod Home page
      14. ^ Toastman Mod Home page. Tomato builds with many useful added features. Lean, stable, and fast with minimal bells and whistles, with a focus on QoS and Administration. Based on TomatoUSB and RT (selected features included from other firmware, plus new mods).
      15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      16. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
      [edit | edit source]