Networking · Hardware
Autonegotiation
Autonegotiation is the process by which two connected Ethernet devices automatically agree on the highest speed and duplex mode both support — eliminating the need to manually configure these parameters.
When you plug an Ethernet cable between two devices, autonegotiation runs before any data is exchanged. Each device advertises its capabilities — 10Mbps, 100Mbps, 1Gbps, 10Gbps; half or full duplex — and both settle on the best common option.
For modern Gigabit and 10G Ethernet, autonegotiation is mandatory in the spec and always used. The issue arises primarily with legacy 10/100Mbps links where manual speed/duplex configuration is possible.
Duplex mismatch
The most common autonegotiation failure: one side is set to auto-negotiate, the other is manually configured. The manually configured side doesn't advertise capabilities — the autonegotiating side sees no advertisement, interprets this as a legacy device, and defaults to half-duplex. The result is a duplex mismatch: one side is full-duplex, the other is half-duplex.
Symptoms: the link is up and passes traffic, but performance is poor — typically 10-20% of expected throughput, with errors in interface counters (late collisions on the half-duplex side). This is a notoriously hard-to-diagnose performance problem because the link appears to be working.
The fix: both sides should either both be set to auto, or both be manually set to the same speed and duplex. Never mix auto on one side with manual on the other.