Samba (network share)
Browse ROMs, themes and configs from Windows, macOS or Linux
Samba turns the console into a network share, so you can drag ROMs and themes across from your file manager without pulling the card out and without an SSH client.
It is off by default (samba.enabled=0).
Enable
EmulationStation → Network Settings → Network Services → Enable Samba.
That sets samba.enabled=1, creates the marker file /storage/.cache/services/smb.conf and starts two services:
smbd, the SMB file servernmbd, the NetBIOS name service
Windows discovery is handled separately by wsdd2, which is enabled from the start, so the console shows up under "Network" in Explorer once Samba is running.
Connect
Windows
In File Explorer, type into the address bar:
\\archrIf the name does not resolve, use the address directly:
\\archr.local
\\<device-ip>macOS
Finder → Go → Connect to Server (Cmd+K):
smb://archr.localLinux
Most file managers accept this in the location bar:
smb://archr.localOr mount one share from the terminal:
sudo mkdir /mnt/archr-roms
sudo mount -t cifs //archr.local/games-roms /mnt/archr-roms -o guest,uid=$(id -u),gid=$(id -g)archr is the default hostname (system.hostname), and .local works because Avahi is running.
What is shared
| Share | Path | What it holds |
|---|---|---|
games-roms | /storage/roms | ROMs, BIOS, save-states, screenshots |
games-internal | /storage/games-internal | Games installed on the internal card |
games-external | /storage/games-external | Games on a second card |
themes | /storage/.config/emulationstation/themes | EmulationStation themes |
config | /storage/.config | Every application config |
logs | /var/log | System logs, handy when reporting a bug |
update | /var/cache/archr/update | Drop an update file here |
All seven are read-write and open to guests: map to guest = Bad User with guest account = root, so anyone on the network who can reach the console can write to them. Keep it on your home network and leave it off elsewhere.
Changing the configuration
The file the server reads is /storage/.config/smb.conf. It is copied from /usr/config/smb.conf on first boot, /etc/samba/smb.conf is a symlink to it, and the boot script links it into /run/samba/smb.conf where smbd picks it up.
Edit it over SSH and add or change a share:
[games-roms]
path = /storage/roms
available = yes
browseable = yes
public = yes
writeable = yesTo require a password, set public = no in the share, add a user with smbpasswd -a <name>, and put valid users = <name> in the share block.
Apply the changes with:
systemctl restart nmbd smbdDuring gameplay
Samba stays up while you play. The services that get stopped on launch and restarted on exit are Syncthing, Tailscale, ZeroTier and the simple HTTP server, which compete with the emulator for CPU and card I/O.
Troubleshooting
The console does not appear under "Network" in Windows. Type \\archr.local in the address bar instead. Windows network discovery has to be on for the icon to appear, but the direct address works either way.
"The specified server cannot perform the requested operation". That is an SMB1 client. smb.conf sets no server min protocol, so Samba 4.21 applies its own default and SMB1 is not accepted. Update the client, or configure it for SMB2 or later.
Nothing happens after enabling the switch. Check the two services:
systemctl status smbd nmbdBoth refuse to start if /run/samba/smb.conf is missing, which is where a broken /storage/.config/smb.conf shows up.
Slow transfers over WiFi. The R36S has no built-in WiFi, so you are going through a USB dongle on 2.4 GHz. Check the link with iwctl station wlan0 show. Moving closer to the router usually helps more than any setting.