Troubleshooting Guide
Appendix B: Understanding How Autonegotiation Works
A
utonegotiation uses a modified version o
f
the link integrity test that is used for 10BASE-T devices to
negotiate speed and exchange other autonegotiation parameters. The original 10BASE-T link integrity test
is referred to as Normal Link Pulse (NLP). The modified version of the link integrity test for 10/100 Mbps
autonegotiation is referred to as FLP. The 10BASE-T devices expect a burst pulse every 16 (+/- 8)
milliseconds (msec) as part of the link integrity test. FLP for 10/100 Mbps autonegotiation sends these
bursts every 16 (+/- 8) msec with the additional pulses every 62.5 (+/- 7) microseconds. The pulses within
the burst sequence generate code words that are used for compatibility exchanges between link partners.
This process of FLP used in autonegotiation maintains backward compatibility with existing 10BASE-T
connections, with the pulse burst every 16 (+/- 8) msec to comply with the link integrity test for normal
10BASE-T hardware. If a device sends FLP and only receives NLP, the hardware immediately ceases
transmission of the FLP and enables the standard 10BASE-T hardware to continue 10BASE-T operation.
This table describes the possible programmable options of the control register for a FastEthernet interface.
These options determine how the FastEthernet interface functions when connected to a link partner. The 0
in the Bits column refers to the programmable register address, and the decimal number after the 0 refers
to the bit placement within the 16-bit register.
Table 12—Physical Interface (PHY) Control Register Programmable Options
The register bits relevant to this document include 0.13, 0.12, 0.8, and 0.6. The other register bits are
documented in the IEEE 802.3u specification. Based on IEEE 802.3u, in order to manually set the rate
(speed), the autonegotiation bit, 0.12, must be set to a value of 0. As a result, autonegotiation must be
disabled in order to manually set the speed and duplex. If the autonegotiation bit 0.12 is set to a a value of
1, bits 0.13 and 0.8 have no significance, and the link uses autonegotiation to determine the speed and
duplex. When autonegotiation is disabled, the default value for duplex is half-duplex, unless the 0.8 is
programmed to 1, which represents full-duplex.
Based on IEEE 802.3u, it is not possible to manually configure one link partner for 100 Mbps, full-duplex
and still autonegotiate to full-duplex with the other link partner. If you attempt to configure one link partner
for 100 Mbps, full-duplex and the other link partner for autonegotiation, it results in a duplex mismatch.
This is because one link partner autonegotiates and does not see any autonegotiation parameters from
the other link partner and defaults to half-duplex.
A
s described in Appendix B: Understanding How Autonegotiation Works, pulses within the FLP are used
to derive code words that exchange link partner capabilities. The first code word exchanged is referred to
as the base page. It informs each link partner of the message type, IEEE 802.3 or IEEE 802.9a, and a
technology ability field. This technology ability field is encoded to exchange the maximum operational
speed and duplex of each link partner.
Cisco Support Community - Featured Conversations
Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and
collaborate with your peers. Below are just some of the most recent and relevant conversations happening
right now.
Bits Name Description
0.15 Reset 1 = PHY reset 0 = normal mode
0.14 Loopback
1 = loopback mode switched on
0 = loopback mode switched off
0.13
Rate Selection (least-
significant bit [LSB])
0.6 0.13 1 1 reserved 1 0 1000
Mbps 0 1 100 Mbps 0 0 10
Mbps
0.12
Autonegotiation
Enable
1 = autonegotiaton enabled 0 =
autonegotiation disabled
0.11 Power Down
1 = power down 0 = normal
down
0.10 Isolated
1 = PHY electrically isolated
from media-independent
interface (MII) 0 = normal mode
0.9
Restart
Autonegotiation
1 = restart the autonegotiation
process 0 = normal mode
0.8 Duplex Mode 1 = full-duplex 0 = half-duplex
0.7 Collision Test
1 = collision (COL) signal test
active 0 = COL signal test
switched off
0.6
Rate Selection (most-
significant bit [MSB])
See bit 0.13