Site Tools


faq

Frequently Asked Questions

Starting out

Q: I'm new to FreshTomato. Where should I start?


  • You're in the right place.
  • Go the Hardware compatibility page and verify check whether your device is supported by FreshTomato. Read the HW revision column and the notes column.
  • Overall, the installation process is relatively safe. Depending on your hardware, there are recovery procedures to try if things don't go as planned. However, please know that you are fully responsible for any risks involved in upgrading your device to FreshTomato.
  • You need to have an Ethernet connection between your client device and a LAN port on the router.
  • Read and follow the Installing FreshTomato section. This will guide you through all the steps needed to install FreshTomato.
  • There is a lot of information on this wiki. Not all of it is where you might expect to find it. Take a good look around.

Device Support

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.

Default Login Credentials / IP Address


Q: What is FreshTomato's default IP(v4) address and subnet mask?


  • Default IPv4 address: 192.168.1.1
  • Netmask: 255.255.255.0


Q: What are FreshTomato's default login credentials?


  • Username: root
  • Password: admin

How Do I Choose a Build? (build naming scheme)

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:

freshtomato-RT-AC3200-ARM-2021.3-AIO-128K.zip_no_media_server

  • Fork name: FreshTomato.
  • Hardware Model: For the Asus RT-AC3200 router.
  • ARM: (for models with an ARM architecture).
  • Release name: 2021.3 (The third release of 2021. NOT the third month).
  • Build features: AIO (All-in-one). The build includes all features.
  • NVRAM size: 128K (this is optional but indicates the NVRAM size of the routers, 128K in this case).
  • no_media_server: The build doesn't include the Media Server.

Which Build Folders should I Look In for the Right Builds?

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.


How Can I Check the Integrity of my Downloaded Build File?

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.

How Can I Experiment with Temporary Settings?

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.

Device Name Defaults

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”.

  • ethX: is a physical interface. It can be used to represent Ethernet of WiFi interfaces.
  • wlX: identifies a physical wireless interface. It is often associated with an eth reference.
  • brX: is a logical interface. It bridges together two physical interfaces.
  • vlanX: identifies a VLAN (a logical separation).
  • tunXX: is an OpenVPN interface. (for example, tun13 = client3, tun21 = server1)
  • tinc: is a logical tunnel interface used by tinc VPN technology.
  • wg0: is an interface used by Wireguard.

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.

Log Location Default

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)

BusyBox

Q: What is BusyBox?


A: BusyBox provides the Linux commands used in FreshTomato.

(See https://busybox.net/)

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.

Read more at: https://www.commandlinux.com/man-page/man1/busybox.1.html

The Web Interface (GUI) is Slow or not Responding

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.

  1. First, try to clear the browser cache either manually via the browser setting or reloading the page using CTRL-F5 on the keyboard.
  2. Try a different browser.
  3. Rarely, you might have multiple copies of FreshTomato's administration interface certificate stored in the browser. If this happens, simply remove any unwanted FreshTomato certificates stored in your browser (or even all of them) before reconnecting to the web interface.

If the GUI is completely unresponsive, log in via SSH (preferred) or telnet and verify:

  1. CPU utilization. You can check this by running the “top” command.
  2. The presence of content in the “/www” folder. Check this by issuing the command “ls -l /www” .
  3. The httpd daemon is running. Check this by typing “ps | grep [h]ttpd” at a command line.

Netgear R-series Routers

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.

How do I Get a 3G/4G/5G USB modem to work?

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.

Modem Modes

Many USB modems have two modes of operation:

  • Modem (only) mode
  • Storage emulation mode

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:

  • Includes storage emulation, (described above).
  • The modem will self-mount as a storage device with drivers on the device itself.
  • Presents the modem to the host as a network device with a web interface.
  • Makes the modem act as a router
  • Directs traffic through NAT
  • Provides no IP pass through support (for the IP address assigned by the carrier to pass through to the attached device.
  • Does not support port forwarding.
  • Because of this, HiLink mode won't work with remote access applications, where hosts on the Internet initiate inbound connections.
    • This includes applications like RDP, VNC, and Web servers.
    • To use HiLink mode, your application must use only outbound-initiated connections (such as web browsing or email).
  • Alternatively, implement a VPN to another device which is initiated by the router with the HiLink mode modem connected.

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.

Modem Install Process (TBD)

Assuming there is no pin enabled, FreshTomato sets the modem_pin nvram variable to null, like this:

nvram set modem_pin= “”
nvram commit

If the card does have a PIN set, the variable must be set in nvram:

nvram set modem_pin= “1234”

1)
If you enabled Log To Remote System your logs are obviously retained on the remote server as well.
faq.txt · Last modified: 2023/07/27 03:35 by hogwild