Modestas Vainius
2004-Oct-08 19:50 UTC
[Samba] WinXP SP2 machines disappear from the workgroup controlled by Samba
Hi, 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.