by genesc » Fri Mar 04, 2011 7:20 am
It turns out that as I suspected, the problem is with the WIndows XP driver for my onboard NIC chip. It had some weird problem in the TCP code (not only was Samba affected, but also other higher level protocols such as ftp which depend on TCP for their actual data transfer).
The chip is a Realtek RTL8169/8110. The XP driver version I was using was 5.719.0325.2009, dated 3/25/2009 (the problem also occurred with a slightly older driver I had that was released in early 3/2009). This is the latest driver on the Realtek site, and since XP is in maintenance mode I doubt a corrected version will ever be released by Realtek. Again, it's a driver issue; the chip works fine with the Ubuntu 10.10 driver. For all I know, it may also work fine with the Vista/Win7 driver though I haven't tested this.
The solution was to disable the onboard Realtek chip in BIOS and install a gigabit PCI NIC card. Unfortunately, many third-party NICs use this Realtek chip, including Netgear and Dynex (I actually already had a spare Dynex NIC with this chip and driver, and it suffered from the same exact problem). I was finally able to order a D-Link DGE-530T gigabit NIC using a different chip from Amazon for $17 plus S&H. With the buggy Realtek driver I was getting only 63 KB/sec in transferring large files from my PC to my Pogoplug, with the new NIC I'm now getting around 13 MB/sec, though I've seen bursts as high as 25 MB/sec.