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 so files can be exchanged 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 has recently been upgraded to v3. FreshTomato's implementation supports v1 and v2 only. However, these versions are more than adequate for basic filesharing 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:
SMBv1 + SMBv2
This allows you to select the maximum version of SMB that will be supported. Note that it is good practice to enable both SMB1 and SMB2. Imposing a specific version might seem like a good idea, but could lead to situations in which clients support only one version. This may generate unwanted log errors, such as the one in the image below:
Disable GRO: GRO (Generic Receive Offload) essentially combines together small packets to then be sent as a single large packet. This optimizes network utilization, but involves extra (sometimes unwanted) reassembly functions. The default, (Enabled) disables this feature. This is the recommended setting unless you have other, specific 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. Workgroups, however, still exist in Windows 10/Windows 11.
Client Codepage: Code pages are used by DOS and Windows clients to determine rules for mapping lowercase letters to uppercase letters. Undefined by default can be set in case of case sensitivity issue. To check what Codepage your systems are on (in Windows) run
cmd.exe and type
chcp to see the current code page.
Network Interfaces: Defines to which local interface the samba service should be bound. (Default: br0).
Samba Custom Configuration: Here you can pass user-defined parameters to the samba process (configured in the smb.conf file). Consult the official samba documentation prior to entering options in this field.
Auto-share all USB Partitions:
This allows you to configure automatic sharing. As soon as a storage medium is connected to the USB port (with a compatible filesystem) its contents will be shared.
Options: Instruct your Samba server on additional network roles:
Master Browser: If enable it participate in the Master Browser election (when WINS is not available/defined).
WINS Server: Perform the role of Wins Server on the network. When enable clients will receive this info via DHCP but client with static addressing can point their WINS Server settings to FreshTomato's LAN IP.
In this table, you can define custom network shares that map to physical filesystems. These may overlap, or possibly conflict with the Auto-share all Partition function described above.
Share name: This is the share name which 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 is 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 will not be visible when browsing the network, but will still be available/usable if called directly (such as by the “net use” command in Windows.