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 не запрашивает текущее состояние дуплекса?
Возможно, вам лжет mii-tool, но да, один из них ошибся. Я бы доверял ethtool, поскольку я считаю, что в наши дни он лучше поддерживается большинством драйверов, но в конечном итоге любой из этих инструментов может доверять только тому, что им говорят от драйверов. Спросите своего коммутатора, что он думает о происходящем, как что-то вроде «независимого наблюдателя».