What can cause auto-negotiation to fail on network?

Imagine you have both computer with a NIC that do gigabit with a router that do gigabit. What can cause auto-negotiation to fail on network ? (with proof if possible)


There are two possible reasons:

  1. Bad or incorrect (not CAT5e) cables or connectors, or cables that are either too short or too long according to the standard.

  2. Incompatible hardware. Here's what Wikipedia says:

    The first version of the autonegotiation specification, IEEE 802.3u, was open to different interpretations. Although most manufacturers implemented this standard in one way, some others, including network giant Cisco, implemented it in a different way. Autonegotiation between devices that implemented it differently failed.

    I don't believe there are any new devices that still use 802.3u, however crappy incompatible hardware is still common.

    802.3ab specified that copper gigabit Ethernet requires autonegotiation, if you can disable auto-negotiation and "force" gigabit connection in the settings, it most probably means that your hardware still uses the older, no-so-compatible standard.

    Clarification: Some network cards allow to set speed to 1Gbps. However, this does not disable auto-negotiation. According to IEEE Interpretation:

    Although operating speed is allowed to be manually selected by disabling Auto-Negotiation in Control Register 0, selecting 1000BASE-T mode of operation still requires that Auto-Negotiation be used. This can be accomplished by continuing to use Auto-Negotiation while limiting the advertising to 1000BASE-T capabilities.

    Essentially, network cards says "I will auto-negotiate, but I can do only 1Gbps, nothing else." This is not the same as just disabling auto-negotiation and setting speed & duplex manually.


Dodgy cables: I've just replaced a 3m patch lead to a laptop docking station that was causing problems - the gigabit connection was either working, very slow or connecting (and not working) at 100 or 10Mbit