Назад | Перейти на главную страницу

Не видно другого сетевого интерфейса в Debian Etch

Я знаю, что на нашем сервере есть два физических сетевых интерфейса (не видел их вживую, но человек из центра обработки данных подтвердил наличие двух сокетов 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, который покажет, какой модуль ядра будет использоваться для каждого устройства.