What is auto-negotiation
Ethernet has standards with different communication speeds, such as 10BASE-T, 100BASE-TX, and 1000BASE-T, and each has communication modes such as half-duplex communication and full-duplex communication.
Unfortunately, it is necessary to match the communication speed and communication mode between the devices to be connected.
It is a very difficult task to match the communication speed and communication mode for each connection between devices. Therefore, a mechanism called Auto-Negotiation has been considered.
Auto-negotiation is a mechanism that negotiates the communication speed (10Mbps/100Mbps/1Gbps) and communication mode (half-duplex/full-duplex) between connected devices and automatically sets the optimum mode.
For example, if the communication speed of your interface is 100 Mbps and the communication mode supports full-duplex, and the other interface supports 100 Mbps full-duplex mode, both interfaces can perform 100 Mbps full-duplex mode. It automatically switches to dual mode.
In this way, it is a very convenient function because it automatically negotiates and switches between the communication speed and operation mode that are the fastest for each other, but there are actually problems.
This is because the communication mode settings (half-duplex/full-duplex) do not match between devices. It often happens that one communication mode is half-duplex and the other communication mode is full-duple