I have a small home network with two servers with SMB shares running: One of them runs EndeavourOS, the other runs a Debian derivative (Armbian). The shares from the Armbian server show up in Dolphin, while the server or the shares from the EnOS server do not. I have to enter the server name in the address line to get access. When I do this, both servers show the same behavior regarding access rights.
Neither server has wsdd installed. I tried on the EnOS machine, but it didn’t do anything.
I can’t put my finger on the difference between the servers, and it annoys me to no end. How can I fix this? The smb.conf (comments removed with sed -n '/^[^#;]/ p' /etc/samba/smb.conf) files look OK to me:
smb.conf from EnOS machine, this server is invisible, samba version 4.19.1:
[global]
workgroup = EMK2203
server string = Server (Samba, EnOS) %h
server role = standalone server
log file = /var/log/samba/log.%m
max log size = 100
passdb backend = tdbsam
guest account = nobody
map to guest = Bad Password
bind interfaces only = yes
interfaces = lo eno1 wlan0
[NUC10i3FNK-SDXC]
comment = Shared SDXC
path = /run/media/emk2203/Transcnd64G/cloud
valid users = emk2203
public = no
writable = yes
[RecentMedia]
comment = Recently Downloaded
path = /srv/media/completed
valid users = emk2203
public = yes
writable = yes
create mask = 0765
smb.conf from Armbian machine, this works, samba version 4.18.6+dfsg-1ubuntu2:
[global]
workgroup = EMK2203
server string = %h server (Samba, Ubuntu)
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[printers]
comment = All Printers
browseable = no
path = /var/tmp
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[ext]
comment = Storage
path = /ext
writable = yes
public = no
valid users = emk2203
force create mode = 0664
[WDBlue2T]
comment = HC1 Harddrive
path = /srv/WDBlue2T
writable = yes
public = no
valid users = emk2203
force create mode = 0664
I see you’re having some trouble with Samba shares on your EndeavourOS server, and I’d be happy to help you troubleshoot this! Let’s go through the steps to get those shares visible in Dolphin.
Workgroup Matching: First off, ensure that the “workgroup” in both your EndeavourOS and Armbian Samba configurations is identical. In your case, it should be “EMK2203.”
NetBIOS Name Check: Make sure that the NetBIOS name of your EndeavourOS server matches the server name you’re trying to access. This should be the same as the “server string” in your [global] Samba configuration.
Interfaces and Bind Interfaces: Review the “bind interfaces only” and “interfaces” settings in your EndeavourOS Samba config. These settings could be too restrictive, preventing Samba from broadcasting on the network.
Access Rights: Confirm that the permissions and ownership on your shared folders are set correctly, allowing access to your intended users (in your case, “emk2203”).
Hosts File Check: Check your /etc/hosts file on both servers to ensure that hostnames are resolved correctly. Sometimes, hostname resolution issues can mess with network discovery.
Restart Samba: After making any changes in your Samba config, don’t forget to restart the Samba service to apply these changes:
sudo systemctl restart smbd
Firewalls: Ensure that there are no firewalls blocking Samba traffic on your EndeavourOS server.
Different SMB Client: Try connecting to your EndeavourOS server from a different SMB client on another computer to check if the issue is Dolphin-specific or more general.
Diagnostic Tools: Utilize diagnostic tools like smbclient and smbtree to help you troubleshoot and discover Samba shares:
smbclient -L <EndeavourOS Server IP>
smbtree
SMB Version Compatibility: Ensure that both servers are using compatible versions of the SMB protocol. Verify the Samba versions on both servers to ensure they match up.
I hope these steps help you get those shares to show up in Dolphin without any manual entry. If you have any questions or need further assistance, feel free to ask. Happy troubleshooting!
I found the solution, and it was a very simple change:
server string = Server (Samba, EnOS) %h # <--- This is WRONG!
keeps your server from getting discovered. ONLY
server string = %h Server (Samba, EnOS)
works correctly. The %h variable needs to be at the front of the declaration. Never found this spelled out anywhere. If it is, please link to it.
I am going to mark my own post as the solution, so poor souls with the same issue googling this in the future can find the fix right away.
It wouldn’t have been possible to find it without @VictiniFan360’s excellent samba debugging howto, though. But I don’t want to mark his as solution for the aforementioned reason. Maybe we can label posts not only with ‘solution’, but also ‘howto’ or ‘best process’. This would be ideal.
Similar to you, I was recently trying to connect to my NAS through my File Manager (pcmanfm), like my Win10 machine does. What worked for me was to type in “smb://user@DS620slim”. This prompted a login which I saved forever. I then added a bookmark to this NAS along with Home, Downloads and /. User, of course, is your user name, while DS602slim is the name of my NAS, to be replace with your device name.
Now I need to see if this will work on my laptop, but it is connected via WiFi instead of by Ethernet hub.