The File sharing menu allows you to enable and configure Samba filesharing. Samba is a Linux clone/replica 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 storage, such as an external hard drive or flash drive.
Microsoft's SMB protocol was recently upgraded to v3. FreshTomato's implementation supports v1 and v2 only. However, these are more than adequate for basic file sharing operations.
Enable File Sharing:
For a basic setup, select Yes no authentication. If additional security is needed, it's recommended you select the Yes, Authentication required . Doing so will display two additional fields where a single username and password can be entered.
Samba protocol version:
This allows you to select the maximum SMB version supported. It is good practice to enable both SMB1 and SMB2. Imposing a specific version could lead to situations in which client devices aren't running a compatible version and so are not supported. This may generate unwanted log errors, such as the one seen below:
Disable GRO: GRO (Generic Receive Offload) combines small packets to be sent as a one large packet. This optimizes network utilization, but involves extra reassembly functions. The default, (Enabled) disables the feature. Enabling this is recommended unless you have other requirements.
Workgroup Name: Here, specify the WORKGROUP name (logical grouping) of PCs for devices to be displayed/organized (for Windows peer-to-peer network browsing). Note that the Windows 10 April 2018 (ver. 1803) update eliminated the use of Windows 10 Homegroups. However, workgroups, still exist in Windows 10/11.
Client Codepage: DOS and Windows clients use code pages to determine rules for mapping lowercase letters to uppercase letters. Undefined, by default, can be set in scenarios where case sensitivity is an issue. To check what Windows Codepage your systems are on, run
cmd.exe and type
chcp to see the current code page.
Network Interfaces: In this field, you define to which local interface the samba service will be bound. (Default: br0).
Samba Custom Configuration: Here, you can specify user-defined parameters for the samba process (configured in the smb.conf file). Consult samba documentation before using this field: https://www.samba.org/
Auto-share all USB Partitions: This lets you configure automatic sharing. As soon as storage with a compatible file system is connected to the USB port, its contents will be shared.
Options: Configures your Samba server to perform additional network roles:
WINS Server - If enabled, act as WINS server on the network. DHCP clients will receive the data via DHCP. Static clients can be configured with FreshTomato's LAN IP address as their WINS server setting.
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: This is the share name that appears under the \\WORKGROUP\$routerhostname.
Directory: This defines where the share maps in the real filesystem.
Description: This is for description only, and appears when browsing the network. It has no functional role other than naming the share.
Access Level: This specifies the network-level access rights
Do not confuse this setting with the filesystem rights. Total security is determined by executing a logical AND operator on the Access Level rights and the filesystem rights.
Hidden: A hidden share is not visible when browsing the network, but will still be available/usable if called directly (such as by the “net use” command in Windows).