背景:Broadwell-DE I210 <-------> Switch (Auto Negotiation -- ON, Max support speed – 100Mbps)
问题描述:无论在BIOS Setup下以及使用Lanconf工具修改I210的速度,最终都是自协商模式,修改不成功。
1.在BIOS Setup下修改,不生效
2.使用lanconf工具修改,不生效
LANCONF tool-->Intel (R) I210 Gigabit Network Connection 8086-1533 -->Transmit and Receive-->Setup Menu-->Link Settings-->Change "Link Mode" to "Force Speed" and select the specific speed -->Save Changes/Reset Link
3.使用ethtool在OS下进行修改
root@sonic:~# ethtool -s eth0 autoneg off speed 10 duplex half [ 1107.370967] igb 0000:0a:00.0: Cannot change link characteristics when SoL/IDER is active. Cannot set new settings: Invalid argument not setting speed not setting duplex not setting autoneg root@sonic:~# |
原因分析:根据第3点,使用ethtool工具内核打印的信息进行定位。
总结:
应该是MANC寄存器中的KEEP_PHY_LINK_UP 位被置1了(I210 datasheet #333016),导致链路速度修改不了。文档中提到的修改方法是通过SMBUS 命令或者是NCSI 命令去修改,由于我们硬件上使用的I210通过NCSI连到了BMC,询问BMC工程师说实现好像有点复杂,就没继续追踪了。