Broadcom BCM5764M Gigabit Ethernet не соединится на Гигабитной скорости

У меня есть HT Z600 с межтертым контроллером ethernet 5764 PCIe LOM.

Когда я проверяю рекламируемую скорость с sudo ethtool enp1s0 Я вижу рекламируемые канальные режимы 10,100,1000baseT, полудуплексный и полный дуплекс.

Когда я включаю кабель, 'проводные настройки' показывают попытку соединиться на уровне 1 000 МБ/с, затем показывают 'кабель, разъединенный' затем другая попытка соединиться.

При использовании другого (более старого) маршрутизатора произошло бы то же самое, но после многих попыток оно соединится на уровне 100 МБ/с. С двумя современными коммутаторами это просто пытается соединиться в 1 000 и никогда не успешно выполняется.

Я могу заставить его соединиться, только рекламируя 10 100 использований скоростей sudo ethtool -s enp1s0 advertise 0x004 и это сразу соединится на уровне 100 МБ/с.

Когда я ищу подобные проблемы, почти каждый раз, когда это было вызвано неисправным кабелем. Я купил переключатель с индикаторами скорости и протестировал каждый кабель, cat5e и показывает гигабитной скоростью, когда оба конца включены тот переключатель. Я также протестировал это, кабель дает гигабитную скорость, и сеть обычно ведет себя при включении между двумя различными переключателями. Я проверил, что каждый порт на обоих переключателях дает гигабитные скорости.

Вот моя попытка собрать информацию:

Ubuntu 18.04.2 LTS

> lspci | awk '/[Nn]et/ {print $1}' | xargs -i% lspci -ks %
01:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5764M Gigabit Ethernet PCIe (rev 10)
    Subsystem: Hewlett-Packard Company NetXtreme BCM5764M Gigabit Ethernet PCIe
    Kernel driver in use: tg3
    Kernel modules: tg3

> lspci -nn -d 14e4:

01:00.0 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5764M Gigabit Ethernet PCIe [14e4:1684] (rev 10)

> sudo ethtool -i enp1s0

driver: tg3
version: 3.137
firmware-version: 5764m-v3.35
expansion-rom-version: 
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

> sudo ethtool enp1s0 (when I set advertised mode to 10/100)

Settings for enp1s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  100baseT/Half 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 100Mb/s
    Duplex: Half
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off
    Supports Wake-on: g
    Wake-on: g
    Current message level: 0x000000ff (255)
                   drv probe link timer ifdown ifup rx_err tx_err
    Link detected: yes

> sudo ethtool enp1s0 (when I set speed to 1000 with sudo ethtool -s enp1s0 speed 1000 duplex full)

Settings for enp1s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  1000baseT/Full 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: Unknown!
    Duplex: Unknown! (255)
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Supports Wake-on: g
    Wake-on: g
    Current message level: 0x000000ff (255)
                   drv probe link timer ifdown ifup rx_err tx_err
    Link detected: no


(offload features)
> sudo ethtool -k enp1s0
...
highdma: on
...

> sudo cat /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

> dmesg

[159771.985545] tg3 0000:01:00.0 enp1s0: Link is up at 1000 Mbps, full duplex
[159771.985554] tg3 0000:01:00.0 enp1s0: Flow control is on for TX and on for RX
[159773.152452] tg3 0000:01:00.0 enp1s0: Link is down
[159779.157332] tg3 0000:01:00.0 enp1s0: Link is up at 1000 Mbps, full duplex
[159779.157334] tg3 0000:01:00.0 enp1s0: Flow control is on for TX and on for RX
[159780.324591] tg3 0000:01:00.0 enp1s0: Link is down
[159783.204587] tg3 0000:01:00.0 enp1s0: Link is up at 1000 Mbps, full duplex
[159783.204599] tg3 0000:01:00.0 enp1s0: Flow control is on for TX and on for RX
[159784.367819] tg3 0000:01:00.0 enp1s0: Link is down
[159787.230882] tg3 0000:01:00.0 enp1s0: Link is up at 1000 Mbps, full duplex
[159787.230895] tg3 0000:01:00.0 enp1s0: Flow control is on for TX and on for RX
[159788.394290] tg3 0000:01:00.0 enp1s0: Link is down
...

И вот то, чего я делал попытку:

updated /etc/default/grub to add GRUP_CMDLINE_LINUX_DEFAULT="iommu=soft" then sudo update-grub and reboot.
No difference that I can see.

> sudo ethtool -s enp1s0 speed 100 duplex full
... works and immediately connects at 100.
> sudo ethtool -s enp1s0 speed 1000 duplex full
... switches between "connecting" and "cable disconnected", shows the "link is up/link is down" messages from the dmesg output above.

> sudo ethtool -K enp1s0 highdma (on/off)
No difference that I can see.

Любая справка ЗНАЧИТЕЛЬНО ценится!

Править: Я могу подтвердить, что это - драйвер или аппаратная проблема потому что когда в 1 000:

> ip link | grep enp
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000

и когда в 100

> ip link | grep enp
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

(И этот комментарий, говоря, что без поставщиков услуг или драйвер или аппаратные средства: https://bugzilla.gnome.org/show_bug.cgi? id=792506#c5)..., весь из которого подтверждает то, что заявляет Fabby. Я предполагаю, что мне не повезло.

Править: Этот вопрос, кажется, та же проблема и указывает, что карта работала с Ядром 4.14, но прекратила работать с 4,15. uname -r говорит мне, что я работаю 4.15.0-55-универсальный - таким образом, это, кажется, соответствует. Я не знаю достаточно о ядрах, чтобы обновить/поддержать/проверить, если обновление поможет. Но это было бы другим вопросом, спасибо за справку с этим!

3
задан 6 August 2019 в 03:49

1 ответ

Во всех ответах, которые Вы находите, говорится, что это - кабель потому что вот что это значит в 99% всех случаев.

Проблема действительно на аппаратном уровне, хотя, и поскольку Ваши кабели и переключатели, кажется, проверяют OK, который оставляет Вас с:

  • Встроенное микропрограммное обеспечение (я проверил: существует встроенная поддержка этой карты),
  • Фактический коннектор в ПК

Таким образом, у Вас есть аппаратная проблема, или у Вас есть ошибка во встроенном микропрограммном обеспечении, и оба из них вне темы здесь.

Однако просто зафиксируйте скорость в 100M на данный момент и каждый x обновления ядра, которые Вы получаете, пробуют 1G снова или просто заменили коннектор...

1
ответ дан 1 December 2019 в 17:25

Другие вопросы по тегам:

Похожие вопросы: