Мне подключили сервер Ubuntu 16.04 к переключателю, и они согласовывают полудуплексные соединения вместо полнодуплексного, и я не знаю почему. Я попытался использовать другой порт и кабель (который другой сервер использует для успешного соединения через полнодуплексный), но проблема сохраняется, таким образом, это исключает кабельный порт или проблему порта коммутатора, и я предполагаю, что проблема связана с конфигурацией Ubuntu или с NIC.
# lspci | grep Ethernet
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
# mii-tool -v eno1
eno1: negotiated 1000baseT-HD flow-control, link ok
product info: vendor 00:50:ef, model 45 rev 0
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
Какие-либо идеи о том, как зафиксировать это и получить полнодуплексное соединение (1000baseT-FD)? Мне не нравится вызывать ссылку на 1000baseT-FD, я предпочел бы фиксировать/отлаживать автосогласование так, чтобы этот режим был автоматически выбран.
Существует ошибка в mii-tool
это заставляет HD и FD быть передвинутым в случае Гигабитных ссылок скорости.
Можно подтвердить, что ссылка на самом деле работает 1000baseT-FD
путем выполнения ethtool
:
$ sudo ethtool [interface name] | grep Duplex
Duplex: full
С другой стороны, можно сказать от dmesg
то, что ссылка выполняет полный дуплекс:
$ dmesg|grep duplex
xxxxxxx eth0: Link is up at 1000 Mbps, full duplex