Ethernet – Full-Duplex and Speed negotiation

duplexethernetspeed

I have a server where speed and duplex are set to auto. The NIC supports 1000mb/s, and is connected to my Cisco switch.

When I check on port I see that the speed is set to 100Mb/s and Full Duplex.

Other unused ports on my switch are set to Auto-duplex, Auto-speed, media type is 10/100/1000BaseTX.

Could the NIC drivers be the reason why I can not link at 1000Mb/s?!

What is the issue, if it's not the NIC drivers?

Best Answer

The usual suspects in the case of autonegotiations are:

  • bad cables
  • bad ports, SFPs or NICs
  • port configs (are they both set to auto and do they both list the 1000BASE-T FD ability?)
  • bugs, compatibility or legacy issues

I would not recommend a fixed speed and duplex setting in this (or almost any) situation. The days of frequent autoneg issues and incompatible implementations are gone, on recent equipment such issues are very rare. If autoneg is not working, switching to a fixed setting is a workaround, hiding the underlying issue that causes the autonegotiation to fail. Not fixing this issue might allow it to bite you later.

Also, the probability of speed or duplex mismatches and the like is actually much higher in an environment with fixed settings, caused by left over settings when moving equipment around.

As an example, if in your case the cable is to blame, setting both sides to 1000 fixed could disable the link with the faulty cable completely. Autonegotation gracefully degrades you to 100. It is of course up to you or your monitoring equipment to detect and fix this.

Interesting blog post, with links some vendor recommendations: "EtherealMind on Autonegotiation"