networking system_error ai_generated partial

ethtool:链路检测到:无(自动协商失败)在eth0上

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

ID: networking/ethtool-autoneg-failure

其他格式: JSON · Markdown 中文 · English
75%修复率
85%置信度
1证据数
2024-05-12首次发现

版本兼容性

版本状态引入弃用备注
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

根因分析

以太网接口因自动协商失败而无法建立链路,通常由NIC和交换机端口之间的速度/双工设置不匹配,或电缆/连接器故障引起。

English

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.

generic

官方文档

https://www.kernel.org/doc/html/latest/networking/ethtool.html

解决方案

  1. 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`.
  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).

无效尝试

常见但无效的做法:

  1. Forcing speed/duplex on only one side (e.g., NIC set to 1000/full, switch set to auto) 85% 失败

    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.

  2. Replacing the NIC without testing the cable or switch port 60% 失败

    The issue may be a bad cable or switch port; replacing the NIC wastes time and resources.

  3. Setting the interface to a lower speed (e.g., 100 Mbps) without verifying switch support 70% 失败

    The switch port may not support 100 Mbps or may have a different configuration, causing the same failure.