netviz

802.3 · LAN

Autonegotiation the duplex mismatch

The duplex mismatch is the most-told and worst-told fault in Ethernet. Autonegotiation did not fail — the end you pinned by hand stopped talking, and the fallback mechanism wrote down the only thing a carrier can prove. This plate shows the concrete bits a real PHY writes into its register when that happens.

Sequence diagram poster of the WPA2 4-way handshake

Requesting scene from the content service…

0x0081
the only thing parallel detection can write
16 ms
the FLP burst period
1 Gb/s
where autonegotiation stops being optional
fast link pulses and the base pageparallel detection sees speed, never duplexthe link comes up anyway — that is the traplate collisions on one side, runts on the other

What you'll learn

  • How autonegotiation actually works: it sends no frames at all. Fast Link Pulse bursts every 16 ms ± 8 ms, 33 pulse positions — 17 clock, 16 data — spelling out a 16-bit link code word on the same pair, before any link exists.
  • Why the burst period is 16 ms and not any other number: it is the window a fixed-speed 10BASE-T device expects between link integrity pulses, so the whole burst fits inside one of them and the old device does not choke.
  • The base page field by field: selector 00001 for IEEE 802.3, the Technology Ability Field A0–A7, Remote Fault, Acknowledge and Next Page — plus the notation trap of reading the selector S0→S4 versus S[4:0].
  • Why the priority table makes 'full duplex always wins' false: 1000BASE-T half duplex outranks 100BASE-TX full duplex. Speed outranks duplex, and the table itself says so.
  • The real mechanism of the duplex mismatch, with the proof in silicon: a PHY datasheet states the link partner ability register is written to 0x0081 or 0x0021 by parallel detection — decoded, that is exactly one technology bit and it is the half-duplex one. The full-duplex bits are never written, because a carrier says nothing about duplex.
  • Why the link comes up anyway — the electrical signals that decide whether two ports are connected do not track the duplex modes — and why that green LED is what hides the fault.
  • Which counters give it away and on which side: late collisions on the half-duplex side, FCS and alignment errors also on the half-duplex side, runts on the full-duplex port.
  • That the famous %CDP-4-DUPLEX_MISMATCH message is generated by a proprietary discovery protocol, not by 802.3 — the standard has no mechanism at all to warn you.
  • Why from 1000BASE-T upward autonegotiation is mandatory, what that does to the old advice about pinning both ends, and what a modern switch answers when you try it.
  • Why 2.5G and 5G exist — the cable already in the wall and the Wi-Fi access point — and what happens when a 2.5G AP meets a 1G port: a clean, correct, throttled gigabit link that nothing reports.

A conversation made of pulses, not frames

Before there is a link there is nothing to send a frame over, so autonegotiation does not send one. It is out-of-band signalling on the same pair of copper: a short burst of electrical pulses every 16 ms ± 8 ms, with 33 pulse positions separated by 62.5 µs ± 7 µs. The 17 odd positions are clock and always carry a pulse; the 16 even ones are data and sit between them — a pulse present is a 1, its absence a 0. That is how 33 positions produce a 16-bit link code word.

The 16 ms is the whole reason old equipment survived the transition. A fixed-speed 10BASE-T device expects a link integrity pulse every 16 ± 8 ms, and the entire burst fits inside that window, so it reads as one ordinary pulse. UNH-IOL puts it exactly: this was done to allow a fixed-speed 10BASE-T device to see FLP bursts and, rather than croaking, remain in the LINK TEST PASS state. Neither side trusts the first message, either — three complete, consecutive and consistent bursts before the acknowledge bit is set, three more with it, then six to eight further bursts.

The mismatch, and why 'autonegotiation failed' is wrong

When you pin speed and duplex by hand, the PHY turns the negotiation machinery off: bit 0.12 of MII register 0, Auto-Negotiation Enable, has to go to zero — you cannot set the speed without clearing it. From that moment the port emits only the plain signal of its own technology: 100BASE-TX idles, or 10BASE-T link pulses. It is not choosing badly. It has stopped talking. The other end, still negotiating, receives a carrier and no words, and falls back to the Parallel Detection Function — the mechanism for linking with fixed-speed devices that do not negotiate.

Here is where the plate gets specific, because the behaviour is verifiable in silicon. Texas Instruments' DP83848 datasheet states that the link partner ability register is updated to either 0x0081 or 0x0021 for parallel detection to 100 Mb/s or 10 Mb/s respectively. Decode 0x0081 against that same datasheet's bit map and you get bit 7 (TX) and bit 0 (selector), and nothing else: TX_FD on bit 8 and 10_FD on bit 6 stay at zero. There is no decision here and no error. The only evidence available is 'there is a carrier of this technology', and a carrier says nothing whatsoever about duplex — so the mechanism writes down the one capability it can prove, and priority resolution then runs perfectly correctly over a table whose only entry is a half-duplex one.

And the link comes up. Cisco answers why in one sentence: the electrical signals the ports use to determine if they are connected do not track the status of the duplex modes. Green LED, interface connected, both ends agreeing on the speed, and the link broken. What tells you is a set of counters — Cisco IOS names, not standard ones — and Cisco is the only source that assigns sides, so the plate follows it exactly: late collisions on the half-duplex side, a rapid increase of FCS and alignment errors also on the half-duplex side, and runts on the full-duplex port.

The advice that retired itself, and the AP on a 1G port

'Pin both ends by hand' was born in a world where autonegotiation was optional, which 10 and 100 could afford because they support parallel detection. Gigabit cannot. It transmits on four pairs at once in both directions at once, and to cancel its own echo one end must be the clock (MASTER) and the other must lock onto it (SLAVE) — which cannot be read off a carrier and has to be asked, and autonegotiation is the only channel to ask on. Clause 40.5.1 requires every 1000BASE-T PHY to support Auto-Negotiation and to be capable of operating as MASTER or SLAVE; the IEEE's own interpretation adds that selecting 1000BASE-T still requires that Auto-Negotiation be used, which can be accomplished by continuing to use it while limiting the advertising to 1000BASE-T capabilities. So what a switch calls 'forcing 1000 full' is, on the inside, autonegotiation advertising one single capability. The old advice is not merely dated: at gigabit it describes an operation that no longer exists. Cisco itself changed doctrine and wrote it down — the use of autonegotiation is regarded as a valid practice.

The plate closes on 2.5G and 5G, which were not invented for servers. In 2014 around ninety percent of enterprise access links worldwide ran on Cat5e or Cat6, capping them at one gigabit over a hundred metres exactly as Wi-Fi access points began to need more, and rewiring a campus to Cat6a at two hundred to eight hundred dollars per cable runs into the hundreds of thousands. IEEE 802.3bz, approved 22 September 2016, made autonegotiation and Extended Next Page mandatory for both new speeds and added them to the priority table above 1G — with no half-duplex entry at all. Plug a 2.5G AP into a 1G port and the 2.5G bit is simply not common, so the highest common denominator drops to 1000BASE-T full duplex and the link comes up clean at one gigabit. No error, no warning, no counter. Only the speed figure on the interface tells you the AP is throttled — the same pattern as the whole plate: the healthy link that performs badly.

Two things this plate deliberately withholds. There is no percentage for what a duplex mismatch costs in throughput, and no claim that the loss is worse in one direction: none of the sources behind this plate measured either, and Cisco only says extremely slow performance, intermittent connectivity, and loss of connection. Three narration depths, in English and Spanish.

Atlas index