The problem is perfectly described in the URL. Win XP doesn't send host announcements like it should [1], even if you edit "announce" and "anndelta" in the registry. [2] [1] http://www.microsoft.com/resources/documentation/Windows/2000/server/reskit/en-us/Default.asp?url=/resources/documentation/windows/2000/server/reskit/en-us/cnet/cnfi_brs_stbx.asp [2] http://support.microsoft.com/default.aspx?scid=kb;EN-US;q138365 It would be nice if you can tell samba to keep the entries in browse.dat for at least $time seconds.
Btw, this is an old problem: http://lists.freebsd.org/pipermail/freebsd-questions/2005-January/071577.html http://lists.samba.org/archive/samba/2004-October/094102.html http://lists.samba.org/archive/samba/2005-August/109990.html There are some more sites. Win XP seems to disappear in a pure Microsoft environment as well sometimes.
I solved my problem so far. I found out, that WinXP at least[1] reacts to "Host Announcement Requests". Samba generates them while restarting. Samba does it too after winning the LMB contest IF there are less than 10 computers in the workgroup. So I patched[2] my samba server and added "smbcontrol nmbd force-election" to my crontab. This gets done every 10 minutes. Now, WinXP does not disappear anymore. This is really ugly... [1] WinXP ignores quite some registry workarounds... [2] I have more than 10 computers in my workgroup.
WinXP client bug.