Windows WINS and Network Neighborhood
...OK, it isn't called Network Neighborhood anymore. It's just referred to as Network.
Anyway, to get all this stuff working properly, there are two main categories to address, Windows Settings and Network Infrastructure
Make sure the Network Adapter has a WINS server configured and NetBIOS is set to enabled (either of the top radio button choices)
If TCP/IP settings are obtained automatically, make sure those settings reflect the same items as described for manual settings. BIND / Named, DNSmasq, etc., can all be configured to give out WINS settings
Make sure the Primary DNS Suffix is configured in System Properties, Computer Name Tab, Change Button, More Button. Note, each adapters DNS Suffix can be configured (and should be with a multi-homed host), but if not configured, it will use the a fore mentioned setting.
Well, that presents a bunch of issues. If one is behind a hardware firewall, consider turning the Windows Firewall off, or opening up ports for sharing.
Network Sharing Center
Change the seemingly randomly generated name of a network at the below Hive Key by looking for the current name and then changing it to what it should be (note, Windows will look for any opportunity to change it to something else, so don't expect it to last);
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
- For "Unidentified Networks", editing the registry won't be helpful, so use the following Power Shell commands (remember to run Power Shell an administrator)
- Set-NetConnectionProfile -InterfaceIndex WhatEverNumber -NetworkCategory private (or public if you want)
See this article for more information: Windows Network and Sharing Center
See this article for OpenWRT based routers: OpenWRT WINS with Samba
DNS (Router(s), Server(s), etc.
Whatever device is handling DNS name resolution for a subnet / network, if a DNS Zone is configured for the same DNS Suffix configured for client computer, make sure of the following: Eliminate all wildcard entries. IE, if a name from this zone is checked and it doesn't exist, it should return no answer. If it doesn't, Windows will never move down it's list of how it does name resolution and will never arrive at the WINS or broadcast step: https://support.microsoft.com/en-us/topic/microsoft-tcp-ip-host-name-resolution-order-dae00cc9-7e9c-c0cc-8360-477b99cb978a
Network Discovery keeps turning itself off after it is turned on: https://www.itechguides.com/network-discovery-keeps-turning-off-server-2016/
In short, there are several services that need to be enabled, by setting them to "automatic startup" and / or starting them;
- DNS Client
- Function Discovery Resource Publication
- SSDP Discovery
- UPnP Device Host
NetBIOS over TCIP
Even if it enabled everywhere, when ipconfig /all is used, it still shows as disabled. No solution has been found. Even this detailed solution didn't work: https://answers.microsoft.com/en-us/windows/forum/windows_10-networking/netbios-over-tcpip-broken-since-upgrade-to/fd141dd9-8500-419d-b8e7-ac7255f44ec0
In the end, NetBIOS is related to the name of a computer. NetBEUI is the protocol for resource sharing (or it used to be a long time ago). NetBIOS name resolution will still work via broadcasts, but if computers are on different subnets, well, the solution still hasn't been found.