Need to check for errors on the wire, look at the "errors" field in the output of ifconfig. If non-zero then there are problems with hardware (cable, NIC card, or hub/switch). An unreliable Ethernet cable will give errors in this field too.
you can use ethtool (NOTE you may have to install it)...