I had the exact same problem, and found a solution. It wasn't a duplex mismatch (managed switch so I could see exactly what it was doing), or a bad cable. Force the switch side to 10/full.
My story is here:
http://seth.mattinen.org/main.php?section=aenet