I've had Windows 7 Ultimate 32 bit installed on my desktop for a week or so now, and there's one pretty big issue for me. My home network has a Centos 5.3 file server running Samba 3.0.33. Right next to it, hooked to the same switch, I've got a W2K server. So I get file transfer speeds from the W2K box to the W7 box around 1.5MB/s, while access to the Centos Box only gets 250KB/s. It's not just via Samba, either - ftp exhibits the same problem. I've tried a new NIC in the W7 box. I've tried putting the W7 hostname in the /etc/hosts file on the Centos box. I've swapped cables from the switch to the servers. None of these had any noticeable effect. Any ideas on what else to check? If I were paranoid I'd think Microsoft was sabotaging connectivity with Linux ;-) One more thing: before installing W7, I had an XP Pro install that worked perfectly fine. I really don't think it's hardware at this point.
Try swapping out the switch. Hopefully you can just borrow one from a friend temporarily. Those speeds are still completely atrocious, even the 1.5 MB/s. How fast was it when you had XP Pro installed and it worked "perfectly fine" ? Even if your switch is only 100 megabits you should still get 8-10 MB/s file transfers over SAMBA, maybe even a bit closer to the theoretical max of 12.5 MB/s. You haven't explicitly said so, but I gather from what you've written so far that no possible combination of your 3 boxes yields transfers faster than about 1.5 MB/s. If this is true, this is why I think the problem is something in common between them, which would be the switch. The other thing I just thought of is maybe your switch is really old and it's only a 10 megabit switch? If that's the case do yourself a favor and spend the $10 to get a 100 mbps switch, or even a gigabit one. They're just not very expensive anymore.
Matt was right. It was the switch. Here's what I found out:
I decided to take a step back because I was kinda flailing about. I downloaded pcattcp for my windows platforms and installed ttcp on my CentOS system. I then ran some tests and put them into a matrix (all numbers are KB/sec, and all hardware is 100mbps):
So, the first two boxes are on the switch in question, a Windows 2000 and a CentOS box. The XP box is on another switch while the Win7 box is plugged into the router. The boxes on the left are the senders of the data, across the top are the receivers. As you can see, and to my surprise, the results from boxes on the switch are horrid, while the situation to boxes on the switch, while not superb, are livable. The interesting part to me is the difference in speed depending on direction! Now that I have actual numbers though, I can see the problem must be on the port connected the switch to the rest of the network. So I swapped the cable to another port, and voila, the results become:
Ahh, much better! While the speed still is not as fast as it should be via the switch in question, it's remarkably better. I'll be replacing the switch since it's clearly a problem child, but at least I know what's going on now.
The moral? Always Measure! I couldn't get a clear picture of what was actually happening without measuring and putting it in a form that was easy to read. The thing that was tripping me up in this case was the fact the problem was only manifested obviously in one direction (still weird to me).