I’ve seen network issues crop up regularly in a network engineer’s day-to-day work, and when they do, it’s mostly the result of misconfigured or mismanaged devices. I can tell you that, in my experience, auto‑negotiation issues are among the most common problems I have seen in a network, and that’s a good thing because they can be easy to find (if you understand how it works and know where to look) and can be quickly remediated.
TL;DR: Best practice is to enable Auto‑Negotiation on both ends of the link. Hard‑setting speed/duplex on only one side is a common cause of duplex mismatches and poor performance. Modern BASE‑T PHYs such as 1000BASE‑T, 2.5G/5GBASE‑T, and 10GBASE‑T require Auto‑Negotiation.
In this blog post, we will discuss what is auto‑negotiation in Ethernet devices, and then we will take a look at how Ethernet devices negotiate and decide the best network settings for the interfaces.
What is auto‑negotiation in Networking in Ethernet devices?
Auto‑Negotiation in networking refers to the capability of Ethernet devices like Ethernet switches, routers, servers, etc., to automatically determine and configure their link settings, such as speed and duplex mode, without any manual intervention. It is an important feature that allows devices to establish a common communication method and optimize network performance.
When two Ethernet devices are connected, they initiate Auto‑Negotiation by exchanging a series of electrical signals called Fast Link Pulses (FLPs). During this process, the devices communicate their capabilities, including supported speeds (such as 10/100/1000 Mb/s and multi‑gig rates like 2.5G/5G/10G on copper) and duplex modes (half‑duplex or full‑duplex). Where supported, additional capabilities such as Pause (flow control) are also exchanged.
Once the devices exchange their capabilities, they will negotiate and agree upon the highest common speed and duplex mode that both devices support. For example, if one device supports 1G full‑duplex and the other supports only 100 Mb/s half‑duplex, they will agree to operate at 100 Mb/s half‑duplex since it is the highest common denominator.
Auto‑Negotiation can also convey flow control capabilities via Pause (symmetric/asymmetric) on copper BASE‑T links and on 1000BASE‑X. Note that on many higher‑speed optical links, Pause is not negotiated via Auto‑Negotiation and may require explicit configuration.
In summary, Auto‑Negotiation simplifies connecting Ethernet devices by automatically configuring their link settings. It ensures that devices communicate effectively and efficiently by establishing a common protocol, optimizing network performance, and maintaining compatibility between different devices on the network. The safest default is speed auto and duplex auto on both link partners.
What is the history of Auto‑Negotiation?
Auto‑Negotiation was first introduced in 1995 by IEEE. It originated in IEEE 802.3u Clause 28 (Fast Ethernet) and remains the basis for BASE‑T copper negotiation, including 1000BASE‑T (802.3ab), 2.5G/5GBASE‑T (802.3bz), and 10GBASE‑T (802.3an). Clause 37 applies to 1000BASE‑X (fiber/CX), which uses a different Auto‑Negotiation mechanism than 1000BASE‑T. For 1000BASE‑T and above on copper, Auto‑Negotiation is mandatory.
It was initially an optional component in the Fast Ethernet standard. Today, depending on the medium: 10/100BASE‑T can operate with or without AN (though AN is strongly recommended); 1000BASE‑T/2.5G/5G/10GBASE‑T require AN; many higher‑speed optical interfaces use different mechanisms and may not negotiate Pause via AN.
Two core configuration components determined by auto‑negotiation in Ethernet:-
Let us take a look at the two main components determined by Auto‑Negotiation.

What are Speed and Duplex on an interface?
Speed is the rate of the interface, commonly listed in Megabits per second (Mb/s) or Gigabits per second (Gb/s). Duplex describes how data is transmitted via an interface: half‑duplex or full‑duplex.
Common Ethernet speeds now include 10/100 Mb/s, 1 Gb/s, 2.5 Gb/s, 5 Gb/s, 10 Gb/s, 25 Gb/s, 40 Gb/s, 50 Gb/s, 100 Gb/s, 200 Gb/s, 400 Gb/s, and 800 Gb/s (deployment varies by context). Gigabit and faster links operate full‑duplex; half‑duplex is legacy and limited to 10/100 Mb/s hubs or specific older equipment.
Duplex can be half‑duplex or full‑duplex. Only one piece of data can be sent or received at a time using a half‑duplex interface. For example, conversations carried out using a two‑way radio are typically conducted in half‑duplex. In contrast, a full‑duplex interface allows data to be sent and received at the same time, similar to a telephone conversation.
How Auto‑Negotiation Works
If you want to use Auto‑Negotiation, you need it enabled on both ends of the link. If one side of a link runs Auto‑Negotiation but the other side is hard‑set, the speed may align via parallel detection at 10/100 Mb/s, but duplex will not be negotiated, which often creates a duplex mismatch. When Auto‑Negotiation runs on both sides, the devices choose the best common mode (higher speeds and full‑duplex are preferred).
Please note: Auto‑Negotiation is not automatic unless you enable it. Ensure it is configured on both sides of the ports. If it is enabled on one side and disabled on the other, then Auto‑Negotiation will not work as intended.
You need to understand an essential feature within Auto‑Negotiation called parallel detection:
- Parallel detection is a PHY function used when a device detects that the peer does not support Auto‑Negotiation. It can detect 10 or 100 Mb/s speed but cannot detect duplex, increasing the risk of duplex mismatches. It does not apply to 1000BASE‑T and above.
- Because duplex is not determined by parallel detection, one side may operate full‑duplex while the other falls back to half‑duplex, causing performance problems.
- Parallel detection helps maintain backward compatibility with older systems that lack Auto‑Negotiation, but using AN on both sides is preferred.
Let us understand the speed and duplex support of common Ethernet connection types:-
| Ethernet Connection Types | Full Duplex Support |
|---|---|
| 10Base-T | The 10base-T device has no support for full-duplex, although some 10Base-T supports Full duplex. |
| 100Base-T | Fast Ethernet standard supports Full-Duplex, but the default mode is half-duplex. |
| 1000Base-T | 1000Base-Tx and Fiber Gig Interfaces fully support Full-duplex, better than 10Base-T and 100Base-T. You should always set gigabit Ethernet to auto-negotiation. |
| 10 Gigabit | 10G connectivity is usually hardware-driven and supports Full duplex. 10 Gigabit (10G) connections rely on fiber transceivers or specific copper connections that differ from standard RJ-45 Ethernet connections. |
| 100 Gigabit | 100G, 200G, and beyond connectivity is hardware-driven and supports Full duplex. 100 Gigabit (100G) connections require fiber transceivers called QSFPs. |
Ethernet auto‑negotiation takes place when the following events occur:
- Link is first connected
- A device at either end of the link is powered on
- A device is being initialized or reset
- A request for renegotiation is made
What are auto‑negotiation optional Capabilities:-
Apart from speed and duplex, Auto‑Negotiation can exchange these capabilities where supported:
- Flow control (Pause) advertisement: symmetric and asymmetric Pause
- Remote Fault Indication
- Energy‑Efficient Ethernet (EEE) advertisement on supported PHYs
- Some platform‑specific features via next‑page exchange
MDI/MDI‑X stands for Medium Dependent Interface. Auto MDI‑X (automatic crossover) is a separate PHY feature and is not itself an Auto‑Negotiation capability, although many devices implement both.
Reasons When Auto‑Negotiation Fails

Mixing hard‑set and Auto‑Negotiation typically causes a duplex mismatch: speed may match (especially at 10/100 Mb/s via parallel detection), but duplex does not, leading to collisions, FCS/CRC errors, and poor throughput.
For example:-
- One end is 100/full and the other is Auto‑Negotiation (peer may choose 100/half)
- One side is 100/full, and the other is 100/half
Let’s dig deeper and understand why it happens and take an example where one side is full‑duplex, and the other side is half‑duplex.
When one side of a link is full‑duplex and the other is half‑duplex, the full‑duplex side will transmit whenever it needs to, while the half‑duplex side transmits only when the RX line is idle. As a result, the half‑duplex side experiences late collisions and retransmissions and appears slow. Half‑duplex interfaces show late collisions; full‑duplex interfaces do not. Neither side necessarily logs a link failure, which makes the issue easy to miss.
Auto‑Negotiation Best Practices
- Configure both link partners with speed auto and duplex auto.
- Do not hard‑set one side and Auto‑Negotiate on the other. If you must hard‑set (e.g., interop with legacy gear), hard‑set both sides identically.
- On copper, remember: 1000BASE‑T, 2.5G/5GBASE‑T, and 10GBASE‑T require Auto‑Negotiation for proper operation and features like EEE/Pause advertisement.
- Verify counters: look for late collisions, FCS/CRC errors, and interface resets during troubleshooting.
Auto‑negotiation configuration Steps:-
For Cisco IOS software:-
On Cisco switches, Auto‑Negotiation is enabled by default. IOS commands let you set the speed and duplex mode yourself.
But you have to set speed first before setting up the duplex; otherwise, the switch port will give the below error.
Switch-2900(config-if)#duplex half
Duplex can not be set until speed is set to non-auto value
Also, modern Cisco switches may give you warnings about trying to set half‑duplex on Gigabit ports.
SW-3850(config-if)#duplex half
% Duplex cannot be set to half when speed auto-negotiation subset contains 1Gbps
To change the speed of the interface, type speed. If the interface has already been set up, you can bring it back to Auto‑Negotiation by using the auto keyword:
Switch-3850(config-if)#speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
1000 Force 1000 Mbps operation
auto Enable AUTO speed configuration –> This is the Auto‑Negotiation mode
After setting speed, you can set duplex.
Switch-3850(config-if)#duplex ?
auto Enable AUTO duplex configuration –> This is the Auto‑Negotiation mode
full Force full duplex operation
half Force half-duplex operation
For Cisco NXOS software:-
NX‑OS commands are the same as the IOS:
Nexus-5K(config)#int e1/5
Nexus-5K(config-if)#speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
1000 Force 1000 Mbps operation
auto Enable AUTO speed configuration –> This is the Auto‑Negotiation mode
NX-5K(config-if)#
NX-5K(config-if)#speed 1000
NX-5K(config-if)#duplex full
On Linux (ethtool):
# ethtool eth0
# ethtool -s eth0 autoneg on
# ethtool -s eth0 speed 100 duplex full autoneg off (only when both ends are hard‑set)
On Windows (PowerShell):
Get-NetAdapterAdvancedProperty -Name “Ethernet” -DisplayName “Speed & Duplex”
Set-NetAdapterAdvancedProperty -Name “Ethernet” -DisplayName “Speed & Duplex” -DisplayValue “Auto Negotiation”
What Is the summarized Process of Auto‑Negotiation on Ethernet?
- First of all, two link partners send a Fast Link Pulse burst containing link code words, but no acknowledge bit is set.
- Within 6 to 17 pulses of the initial received FLP burst, stations identify one another as auto‑negotiable.
- After the successful identification, the station waits for three consistent, complete, and consecutive FLP bursts.
- The station enters the “acknowledge detect” state and begins transmitting FLP bursts with link code words with the acknowledge bit set.
- After receiving three complete, consecutive, and consistent FLP bursts containing a set of acknowledge bits, the station enters complete acknowledge mode. Next, it transmits six to eight FLP bursts with the acknowledge bit set containing link code words.
- The station optionally participates in the next‑page exchange after transmitting 6 to 8 FLP bursts.
- Stations resolve HCD technology and negotiate to the link if it is supported after completing the next‑page exchange. On the contrary, no links are formed if no standard technology is shared.
Conclusion
As networks and network hardware keep getting better, faster links with better negotiation protocols will continue to reduce negotiation problems—yet I still see routers made 20 years ago in use. Knowing what is auto‑negotiation in Ethernet and how Auto‑Negotiation works will be a valuable skill for many years to come. Please share this article so that it reaches other network engineers.
Frequently Asked Questions:-
To stop auto‑negotiation, you must manually configure the link speed to 10, 100, or 1000 Mb/s (and matching duplex), disable Auto‑Negotiation, and save the settings. However, this is generally not recommended because mixing hard‑set and Auto‑Negotiation often causes duplex mismatches. If you must hard‑set, configure both ends identically and verify counters.
Auto‑Negotiation problems are widespread when link partners are misconfigured (for example, one end hard‑set and the other left to negotiate). That can cause dropped packets, slower throughput, and session drops. The recommended approach is to enable Auto‑Negotiation on both ends, especially for 1000BASE‑T, 2.5G/5GBASE‑T, and 10GBASE‑T, which require it to establish the proper mode and features like Pause or EEE advertisement.
- Telecom Network Infrastructure: Complete Guide to Components & Design - January 6, 2026
- TP-Link TL-SG108E vs Netgear GS308E: Budget Smart Switches - January 5, 2026
- MikroTik CRS305-1G-4S+ Review: The Ultimate Budget SFP+ Switch Guide - December 25, 2025





