Samba network discovery fails through file managers, but works with smbtree

file-managernetworkingsamba

In file managers (Caja, Nautilus, PCManFM, Dolphin), under Network there is an entry for Windows Network but double-clicking this brings up an empty window with 0 items.

However, smbtree does list the (Windows and linux) computer hosts online in the local network, their workgroups, and the directories and printers shared from them.

In a file manager, I can use the location address smb://[HOST_IP]/[SHARE_DIRECTORY] and it works. However, smb://[HOST_IP] without the directory gives an error:

Error: Failed to retrieve share list from server: Invalid argument. Please select another viewer and try again.


EDIT:
There are many similar bugs reported relating to samba configuration (which may still be the issue here). However newer bug reports suggest it may have to do with samba and Microsoft deprecating old protocols (SMB1): https://dev.solus-project.com/T1223 It is claimed that this newer issue is present on samba versions after 4.6.10.

Note that the computer with this issue is running Fedora 28 and samba 4.8.3. Another computer on the same network which can successfully browse shares is on Ubuntu 16.04 and samba 4.3.11-Ubuntu.

Best Answer

Potential issue #1 - resolve order

Sounds like a resolving issue around NMB. It's mentioned here in this thread titled: Nautilus doesn't see network computers... [SOLVED].

non-discovering resolve order
# What naming service and in what order should we use to resolve host names
# to IP addresses
name resolve order = lmhosts host wins bcast
reported to work resolve order
name resolve order = bcast lmhosts host wins

Be sure to restart NMB/SMB services once you've made this change.

Potential issue #2 - client protocol

Researching your issue further, I came across this tip in this AU Q&A titled: Nautilus fails to see shares in 18.04. The tip from there was to change the following:

$ more /etc/samba/smb.conf
workgroup = WORKGROUP
client max protocol = NT1

After making the above changes it's advised to reboot, not simply restart.

As part of this tip, make sure that avahi service is running:

$ sudo service avahi-daemon status
$ sudo service avahi-demon start

Potential issue #3 - firewalld

According to this askfedora.org article titled: fedora 27 network browsing doesnt't work. Why? it's suggested to try disabling firewalld. It may be inhibiting the ports 137-139 which are required for Samba's NMB/SMB services to function properly.

Potential issue #4 - Bug 1513394 with gvfs

Continued searches led to this issue that's still listed as open. The issue, titled: Bug 1513394 - Applications using gvfs are unable to browse SMB shares. It has to do with the package gvfs-smb.

Applications using gvfs are unable to browse SMB shares

These steps can be used to see if the issue afflicts your system.

Steps to Reproduce:

1. nmblookup -M -- -
2. nmblookup -M workgroup
3. smbtree
4. gio list network://
5. gio list smb:///
6. gio list smb://workgroup

If things don't work the results from the steps above will look like this:

1. will return IP address for __MSBROWSE__ special name
2. will return IP address for workgroup master browser
3. will correctly list workgroup, workgroup members and their shares
4. returned items are missing workgroup members
5. will return empty
6. will return an error message "The specified location is not mounted"

If things are working the results will look like this:

1. OK
2. OK
3. OK
4. returned items should contain workgroup members
5. should contain workgroup name
6. should contain workgroup members

It should be noted that there doesn't appear to be a fix yet for this:

For the record, it doesn't work in Fedora 28 and Samba 4.8 either.

Read the comments on the issue to see the rest of the story.

References

Related Question