# ethtool: Link detected: no (autonegotiation failed) on eth0

- **ID:** `networking/ethtool-autoneg-failure`
- **Domain:** networking
- **Category:** system_error
- **Verification:** ai_generated
- **Fix Rate:** 75%

## Root Cause

The Ethernet interface failed to establish a link due to autonegotiation failure, typically caused by mismatched speed/duplex settings between the NIC and the switch port, or a faulty cable/connector.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| ethtool 5.10-6.10 | active | — | — |
| Linux kernel 5.10-6.8 | active | — | — |
| Intel I350/i40e drivers 5.x-6.x | active | — | — |
| Broadcom bnxt_en driver | active | — | — |
| Mellanox mlx5 driver | active | — | — |

## Workarounds

1. **Check cable and connection: use `ethtool eth0` to see current settings, then test with a known-good cable. Replace if faulty.** (80% success)
   ```
   Check cable and connection: use `ethtool eth0` to see current settings, then test with a known-good cable. Replace if faulty.
   ```
2. **Force both sides to the same speed/duplex: on Linux, `ethtool -s eth0 speed 1000 duplex full autoneg off` and configure the switch port to 1000/full. Verify with `ethtool eth0`.** (75% success)
   ```
   Force both sides to the same speed/duplex: on Linux, `ethtool -s eth0 speed 1000 duplex full autoneg off` and configure the switch port to 1000/full. Verify with `ethtool eth0`.
   ```
3. **If autoneg is required, ensure both sides support the same capabilities: update NIC firmware or driver, and verify switch port configuration (e.g., `show interfaces status` on Cisco).** (70% success)
   ```
   If autoneg is required, ensure both sides support the same capabilities: update NIC firmware or driver, and verify switch port configuration (e.g., `show interfaces status` on Cisco).
   ```

## Dead Ends

- **Forcing speed/duplex on only one side (e.g., NIC set to 1000/full, switch set to auto)** — Autonegotiation requires both sides to have matching settings; forcing one side while leaving the other on auto causes a duplex mismatch, leading to packet loss or no link. (85% fail)
- **Replacing the NIC without testing the cable or switch port** — The issue may be a bad cable or switch port; replacing the NIC wastes time and resources. (60% fail)
- **Setting the interface to a lower speed (e.g., 100 Mbps) without verifying switch support** — The switch port may not support 100 Mbps or may have a different configuration, causing the same failure. (70% fail)
