[Samba] WinXP SP2 machines disappear from the workgroup controlled
geromanas at mailas.com
Fri Oct 8 19:49:42 GMT 2004
I have a problem which I couldn't solve myself thus decided to ask here. My
setup is rather basic. There are over 20 PCs in the network, most of them
running WinXP Home SP2 and WinXP Pro SP2, a few Windows 98 SE and the Linux
(Debian) server running samba 3.0.7(-1). They all are in the same subnet.
Windows clients and samba are configured to participate in the same
workgroup. WINS is disabled. I want samba host to be a local master for the
workgroup, thus I set the following options in the smb.conf:
local master = yes
preffered master = yes
os level = 65
Everything works as expected for approx. 30 mins since samba was started:
samba wins browser elections and becomes a local master for the workgroup.
All PCs are visible (either in "My Network Places" or smbclient -L) and
accessible. However, WinXP machines just disappear from the list of known
servers after ~30 mins (they are still accessible directly
via //netbiosname/, but they are missing from "smbclient -L localmaster" or
"My Network Places"). Win98SE clients and samba server stay in the list all
the time though.
The situation turns completely different way if I let WinXP to win the
elections. Then none of hosts disappear including WinXP PCs. However, I want
the linux box to be local master, but not WinXP.
With the help of ethereal and after looking up in the samba source I
discovered that samba maintains the server list relying on BROWSER Host
Announcements from other network hosts. However, WinXP doesn't send them on
regular basis. WinXP sends one on boot and one on shutdown. Irregularly
several announcements slip through approx. two times a day, but, obviously,
that's not enough, so samba just expires not-responding hosts after ~30 mins.
MS docs claim that Windows XP PCs should announce about themselves every 12
minutes, but that's not true in my case for some reason. BTW, win98SEs send
host announcements every 4 minutes, so they don't disappear.
When Windows XP is operating as the local master, other WinXP hosts don't send
announcements either. However, it seems WinXP uses another way to check which
hosts are still alive...
How could I solve this issue? I imagine, a solution would be to enable WINS
server in smb.conf and all clients or to setup a domain (but XP Homes can't
join it). Maybe I miss an option in smb.conf? or do I need to change some
deeply hidden registry setting in WinXP?
P.S. It doesn't matter if Windows XP SP2 firewall is enabled (with appropriate
exceptions of cource) or disabled. I haven't tested with SP1 though, thus
this issue may be related to WinXP SP2 Home/Pro Editions only.
More information about the samba