Я знаю, что на нашем сервере есть два физических сетевых интерфейса (не видел их вживую, но человек из центра обработки данных подтвердил наличие двух сокетов Ethernet). Проблема в том, что я могу увидеть только один через ifconfig -a.
Сначала вот что сообщает lspci:
# lspci -vv|grep -i ethernet 00:19.0 Ethernet controller: Intel Corporation Unknown device 10bd (rev 02) 03:02.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet
После запуска
# update-pciids
теперь это выглядит как
# lspci -vv|grep -i ethernet 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02) 03:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
Вывод dmidecode:
# dmidecode|grep -i ethernet Type: Ethernet Description: Intel 82541PI Ethernet Device Type: Ethernet Description: Intel 82566DM Ethernet Devic
Я загрузил последний драйвер e1000 от Intel и скомпилировал его с текущими заголовками ядра. Используемая версия драйвера - e1000-8.0.13.
# uname -r 2.6.18-6-686
После подключения через последовательный кабель и выполнения rmmod / modprobe для e1000 результат все тот же. Я также пробовал те же шаги для e1000e-1.0.2.5 с тем же результатом.
После modprobe dmesg ничего не показывает о найденном eth1.
Есть файл /etc/udev/rules.d/z25_persistent-net.rules со следующим содержанием:
... # PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:15:17:28:44:db", NAME="eth0"
и нет записи для eth1. Может быть, этот файл контролирует, какие устройства eth создаются после загрузки драйвера? Проблема в том, что я не знаю MAC моего пропавшего интерфейса, как его найти?
Спасибо!
РЕДАКТИРОВАТЬ1:
Вот содержимое каталога / sys / class / net
/sys/class/net# ls eth0 lo sit0
Я смотрел на / lib / udev / write_net_rules который является инструментом, генерирующим /etc/udev/rules.d/z25_persistent-net.rules файл. Этот инструмент использует записи в / sys / class / net, поэтому теперь кажется маловероятным, что изменение z25_persistent-net.rules поможет.
РЕДАКТИРОВАТЬ2:
из README e1000e
.... This driver supports kernel versions 2.4.x and 2.6.x. This driver includes support for Itanium(R)2-based systems. .... - The following adapters do not support Jumbo Frames: Intel(R) 82562V 10/100 Network Connection Гигабитное сетевое соединение Intel (R) 82566DM Intel(R) 82566DC Gigabit Network Connection Intel(R) 82566MM Gigabit Network Connection Intel(R) 82566MC Gigabit Network Connection Intel(R) 82562GT 10/100 Network Connection Intel(R) 82562G 10/100 Network Connection Intel(r) 82566DC-2 Gigabit Network Connection Intel(R) 82562V-2 10/100 Network Connection Intel(R) 82562G-2 10/100 Network Connection Intel(R) 82562GT-2 10/100 Network Connection Intel(R) 82583V Gigabit Network Connection Intel(R) 82578DC Gigabit Network Connection
может кто-нибудь подтвердить (с источниками), что мне действительно нужно обновить ядро, чтобы это работало?
попробуйте получить более свежее ядро - возможно травка-н-половина или даже перейти на lenny.
Видимо, для этой карты нужен драйвер e1000e. Его PCI ID отображается в modinfo e1000e
вывод :
# modinfo e1000e | grep 10BD
псевдоним: pci: v00008086d000010BDsvSDДо нашей эрыscя*
Очевидно, он доступен с версии 2.6.24 или выше.
Может быть, этот файл контролирует, какие устройства eth создаются после загрузки драйвера?
Эта строка udev просто гарантирует, что eth0 всегда будет одним и тем же устройством («постоянная» часть); Поскольку ваш ник невидим, ваш MAC - для вас и для ОС - тоже. Добавление eth1 не создаст его для вас. Я согласен с pQd, ниже: попробуйте более новое ядро.
Если обновление ОС не является подходящим вариантом, вы можете установить более новую ОС на оборудование и запустить старую ОС как виртуальную машину. Это полезный способ поддержки старых операционных систем на новом оборудовании. (и в некоторых коммерческих предложениях Linux это отражается в жизненном цикле)
Вы должны уметь использовать lspci -k
, который покажет, какой модуль ядра будет использоваться для каждого устройства.