Site Tools


advanced-misc

This is an old revision of the document!


Miscellaneous

In this menu, you can tweak some secondary, less critical settings. These settings rarely need to be modified. If you change them, make sure you understand the consequences of those changes.


Boot Wait Time *: the period during which you can access the router via its CFE webserver.

This refers to the bootstrapping portion of the process, or the loading of code before the OS loads. Change this setting if you need to delay the boot process (to stay in internal webserver CFE mode).

In rare circumstances, such as a power outage, your modem might take longer to boot than FreshTomato does. This setting could be used to tune that until it is optimal. The asterisk (*) indicates not all hardware models support this feature.






WAN Port Speed: lets you set the WAN port to Autonegotiate mode or force a specific speed/duplex combination for it.

Only 10Mbps and 100Mbps speeds can be forced. For 1Gpbs, leave it at Autonegotiate. Not all models support this feature.

(Default: Autonegotiate).





CTF (Cut-Through Forwarding): if checked, enables Level 1 NAT hardware acceleration.

CTF lets bridges use an alternative forwarding method for storing/forwarding frames. Enabling it may improve speeds on Internet plans with a profile above 100 Mb/second. CTF is usually necessary to reach peak speeds on plans that allow 200 Megabits/second and higher.

With CTF enabled, the router starts to send transmission frames as soon as the full packet header has been received. However, it relies on the client to tell it whether the data is corrupted for resend. This restriction can cause problems with a few common home uses.


Enabling CTF disables QoS / Bandwidth Limiter. It can also cause issues for IPv6 tunneling protocols, like 6in4 Static.

This is because the switching part of the packet bypasses parts of the standard Linux iptables chains.

With CTF disabled, the router stores the entire frame before sending it to its destination.

When this happens:

  • The holding period may require more of the router's CPU time.
  • WAN-to-LAN performance will depend more on the router model.


FastNAT is a similar function that forwards frames at accelerated speeds.

CTF/FastNAT is supported as follows:

  • ARM Routers (like the RT-AC68U, RT-AC3200, R7000) support CTF.
  • MIPS RT-N routers (like the E4200v1, RT-N16) can use Broadcom FastNAT
  • MIPS RT-AC routers (like the RT-AC66U) do not support CTF or FastNAT.

On ARM devices, you can expect performance in the range of 200 to 400 Mb/s with CTF enabled.


Enable Jumbo Frames: lets you increase the maximum frame size on the LAN. (Default: disabled).

The default Jumbo Frames size is 2 KBytes. If enabled, Jumbo Frame capability will be enabled on all LAN/WAN ports.

This feature is supported only in 1000 Mb/s mode. Also, gigabit switches use more memory with this feature enabled. This can affect performance, depending on how many switch ports simultaneously use jumbo frames. Not all hardware models support this feature.


Jumbo Frame Size: if enabled, overrides default frame size.

If disabled, default frame size is 2 KB. (Default: off). Generally, enable Jumbo Frames if you frequently transfer large files within your LAN. To function, all devices must support Jumbo Frames. You should also standardize the packet size across all LAN devices.

It's best to leave this disabled unless you have specific requirements for it. Using Jumbo Frames means Internet traffic will be fragmented, unless the end device supports Path MTU Discovery. Often, the limited performance benefits of Jumbo Frames isn't worth the time and effort needed to tune/troubleshoot it.

Not all hardware models support this feature.


Port Health: Since r2025.5, this watchdog counts errors on Ethernet connections and takes a defined action when an exception is spotted.

This function was introduced to prevent a bad Ethernet cable to take your router down (eating up CPU cycles) and making the device unresponsive.





Enable: runs the porthealth process to monitor the defined ports scope, every minute.

The check is extremely lightweight and executes in about 0.02 - 0.04 seconds.


Mode: determines the script’s level of intervention when it detects network errors (a “flood”).

Essentially, this sets the “remedy” strategy for a port currently exceeding your defined error threshold.


  • Monitor (log only) - the passive mode. This acts as an early warning system without
    changing hardware settings. It compares the current error count against the baseline.
    If the delta exceeds your threshold, it writes a warning to the system log (logger).
    Use this to gather data or troubleshoot a “noisy” line without risking a network disconnect.
  • Recover - the active/adaptive mode. It attempts to save the connection by sacrificing
    speed for stability. It identifies the failing port and steps down the speed (say, from 1000FD
    to 100FD). It waits for the Hold Time to expire. If errors persist, it steps down again to
    say, 10HD). If it reaches the lowest setting and still fails, it disables the port entirely.
    The goal is to maintain a “limping” connection rather than lose all connectivity. This is
    ideal for cables that are slightly damaged or picking up interference.
  • Disable port - the aggressive mode. It follows a “zero-tolerance” policy for port errors.
    As soon as a port exceeds the error threshold (BASE_RATE), the script immediately closes
    the port using the robocfg tool. This approach protects the rest of the network or a
    background compilation process from being affected by a “chatty” or failing hardware
    interface. It forces manual intervention to re-enable the port.


Ports: defines the type of logical ports to be monitored. For example, LAN only, WAN only or LAN + WAN.


Max Errors / Minute AKA: “threshold”. The number of acceptable errors per minute before an action (defined under Mode) is triggered.

Under most circumstances, you'd expect the number of errors to be “0”. However, in certain cases, it can be advisable to add a little tolerance to deal with temporary situations like interference, temperature, etcetera.


Hold Time: acts as “cooldown” and “efficiency” filter to prevent the script from making erratic or unnecessary changes to network ports.

In this context, it is ideal for the router to have a “calm” decision-making process. When a port shows errors, the script steps down the link speed (say, from 1000FD to 100FD). The Hold Time ensures the system stays at the new speed long enough to see if the errors stop. If the script runs again before the 180 second (default) has passed, it will skip further down-stepping for that specific port, giving the hardware time to stabilize.


Cache TTL - defines how often the script performs the “heavy lifting” of scanning router hardware to know which ports are active.

Identifying which ports are active involves more than just scanning them individually for errors. The script saves the list of active ports to a file in: ”/tmp“. By default, it will reuse that list (only) for 1800 seconds (30 minutes). It only rescans the hardware if the cache file is older than the TTL or if the file is missing. This parameter doesn't affect the ultra-light scan for errors on active ports, happening every minute.

advanced-misc.1773279644.txt.gz · Last modified: by hogwild