Skip to main content
PacketMentor logo
Open menu
← All topics
Network Fundamentals Foundational

Interface & Cable Issues: Collisions, Errors, Duplex/Speed Mismatch

Late collisions, input errors, CRC counters, and the classic auto-negotiation trap where one side ends up half-duplex and the link crawls at a fraction of its rated speed.

Quick summary
  • A duplex mismatch (one side full, one side half) doesn't drop the link. It silently tanks throughput and racks up late collisions on the half side and CRC/runts on the full side.
  • Auto/auto on both ends is safe on modern gear; hard-code both ends or leave both auto. Never one of each.
  • Read show interfaces counters: late collisions, CRC, runts, giants, input errors. Each tells a different story.

Mental model

Layer-1 and layer-2 problems don’t always announce themselves. A cable that’s marginal, a duplex mismatch, or a bent pin can leave the link up but the throughput at a small fraction of what you’d expect. The counters on show interfaces are how you diagnose it. They tick up silently while users complain the network is “slow”.

Duplex mismatch: the classic

Full-duplex = send and receive at the same time (no collisions possible). Half-duplex = one at a time; use CSMA/CD to detect collisions on the wire.

If one end is full-duplex and the other is half-duplex, both ends think they’re right and the link stays up, but the behavior is broken:

SideWhat it sees
Full-duplex sideIt transmits whenever it wants. The half side is transmitting too, so frames collide on the wire. But the full side won’t detect them (it’s not listening for collisions). It sees CRC errors and runts (frames chopped off by collisions).
Half-duplex sideIt backs off on collisions (CSMA/CD). But since the full side keeps hammering, the half side sees late collisions: collisions after the first 512 bit-times, which should be impossible in a healthy half-duplex network.

Net effect: the link “works” but at ~10-30% of nominal throughput, with retransmissions everywhere.

Speed mismatch

Modern Ethernet auto-negotiates speed AND duplex. If one side is hard-coded to 100/full and the other is set to auto, the auto side can usually detect speed via parallel detection but defaults to half-duplex, giving you the mismatch above.

Rule of thumb: don’t mix. Either both sides auto or both sides hard-coded to the same values.

Reading the counters

SW1# show interfaces GigabitEthernet0/1
GigabitEthernet0/1 is up, line protocol is up
  ...
  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
  ...
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collisions, 0 deferred
     0 lost carrier, 0 no carrier, 0 pause output
CounterWhat it meansLikely cause
CRCFrame arrived, its FCS doesn’t matchBad cable, EMI, duplex mismatch (full side)
runtsFrame < 64 bytesChopped by a collision; duplex mismatch, bad cable
giantsFrame > MTUMTU mismatch, jumbo-frame misconfig
input errorsUmbrella (CRC + runts + giants + frame + overrun + ignored)Look at the sub-counters
collisionsNormal on half-duplex, always zero on fullPresence on a “full-duplex” port = mismatch
late collisionsCollision after the first 512 bit-timesCable too long, or duplex mismatch (half side)
input drops / no bufferInterface can’t keep upMicro-bursts, undersized buffer
interface resetsLink flappedBad cable, SFP, or negotiation loop

Deliberate fix: real IOS

If auto-negotiation is misbehaving, hard-code both ends. Do this on both switches so they agree:

SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# speed 1000
SW1(config-if)# duplex full

To go back to auto (recommended on modern kit):

SW1(config-if)# speed auto
SW1(config-if)# duplex auto

Cable / physical checks

  • Wrong pinout: straight-through vs crossover mattered on old gear. Modern switches with Auto-MDIX handle either. If you disabled MDIX (no mdix auto), you’re back to caring about pinouts.
  • Cable category too low for the speed: Cat5 unshielded on a 10 Gbps port will not negotiate at 10 Gbps (see cable categories).
  • Bent pin or loose connector: CRC spikes on one port only, other ports fine.
  • EMI near industrial equipment: CRC on the whole switch stack. Move the cables away from the motor / VFD / fluorescent ballast.

The #1 mistake

Assuming “link up” = “link healthy”. The Ethernet link-status LED will happily glow green while the port is dropping 40% of frames to CRC and running at effective 30 Mbps on a gigabit port. Always check the counters after any change, and reset them (clear counters GigabitEthernet0/1) so you’re looking at fresh data.

Try it on the live console:

SW1# clear counters
SW1# show interfaces Gi0/1 | include duplex|error|collision
SW1# configure terminal
SW1(config)# interface Gi0/1
SW1(config-if)# speed 100
SW1(config-if)# duplex half
SW1(config-if)# end
SW1# show interfaces Gi0/1 | include duplex
Master this on a real network

Want this drilled into reflex?

1:1 weekly sessions, live feedback on your labs, and US interview prep: built around the CCNA® exam blueprint. Free first session. No card on file until you decide.

Claim my free session →

Get the free CCNA 12-week roadmap

You're already reading up on Interface & Cable Issues: Collisions, Errors, Duplex/Speed Mismatch. The roadmap is the order I recommend studying every CCNA topic in: with what to lab each week and where Interface & Cable Issues: Collisions, Errors, Duplex/Speed Mismatch fits. A written personal reply, not an autoresponder. Expect it within one business day.

Personal reply from a senior network engineer. No third-party tracking. Unsubscribe any time.