There are very few things this can be. It is mostly a hardware function. I guess be sure you have the port speed set to auto in the nic settings.
After that it is highly likely it is a bad cable. The other option would be a bad port in the pc or the router which is very rare.
Cables can be strange when they go bad. They can work on some machines and not others. They might just be slightly out of spec and some machines might tolerate it more than others. This is even more true with all the fake cables being sold today.
I would try a new cable, you do not need anything more than cat5e unless you find cat6 cheaper. Cat6 will not run faster or better. What is key is that the wire be pure copper (no CCA) and it must have wire size 22-24( none of that flat or thin cable you see being sold).
Quality cable sellers know about the fake cable and tend to clearly state these specs, if you can't find it choose another vendor.