Q: I'm new to FreshTomato. Where should I start?
Q: Does FreshTomato support only old devices or newer ones too?
A: FreshTomato supports a variety of devices. See the Hardware compatibility page for more details. Keep a close eye on CPU speed, Ethernet port speed and WiFi speed.
Until recently, it was not possible to create new releases that support 802.11ax or newer WiFi standards. However, Broadcom recently released some details about their wireless drivers. As a result, FreshTomato developers are currently writing code to support the Asus TUF AX3000. Traditionally, Broadcom's wireless driver source code has been an industry secret.
Q: What is FreshTomato's default IP(v4) address and subnet mask?
Q: What are FreshTomato's default login credentials?
Q: What do those cryptic filenames mean? How do I choose the right build for my router?
A: The naming scheme for ARM-based models (with some exceptions) is roughly as follows:
|Build Name Term||Description|
|FreshTomato||The Tomato mod name. This is always FreshTomato, as currently it's the only fork in development.|
|Hardware model||Specifies the router or access point model number.|
|ARM/MIPS||Specifies the build is intended for devices with ARM or MIPS CPU architecture.|
|Wireless Driver (optional)|| NG - Indicates whether the New Generation Broadcom binary wireless driver is in the build.
Broadcom never released the driver source code, so developers rely on binary drivers.
Builds for newer hardware required the newer wireless driver and a newer software development
kit (SDK). These builds were called “NG” (“New Generation”) driver builds.
RT-N - indicates the build's driver supports 802.11n.
RT-AC - indicates the build's driver supports 802.11ac.
|Release name|| e.g. 2021.3 - indicates the third release in the year 2021.
It does NOT indicate the 3rd month of 2021!
|Build Type||e.g. (Mini / AIO / VPN) - indicates the features included in the build. See Feature matrix to learn more.|
|NVRAM size|| (32K / 64K / 128K) - Optional. For models with multiple hardware revisions
where each revision may include more or less NVRAM.
|NOSMP||(Optional) - This is a special build with single core CPU where SMP (Symmetric Multi Processing) is intentionally disabled.|
|Custom||(Optional) - identifies a build which includes or excludes a certain feature (set).|
|Reserved for future use|
|Reserved for future use|
For example, we can know the following features from the ARM build with filename:
For more help choosing a build, see the Installing Firmware-Basic Concepts and Procedures page in the HOWTOs section.
When browsing through firmware folders on the website, a subfolder named “K26” indicates that the build includes Linux kernel 2.6.x . These folders generally contain generic builds for MIPSR1 and MIPSR2 routers. Generally, only very old models (before 2010) use the MIPSR1 architecture. Most routers made after 2010 use MIPSR2 or ARM architectures.
The other subfolders such as K26RT-AC and K26RT-N contain dedicated builds, meant for specific router models. Unless you're experienced, It's recommended you install specific hardware builds. If no specific builds exist for your model, select a generic build in the K26 folder. Think carefully before deciding if it should be a MIPSR1 or MIPSR2 build.
If you have a Netgear R-series router with Netgear firmware installed, you must first flash with one of the “Netgear R-series initial” files. Once you have an R-series initial build installed, you can then upgrade FreshTomato to newer versions using regular build files. The initial .zip file contains a firmware file with a .chk file extension. The original Netgear firmware can use that file to install FreshTomato.
MD5SUM files are available in each website folder containing firmware. It's strongly recommended that you run a hash program against the .zip file of the build you downloaded. Then, compare the value in that program with the hash value listed for that build in the MD5SUM file. If the two don't match, your download is corrupt, and you shouldn't flash with that file or you could damage your router. Try downloading it again and performing the hash check again until the hashes match.
Q: How can I make temporary changes to FreshTomato's settings that aren't saved unless I want them to be?
A: In the Debugging menu, enable the “Avoid commiting to NVRAM” setting. If you don't want to keep the settings changes, just reboot FreshTomato and settings will return to what they were before you made them. If you later decide you want to save the changes, uncheck the Avoid performing an NVRAM commit button. This make experimentation fun and safe.
Another option while debugging is to make a backup configuration and then make your changes, if you decide you messed things up, just restore the backed-up configuration. NOTE that configuration backup files do not work across different releases of FreshTomato.
Q: What are some common device names used to represent router interfaces/components?
This can become a complex topic rather quickly. In general, there will be physical interfaces, such as “eth” and “wl”, and logical interfaces, like “br” and “vlan”. When using FreshTomato's VPN technologies, other interface names may appear. For example, a VPN interface might be named “tun11”, “tinc”, “ppp0”, or “wg0”.
Some structures, like additional SSIDs (Virtual Wireless) will create sub-interfaces. For this reason, it's common to see interfaces with periods in them. For example, wl0.2 would represent the second alias of the first WiFi radio.
Q: Where is FreshTomato System log file located? How are logs stored?
A: * The logfile is located in /var/log/messages.
If you happen to have specified a different path/filname under Custom Log File Path /var/log/message is still relevant but will be available in a form os symlink. The only exception occurs if you configure remote storage e.g. external syslog.
Unless a sort of permanent storage is configured /var/log/messages is stored in RAM hence unable to survive a device reboot.1)
Q: What is BusyBox?
A: BusyBox provides the Linux commands used in FreshTomato.
BusyBox combines tiny versions of many common UNIX/Linux utilities into a single small executable. It provides minimal replacements for most of the utilities you usually find in GNU coreutils, util-linux, etcetera. Generally, BusyBox utilities have fewer options than their full GNU equivalents. However, the options included provide the expected functionality and behave much like their GNU equivalents.
Q: The GUI is slow. Is this normal?
No. FreshTomato was specifically built for speed and simplicity. There are some very rare cases where the GUI might become slow/unresponsive. This is almost always related to browser issues.
If the GUI is completely unresponsive, log in via SSH (preferred) or telnet and verify:
Q: What are the “Netgear R-series initial files”?
If you have the Original Netgear firmware installed, you must use an initial build to install FreshTomato the first time. The initial zip files contain firmware with a “.chk” extension that a Netgear router can use to install FreshTomato.
After you've installed an initial build, you can upgrade to any appropriate FreshTomato version you wish. Regular build zip files contain firmware files with a .trx extension. For details on how to flash Netgear routers, see the Installing FreshTomato HOWTO.
Support for modem dongles in FreshTomato is a somewhat complex topic. However, here is some information to help you get your USB modem running.
FreshTomato has functions to automate the process of installing/configuring 3G/4G/5G connected USB modems. However, those functions are limited. One limitation is that generally, the FreshTomato build on your router must contain the the Plug and Play VendorID (VID) and DeviceID (PID) of your modem. If it's not included, the modem may not be detected or configured correctly.
First, check the 3G/4G/5G compatibility page to see if FreshTomato supports your modem. When possible, that page will contain the modem's Vendor ID and Device ID(s).
Next, in FreshTomato's USB Support menu, verify that USB support is enabled. Then, enable the 3G/4G USB modem support option in that same menu.
If you don't know the make/model of your modem, connect it to your router and ensure USB Support and 3G/4G USB mode support are enabled. Then log on to FreshTomato and use the lsusb command to check to if its output lists your modem's Vendor ID (make) and Product ID (model).
You should NOT enable a PIN on your modem's SIM card. Doing so may prevent it from working with FreshTomato.
Many USB modems have two modes of operation:
In modem mode, the device operates normally, and allows the host device to communicate with most modem functions.
In storage emulation mode, the modem emulates a storage device, like a CDROM or USB flash drive. This makes it easier to install drivers on PC operating systems, since drivers are right on the device.
However, FreshTomato already include USB modem drivers in the form of kernel modules. The modem, though, won't accept communication commands in storage mode. It must be switched to modem mode to accept commands.
Being in storage mode complicates things for earlier forks of Tomato. The modem would appear/behave like a storage device. In earlier forks or Tomato, the “media eject” command was used to force the device to switch to modem mode. However, it didn't always work.
Instead, FreshTomato includes switch4g switch4g . The switch4g Bash script switches modes on USB modems more reliably. If FreshTomato's kernel module contains the right VendorID and DeviceID for your modem, switch4g can usually issue the correct command to switch your modem into modem mode.
FreshTomato also uses the usb_modeswitch module for some functions. USB_modeswitch takes the important parameters from a configuration file and does all the initialization and other steps to set up communications.
For more advanced users, you can get detailed information about usb_modeswitch here: Draisberghof Software-usb_modeswitch
Some Huawei modems have two modes of operation: HiLink mode and Stick mode. Confusingly, two different “models” may use the same hardware, but different firmware. One modem's firmware includes HiLink mode, and the other's doesn't. HiLink models may have a HiLink logo on the device. Sometimes a modem can be (re)flashed with a firmware version that supports / doesn't support HiLink mode. A HiLink model can become a non-HiLink model and vice versa.
HiLink mode has the following characteristics:
Stick Mode presents the USB dongle to the host as a regular modem. When in stick mode, the host device to which the modem is connected (usually a PC) has to deal with all of the networking setup (PPP session, routing, and so on).
The term “Stick mode” could be confusing, since many refer to a flash drive as a “USB stick”. This might suggest the modem was in storage mode, when it's actually in modem mode.
Assuming there is no pin enabled, FreshTomato sets the modem_pin nvram variable to null, like this:
nvram set modem_pin= “”
If the card does have a PIN set, the variable must be set in nvram:
nvram set modem_pin= “1234”