Новая сборка на материнской плате Gigabyte z490 Vision G. Загорелась связь с сетью, кабель напрямую к коммутатору. Я установил другую сетевую карту, подключенную к тому же коммутатору, и я использую ее для подключения, потому что она отлично работает (драйвер Intel igb). Встроенный сетевой порт иногда появляется после перезагрузки, но обычно не показывает канал и скорость / дуплекс «Неизвестно!»
Как вы думаете, что происходит? Какая еще информация вам нужна?
Я не думаю, что это кабель cat6, я пробовал несколько и несколько портов коммутатора и кабели, которые успешно используются на других портах. Это сетевая карта 2,5 Гбит / с, подключенная к коммутатору 1 Гбит / с, я мог бы попробовать подобрать cat7 и посмотреть, поможет ли это.
Запрошенные данные добавлены в конце, нет каталога / etc / network / interfaces, и все в / etc / network выглядит стандартным.
Установка сервера Ubuntu 20.04.
$ ethtool enp5s0
Settings for enp5s0:
Supported ports: [ ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: no
$ lspci -knn
5:00.0 Ethernet controller [0200]: Intel Corporation Device [8086:15f3] (rev 02)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
Kernel driver in use: igc
Kernel modules: igc
$ dmesg | grep igc
[ 3.181094] igc 0000:05:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
[ 3.181096] igc 0000:05:00.0 eth0: MAC: 18:c0:4d:00:00:00
[ 3.181657] igc 0000:05:00.0 enp5s0: renamed from eth0
*-network
description: Ethernet interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:05:00.0
logical name: enp5s0
version: 02
serial: 18:c0:4d:00:00:00
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list rom ethernet physical 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igc driverversion=0.0.1-k latency=0 link=no multicast=yes port=twisted pair slave=yes
resources: irq:17 memory:51a00000-51afffff memory:51b00000-51b03fff memory:51900000-519fffff
Запрошенные данные:
$ cat /etc/netplan/*.yaml
network:
ethernets:
enp6s0f0:
dhcp4: no
enp6s0f1:
dhcp4: no
enp5s0:
dhcp4: no
optional: true
bonds:
bond0:
interfaces: [enp6s0f0, enp6s0f1, enp5s0]
addresses: [192.168.37.10/24]
gateway4: 192.168.37.1
nameservers:
addresses: [192.168.37.1]
search: [home.lan]
parameters:
mode: balance-alb
version: 2
$ sudo lshw -C network
*-network
description: Ethernet interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:05:00.0
logical name: enp5s0
version: 02
serial: 18:c0:4d:00:00:00
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igc driverversion=0.0.1-k latency=0 link=no multicast=yes port=twisted pair slave=yes
resources: irq:17 memory:51a00000-51afffff memory:51b00000-51b03fff memory:51900000-519fffff
*-network:0
description: Ethernet interface
product: 82576 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:06:00.0
logical name: enp6s0f0
version: 01
serial: 00:1b:21:00:00:00
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.5.1 latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:16 memory:51820000-5183ffff memory:51400000-517fffff ioport:3020(size=32) memory:51844000-51847fff memory:51848000-51867fff memory:51868000-51887fff
*-network:1
description: Ethernet interface
product: 82576 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0.1
bus info: pci@0000:06:00.1
logical name: enp6s0f1
version: 01
serial: f6:3b:fc:00:00:00
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.5.1 latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:17 memory:51800000-5181ffff memory:51000000-513fffff ioport:3000(size=32) memory:51840000-51843fff memory:51888000-518a7fff memory:518a8000-518c7fff
Я отвечу на свой вопрос, это проблема с прошивкой Intel. Надеюсь, что это поможет кому-то еще.
Gigabyte разместил на своем веб-сайте прошивку NIC, предназначенную только для Windows, https://download.gigabyte.com/FileList/Driver/mb_driver_intel-i225-firmware-tool.zip . У Intel есть утилиты Linux NVMUpdate на их сайте, но, насколько я могу судить, они не поставляются с этой прошивкой. Доступно по адресу https://downloadcenter.intel.com/download/22283/Intel-Ethernet-Adapter-Complete-Driver-Pack
. Итак, загрузите оба, скопируйте FXVL_15F3_V_2MB_1.45.bin из средства обновления Windows в средство обновления Windows Местоположение Linux, в моем случае:
cp ~/Nvmupdate145/i225/FXVL_15F3_V_2MB_1.45.bin ~/NVMUpdatePackage/700_Series/700Series/Linux_x64
Добавьте это в nvmupdate.cfg:
BEGIN DEVICE
DEVICENAME: NNT
VENDOR: 8086
DEVICE: 15F3
SUBVENDOR: 1458
SUBDEVICE: E000
NVM IMAGE: FXVL_15F3_V_2MB_1.45.bin
IMAGE DOWNGRADE: TRUE
END DEVICE
И запустите утилиту. Вы должны увидеть:
$ sudo ./nvmupdate64e
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.35.23.3
Copyright (C) 2013 - 2020 Intel Corporation.
WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update.
Inventory in progress. Please wait [*****.....]
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Gigabit ET Dual Port 1.5(1.5) 10C9 00:002 Update not
Server Adapter available
02) Intel(R) Ethernet Controller (2) 1.69(1.45) 15F3 00:006 Update
I225-V available
Options: Adapter Index List (comma-separated), [A]ll, e[X]it
Enter selection: a
Would you like to back up the NVM images? [Y]es/[N]o: n
Update in progress. This operation may take several minutes.
[********+.]
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Gigabit ET Dual Port 1.5(1.5) 10C9 00:002 Update not
Server Adapter available
02) Intel(R) Ethernet Controller (2) 1.69(1.45) 15F3 00:006 Update
I225-V successful
Tool execution completed with the following status: All operations completed successfully.
Press any key to exit.
И даже не нужно было перезагружаться:
$ ethtool enp6s0
Settings for enp6s0:
Supported ports: [ ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Я смог решить эту проблему благодаря вашему обходному пути.
У меня была другая материнская плата, поэтому я скачал Драйвер локальной сети Windows с веб-сайта Asus по адресу
https://www.asus.com/Motherboards/ROG-STRIX-Z490-E-GAMING/HelpDesk_Download/ .
Затем я загрузил утилиту обновления NVM по адресу
https://downloadcenter.intel.com/download/24769 , поскольку он имеет версию для Linux.
Имя файла должно быть похоже на FXVL_15F3_ASUS.bin
, но окончание будет отличаться в зависимости от различных производителей материнских плат Z490. Это можно найти на веб-сайте драйвера для конкретной материнской платы, которую вы используете.
После распаковки этого файла у меня остались два zip-файла:
Я нашел FXVL_15F3_ASUS.bin
в I225V_End_User_FW_UPDATE.zip
и скопировал этот файл в каталог / 700Series / Linux_x64 /
для каталога обновления 1165221]. Утилита.
Далее нам нужно найти файл конфигурации для драйвера i225. После разархивирования и поиска файлов драйвера локальной сети Asus я нашел правильные настройки конфигурации в config_i225.txt
в I225V_End_User_FW_UPDATE.zip
. Опять же, местоположение config_i225.txt
может отличаться в зависимости от драйвера локальной сети производителя материнской платы.
Наконец, я перешел на nvmupdate.cfg
в / 700Series / Linux_x64 /
, и добавил это в конец файла:
BEGIN DEVICE zip
и скопируйте этот файл в каталог/ 700Series / Linux_x64 /
для утилиты обновления NVM.
Далее нам нужно найти файл конфигурации для драйвера i225. После разархивирования и поиска файлов драйвера локальной сети Asus я нашел правильные настройки конфигурации в config_i225.txt
в I225V_End_User_FW_UPDATE.zip
. Опять же, местоположение config_i225.txt
может отличаться в зависимости от драйвера локальной сети производителя материнской платы.
Наконец, я перешел на nvmupdate.cfg
в / 700Series / Linux_x64 /
, и добавил это в конец файла:
BEGIN DEVICE zip
и скопируйте этот файл в каталог/ 700Series / Linux_x64 /
для утилиты обновления NVM.
Далее нам нужно найти файл конфигурации для драйвера i225. После разархивирования и поиска файлов драйвера локальной сети Asus я нашел правильные настройки конфигурации в config_i225.txt
в I225V_End_User_FW_UPDATE.zip
. Опять же, местоположение config_i225.txt
может отличаться в зависимости от драйвера локальной сети производителя материнской платы.
Наконец, я перешел на nvmupdate.cfg
в / 700Series / Linux_x64 /
, и добавил это в конец файла:
BEGIN DEVICE После разархивирования и поиска файлов драйвера локальной сети Asus я нашел правильные настройки конфигурации в config_i225.txt
в I225V_End_User_FW_UPDATE.zip
. Опять же, местоположение config_i225.txt
может отличаться в зависимости от драйвера локальной сети производителя материнской платы.
Наконец, я перешел на nvmupdate.cfg
в / 700Series / Linux_x64 /
, и добавил это в конец файла:
BEGIN DEVICE После разархивирования и поиска файлов драйвера локальной сети Asus я нашел правильные настройки конфигурации в config_i225.txt
в I225V_End_User_FW_UPDATE.zip
. Опять же, местоположение config_i225.txt
может отличаться в зависимости от драйвера локальной сети производителя материнской платы.
Наконец, я перешел на nvmupdate.cfg
в / 700Series / Linux_x64 /
, и добавил это в конец файла:
BEGIN DEVICE
DEVICENAME: NNT
Продавец: 8086
УСТРОЙСТВО: 15F3
СУБВЕНДОР: 1043
ПОДРАЗДЕЛЕНИЕ: 87D2
NVM IMAGE: FXVL_15F3_ASUS.bin
СНИЖЕНИЕ ИЗОБРАЖЕНИЯ: ИСТИНА
КОНЕЦ УСТРОЙСТВА
После этого введите sudo ./nvmupdate64e
. После следования инструкциям на экране Ethernet должен немедленно подключиться. Надеюсь, что это поможет любому, кто столкнулся с этой проблемой!
Джон, большое спасибо за публикацию после того, как ты сам во всем разобрался. Я только что закончил новую сборку с Gigabyte Z490i и был совершенно сбит с толку, когда встроенная локальная сеть работала, а потом не работала, а затем работала, а затем не работала.
Когда я пишу это, я собираюсь попробовать ваш метод, но сначала я проверяю, что все выглядит одинаково:
% ethtool enp4s0
Settings for enp4s0:
Supported ports: [ ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
% lspci -knn | grep -i -C3 ethernet
04:00.0 Ethernet controller [0200]: Intel Corporation Device [8086:15f3] (rev 01)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
Kernel driver in use: igc
Kernel modules: igc
[ 3.572001] igc 0000:04:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
[ 3.572005] igc 0000:04:00.0 eth0: MAC: [redacted]
[ 3.581425] igc 0000:04:00.0 enp4s0: renamed from eth0
[ 14.359088] igc 0000:04:00.0 enp4s0: igc: enp4s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Первое препятствие заключалось в том, что https://download.gigabyte.com/FileList/Driver /mb_driver_intel-i225-firmware-tool.zip был каким-то странным zip-форматом, который я не мог распаковать ничем, кроме компьютера с Windows. Я так и сделал, скопировал файл FXVL_15F3_V_2MB_1.45.bin
на сервер и выполнил ваши инструкции.
% sudo ./nvmupdate64e
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.35.33.4
Copyright (C) 2013 - 2020 Intel Corporation.
WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update.
Inventory in progress. Please wait [**|.......]
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Ethernet Controller 1.56(1.38) 15F3 00:004 Update
I225-V available
Options: Adapter Index List (comma-separated), [A]ll, e[X]it
Enter selection: 1
Would you like to back up the NVM images? [Y]es/[N]o: y
И после:
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Ethernet Controller 1.69(1.45) 15F3 00:004 Update not
I225-V available
К сожалению, это не помогло моей проблеме.
После перезагрузки ссылка по-прежнему не работала, как будто кабель не был подключен. В настоящее время единственный найденный мной способ заставить ее работать — это загрузиться в установщик Ubuntu live, перейти к сути. где я могу настроить сеть, получить IP-адрес через DHCP, затем перезагрузиться в мою установку на диск, и она работает до следующей перезагрузки. Очевидно, это не идеально.
Вариант 1. Переключиться на Pop!_OS Kernel
У меня такая же сетевая карта (I225-V) на материнской плате Asus B550 (ROG-STRIX-B550-I). Я заставил сетевую карту работать (случайно) переключившись на последнее ядро Pop!_OS 5.4.
sudo add-apt-repository ppa:system76/pop
Выполните подходящее обновление
.
И когда вы делаете подходящее обновление
, оно должно рекомендовать обновить ядро до версии Pop, что-то вроде этого 5.4.0-76XX-generic.
76 означает, что это специальное ядро от Pop, а следующие два числа обозначают версию ядра Debian.
Сейчас я использую ядро 5.4.0-7634-generic с Xubuntu. Сетевая карта появляется и регистрируется на скорости 1 Гбит/с.
Вариант 2: Компиляция модуля вне дерева с использованием исходного кода Pop!_OS
Если вы не хотите заходить так далеко, чтобы переключать ядра, то вы можете скомпилировать драйвер igc из исходного кода Pop, используя Ubuntu. сборка ядра в качестве базовой библиотеки.
wget https://github.com/pop-os/linux/archive/master_focal.zip
unzip master_focal.zip
cd linux-master_focal/drivers/net/ethernet/intel/igc
make -C /lib/modules/`uname -r`/build M=$PWD
Например, я скомпилировал драйвер, используя исходные файлы ядра 5.4.0-42-generic:
make -C /lib/modules/5.4.0-42-generic/build M=$PWD
Замените 5.4.0-42-generic на uname -r
.
Вы можете убедиться, что все работает, с помощью modinfo:
modinfo igc.ko
Vermagic в выходных данных должен соответствовать вашему текущему ядру, например:
vermagic: 5.4.0-42-generic SMP mod_unload
sudo cp -vp igc.ko /lib/modules/5.4.0-42-generic/kernel/drivers/net/ethernet/intel/igc/igc.ko-latest-pop
cd /lib/modules/5.4.0-42-generic/kernel/drivers/net/ethernet/intel/igc/
sudo cp -pv igc.ko igc.ko-5.4.0-42-generic-original
sudo cp -pv igc.ko-latest-pop igc.ko
После загрузки ядра с обновленным драйвером вы можете проверить, используете ли вы скомпилированный драйвер, используя modinfo
:
modinfo igc
Имя файла должно совпадать с расположением установленного вами драйвера, например:
filename: /lib/modules/5.4.0-42-generic/kernel/drivers/net/ethernet/intel/igc/igc.ko
ВНИМАНИЕ YMMV. Если вы решите скомпилировать драйверы Pop, убедитесь, что у вас есть работающая резервная копия ядра, и что вам удобно переключать ядра в grub на случай, если вы загрузите ядро во время установки драйвера. Я отредактировал настройки grub по умолчанию (в /etc/default/grub
), чтобы иметь возможность легко переключать ядра.
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=9
Внимание! С последней версией драйвера все еще могут возникнуть проблемы.
Я заметил, что даже в этой версии драйвера igc все еще есть ошибки в ядре 5.4. Например, статистика /proc/net/dev пуста и не обновляется под драйвером igc для сетевой карты. Статистика из ethtool -S
обновляется. Я не уверен, точны они или нет.
Эксперимент
Я скомпилировал и установил драйвер igc из исходников ядра linux-5.6.19. Похоже, что он также работает под ядром Pop 5.4, но версия драйвера 5.6 по-прежнему имеет проблему со статистикой /proc/net/dev.
Я также попытался скомпилировать последний исходный код драйвера igc для ядер 5.7 и 5.8. И это не подходит, если вы используете источник 5.4. Существуют проблемы с зависимостями в версиях 5.7 и 5.8.
Похоже, что ядро 5.8 добавляет некоторые зависимости управления питанием, которых нет в 5.4.Я получаю следующую ошибку:
error: ‘DPM_FLAG_NO_DIRECT_COMPLETE’ undeclared
при запуске:
make -C /lib/modules/5.4.0-7634-generic/build M=$PWD
используя последний исходный код от 19.08.2020:
svn export https://github.com/torvalds/linux.git/trunk/drivers/net/ethernet/intel/igc
Основываясь на ответах выше, для моей системы Ubuntu 20.04.1, работающей на материнской плате Asus WS X299 SAGE II с набором микросхем Intel I225-LM, я переключился на 5.8.7 основное универсальное ядро (последняя строка 5.8 на момент написания этой статьи) с использованием сборок Kernel PPA. (шаги, вдохновленные статьей здесь).
Вам необходимо загрузить следующие файлы из здесь:
linux-headers-*all.deb
linux-headers-*generic*.deb
linux-image -unsigned-*generic*.deb
linux-modules-*generic*.deb
После загрузки запустите sudo dpkg -i deb linux*.deb
Перезагрузитесь! (например, sudo reboot
)
После резервного копирования и запуска вашей системы вы можете убедиться, что используете ядро 5.8.7, запустив uname -sr
Это устранило проблему. У меня были встроенные сетевые карты, и вся система работала стабильно без проблем при высокой нагрузке на память и ЦП в течение нескольких дней подряд.
Сначала я пытался обновить прошивку, но потерпел неудачу, так как у меня I225-LM, а не I225-V. Последний, кажется, имеет обновленную прошивку, которую можно перенести в среду Linux, в то время как я не смог найти аналогичный результат для первого.