Перейти к основному содержанию

Linux — нет линка

Linux

Подключили патчкорды, а линка нет. Смотрю в ОС:

for i in /sys/class/net/*; do [ -e "$i/device" ] && printf "%-12s %-18s %s\n" "$(basename $i)" "$(cat $i/address)" "$(cat $i/carrier 2>/dev/null | sed 's/^1$/UP/; s/^0$/DOWN/')"; done

Результат:

enp24s0f0    0e:04:50:ae:26:8d  UP
enp24s0f1    0e:04:50:ae:26:8d  UP
enp27s0f0    cc:82:7f:2d:cf:33
enp27s0f1    cc:82:7f:2d:cf:34
enp4s0       cc:82:7f:2d:cf:31
enp5s0       cc:82:7f:2d:cf:32

Результат не правильный, потому как в сервер воткнуто 4 кабеля и на всех светится линк. Что-то не так. По идее на enp27s0f0 и enp27s0f1 тоже должен быть линк.

dmesg | grep enp27s0f0

Видим:

[    5.896063] i40e 0000:1b:00.0 enp27s0f0: renamed from eth4

Да, интерфейс при загрузке назывался eth4. А так?

 dmesg | grep eth4

Видим:

[    5.129944] i40e 0000:1b:00.0 eth4: NIC Link is Up, 1000 Mbps Full Duplex, Flow Control: None
[    5.896063] i40e 0000:1b:00.0 enp27s0f0: renamed from eth4

Как интересно. При загрузке eth4 отображался как NIC Link is Up.

Залип драйвер? Какой?

 ethtool -i enp27s0f0

Видим:

driver: i40e

Драйвер Intel i40e.

Можно заставить карту пройти инициализацию драйвера заново:

sudo modprobe -r i40e
sudo modprobe i40e

Перезагрузка драйвера i40e затронет все порты на этой карте. Да и на других картах с этим драйвером. Сервер в бою, не хочу сломать что-нибудь. Попробую метод проще, передёрнем интерфейсы:

sudo ip link set enp27s0f0 down
sudo ip link set enp27s0f1 down
sleep 2
sudo ip link set enp27s0f0 up
sudo ip link set enp27s0f1 up
sudo ethtool enp27s0f0 | grep "Link detected"
sudo ethtool enp27s0f1 | grep "Link detected"

Вижу:

       Link detected: yes
       Link detected: yes

Уже лучше.

for i in /sys/class/net/*; do [ -e "$i/device" ] && printf "%-12s %-18s %s\n" "$(basename $i)" "$(cat $i/address)" "$(cat $i/carrier 2>/dev/null | sed 's/^1$/UP/; s/^0$/DOWN/')"; done

 Результат:

enp24s0f0    0e:04:50:ae:26:8d  UP
enp24s0f1    0e:04:50:ae:26:8d  UP
enp27s0f0    cc:82:7f:2d:cf:33  UP
enp27s0f1    cc:82:7f:2d:cf:34  UP
enp4s0       cc:82:7f:2d:cf:31
enp5s0       cc:82:7f:2d:cf:32

 Другое дело. А то я уже испугался.

В Интернете пишут, что в драйвере i40e есть классическая ошибка неверного отображения состояния интерфейса. Возможно, это она и есть.

Теги

 

Похожие материалы

Поддержка неподдерживаемых трансиверов в Linux

Сетевая карта Intel X520-DA2 - 10 Гигабит SFP+. При загрузке ошибка: ixgbe failed to load because an unsupported SFP+ module type was detected. Сетевой интерфейс не поднимается.