Samba and Win2k just don't seem to want to work together. I get
disconnects
after about 13MB of data transfer, and the Win2k box just loses the share as if it were disconnected. Re-establishing the share works, but data transfer of large files or working with large amounts of data is impossible. From the amount of traffic on this newsgroup regarding WinXP and Win2K problems with Samba, I think this problem is common - although a solution hasn't cropped up, or I haven't found one in my travels. Here's my contribution to finding the problem: I put a sniffer on the net and see that when this disconnect occurs, the Samba server sends a set of 5 or 6 data packets to the Win2K box, and the Win2k box sends back ACK packets for them. [all normal so far..] However, the Linux (RedHat 7.3) box doesn't appear to get the last ACK packet (or isn't processing it - since tcpdump is picking it up it IS being received...), as it resends the last data packet (same tcp seq number). The Windows box ACKS that packet again, and this is repeated about 6 or 7 times before the Windows box decides that it's not worth the trouble and just stops communicating (no attempt to FIN the connection either...) Now I don't know why the ACKs just aren't getting through to the data handler for Samba, or why Windows doesn't bother to try to send a FIN packet (no obligation...it's a timed-out tcp connection as far as Win2k cares..), but I'd like to know how to fix this. I have the tcpdump output if anyone would care to look at it.. The problem has been with me since RedHat 7.0 and Samba that came with it - I'm on RedHat 7.3 and Samba 2.2.6 now and the problem is still here. |