Networking: Duplex mismatch — late collisions, runts and CRC errors on the switch port
One side runs full duplex and the other half duplex, so the link works but is slow and drops packets.
Duplex mismatchlate collisions on interfaceCRC errors input errorsHalf-duplex on a full-duplex link Meaning
Auto-negotiation failed or one end was hard-coded. Set both ends to auto (preferred) or both to the same speed and duplex, and check counters: late collisions and CRC/FCS errors rising on the half-duplex side show the mismatch. Replace flaky cables that fail negotiation.
Common causes
- One side hard-coded, the other on auto
- Old or faulty NIC/driver
- Bad cable causing failed negotiation
- Cheap unmanaged switch with a fixed port
- Mismatched speed settings
⚡ Quick fix
- Set both ends to auto-negotiation
- Or hard-set the same speed/duplex on both
- Read counters:
ethtool -S eth0 | grep -iE "crc|collision"
Detailed fix by platform
Linux
sudo ethtool eth0 | grep -E "Speed|Duplex|Auto-negotiation"; ethtool -S eth0 | grep -iE "crc|collis|align"
How to diagnose
- Speed/duplex — Same both ends?
- Auto-negotiation — Enabled?
- CRC errors — Rising?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- arp -a shows (incomplete) Networking: `arp -n` shows (incomplete) / Destination Host Unreachable — no ARP reply from the next hop
- High TCP retransmissions / packet loss Networking: netstat -s: segments retransmitted / Wireshark: TCP Retransmission, TCP Dup ACK — packet loss on the path
- MAC flapping / broadcast storm (spanning tree loop) Networking: %SW_MATM-4-MACFLAP_NOTIF: Host is flapping between ports / broadcast storm
Most viewed in Networking
- Rogue DHCP server hands out wrong gateway/DNS Networking: Clients receive the wrong default gateway or DNS server — a rogue DHCP server (often a home router) answers first
- Idle connections silently dropped by firewall/NAT Networking: Connection works, then fails after being idle — firewall/NAT idle timeout dropped the TCP session (use keepalive)
- DHCPDISCOVER: no free leases Networking: dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth0: network 192.168.1.0/24: no free leases
Other ways to find it
Where this error sits
Origin: Network. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 5 Nov 2026