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.
-------------- next part --------------
HTML attachment scrubbed and removed