Check the duplex with mii-tool. Also, check the Tx and Rx errors in the ifconfig output. I *doubt* it's the cable, but it could be. More likely it's the NIC or a resource conflict. If you can, check the cable (patch cables are cheap). If that doesn't pan out, try moving the NIC to a different slot.
If it's an onboard NIC, many of those are garbage.