为什么 mii-tool 说双工为半双工而 ethtool 却说双工为全双工?

为什么 mii-tool 说双工为半双工而 ethtool 却说双工为全双工?

CentOS 5.x

我将 CenTOS 服务器配置为使用全双工。我通过编辑网络脚本来实现这一点:

more /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
HWADDR=00:14:5E:0C:8B:E3

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

(IP 和 MAC 已重命名以保护无辜者 =))

做出这个改变后,我跑了服务网络重启

如果我跑mii 工具, 我懂了:

eth0: no autonegotiation, 100baseTx-HD, link ok

但是如果我跑ethtool eth0, 我懂了:

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  Not reported
        Advertised auto-negotiation: No
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
        Link detected: yes

为什么双工有差异?Mii-tool 认为是半双工,而 ethtool 认为是全双工。

ethtool 实际上不是在查询当前双工状态吗?

答案1

可能是 mii-tool 在骗你——但没错,他们中有人搞错了。我会信任 ethtool,因为我相信现在大多数驱动程序都对它提供了更好的支持,但最终这些工具都只能信任驱动程序告诉它们的信息。问问你的交换机它认为发生了什么,就像一个“独立观察者”。

相关内容