In the File sharing menu you can enable and configure Samba filesharing. Samba is a Linux clone of Microsoft's SMB (Server Message Block) filesharing protocol. Samba allows FreshTomato to “speak” the same language as Windows for file sharing between Windows and Linux-based systems (such as FreshTomato). This allows you to use your FreshTomato router as a NAS drive, if you connect USB like a an external hard drive or flash drive.
Microsoft's SMB protocol was recently upgraded to v3. FreshTomato's implementation supports only v1 and v2. However, these are more than adequate for basic operations.
Enable File Sharing:
For a basic setup, select Yes no authentication. If you need additional security, it's recommended you select Yes, Authentication required . Doing so will display additional fields to set a single username and password.
Samba protocol version:
This lets you select the highest SMB version supported. It's good practice to enable both SMB1 and SMB2. Imposing a specific version can cause client devices running an incompatible version to be unsupported. This may generate log errors, such as the one seen below:
Disable GRO: Generic Receive Offload combines small packets to be sent as a one large one. This optimizes network utilization, but involves extra reassembly. The default, (Enabled) disables GRO. Enabled is advised unless you have other requirements.
Workgroup Name: Here, enter the WORKGROUP name (logical grouping) for PCs to be displayed/organized (for Windows peer-to-peer network browsing). Note that the Windows 10 April 2018 (v.1803) update eliminated Windows Homegroups. However, workgroups still exist in Windows 10/11.
Client Codepage: Windows clients use code pages to determine rules for mapping lowercase letters to uppercase ones. Undefined, by default, can be set in cases where case sensitivity is an issue. To check the Windows Codepage your systems are on, run cmd.exe
and type chcp
to see the current code page.
Network Interfaces: Here, define to which local interface the samba service will be bound. (Default: br0).
Samba Custom Configuration: Here, specify user-defined parameters for samba (written to the smb.conf file). Consult samba documentation before using this field: https://www.samba.org/
Auto-share all USB Partitions: Lets you configure automatic sharing. As soon as storage with a compatible filesystem is connected to USB, its contents are shared.
Options: Configures your Samba server to perform additional network roles:
In this table, you can define custom network shares that map to physical filesystems. These may overlap, or even conflict with the Auto-share all Partition function described above.
Share name: The share name that appears under the [[\\WORKGROUP\$routerhostname]].
Directory: This defines where the share maps in the real filesystem.
Description: A descriptor only, that appears when browsing the network. It has no function except as a name.
Access Level: Specifies the network-level access rights
Don't confuse this with filesystem rights. Total security is calculated by executing a logical AND operation on the Access Level rights and filesystem rights.
Hidden: A hidden share isn't visible when network browsing, but is available if called directly (say, by Windows' “net use” command).