必须用ethtool查看实时协商速率,执行sudo ethtool网卡名后检查Speed行(如1000Mb/s)、Link detected: yes和Auto-negotiation: on;若Speed为Unknown!,则用lspci查LnkCap Speed或ethtool -i查驱动兼容性。

在麒麟操作系统中确认网卡当前物理链路协商速度,比如判断千兆网卡是否真的跑在1000Mb/s而非降速到100Mb/s,必须绕过软件层干扰直接读取PHY芯片反馈值,不能仅看IP配置或网络图标状态。
用 ethtool 查看实时协商速率
ethtool 是麒麟系统中唯一能准确读取网卡物理层协商结果的权威工具,它直接与驱动和PHY通信,输出 Speed、Duplex、Link detected 等真实状态。
第一步:打开终端,执行 ip -br a 或 ifconfig -a,找出处于 UP 状态的有线网卡名,常见如 ens33、enp0s3、ens11f0;【若看到多个 UP 接口,优先选名称不含 docker、lo、virbr 的物理网卡】。
第二步:以 root 权限运行 sudo ethtool 网卡名,例如 sudo ethtool ens33。
第三步:在输出中定位 Speed: 行——后面数值即为当前链路实际协商速率,如 1000Mb/s 表示千兆全速,100Mb/s 表示已降速;同时检查 Link detected: 必须为 yes,否则链路未通,Speed 值无效。
第四步:观察 Auto-negotiation: 是否为 on;若为 off,说明两端设备未启用自协商,可能强制设为百兆半双工,需同步检查交换机端口配置。
当 ethtool 显示 Speed: Unknown! 时怎么办
这种情况通常出现在网线未插、光模块未识别或驱动未正确加载时,此时无法获取实时协商值,但可通过硬件规格反推理论最大能力。
方法一:查网卡型号与 PCIe 链路能力
执行 lspci | grep -i ethernet,记下网卡对应的 PCI 地址(如 0000:02:00.0)。
再运行 lspci -vv -s 0000:02:00.0 | grep -A 5 "LnkCap",查找 LnkCap: 行中的 Speed 字段——8.0 GT/s 对应 PCIe 3.0,常见于万兆卡;2.5 GT/s 多为 PCIe 2.0,对应千兆卡。
方法二:查驱动支持的最高速率
运行 sudo ethtool -i 网卡名 | grep firmware,结合驱动名(如 igb、i40e)查阅麒麟官方兼容列表,确认该驱动版本是否支持万兆协商。
用 mii-tool 辅助验证(仅限老旧网卡)
mii-tool 已被标记为 obsolete,仅适用于部分 Realtek 或早期 Marvell 芯片,在现代麒麟 SP1/SP2 系统中多数返回 “no link” 或直接报错,不建议作为主要依据。
执行 sudo mii-tool 网卡名,若输出类似 ens33: negotiated 100baseTx-FD, link ok,其中 100baseTx-FD 表示 100Mbps 全双工;1000baseT-FD 才表示千兆全双工。
【注意:若 ethtool 和 mii-tool 结果冲突,一律以 ethtool 为准】。

















