Попала к нам материнская плата INTEL: Intel® Server Board S3420GP
На «мамке» две встроенные сетевые карты:
Integrated LAN Embedded Intel® 82574L Gigabit Ethernet Controller
Integrated LAN Embedded Intel® 82578DM Gigabit Ethernet Controller
Установили FreeBSD 7.2 (в нашем случае это RELEASE ), но из сетевых
карт FreeBSD сервер видит только одну и это 82574L, а вот 82578DM не видит…
Смотрим вывод команды и ищем класс «network»:
pciconf -lv
none @pci0:0:25:0: class=0x020000 card=0x34ec8086 chip=0x10ef8086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
class = network
subclass = ethernet
em0 @pci0:2:0:0: class=0x020000 card=0x34ec8086 chip=0x10d38086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
class = network
subclass = ethernet
Как говорится что и требовалось доказать…. Она есть, но стандартные драйвера
от em не подошли, вот она и «висит» как none
Что с этим делать ? Ответ один: искать дрова. «Гугл в руки» и вперед !
Дрова найдены. Вот они: em-6.9.20.tar.gz .
Теперь можно приступать к установке драйверов на FreeBSD сервер.
Распаковываем архив:
tar -xzf em-6.9.20.tar.gz
Переходим в папку с исходками:
cd em-6.9.20/src
Собираем это дело:
make
После окончания сборки в папке появится файл if_em.ko , вот он то нам и нужен.
Переносим его в /boot/modules:
mv if_em.ko
/boot/modules
Далее ставим его на загрузку при буте сервера, добавляем строчку в /boot/loader.conf :
echo ‘if_em_load=»YES»‘ >>
/boot/loader.conf
Затем, чтобы при пересборке ядра родной драйвер em не собирался добавим в
/etc/make.conf :
echo ‘WITHOUT_MODULES=em’ >>
/etc/make.conf
Теперь нужно пересобрать ядро без поддержки em, т.е. убрать или закоментарить
в ядре строчку:
device em # Intel PRO/1000 Gigabit Ethernet Family
После пересборки ядра делаем серверу перезагрузку:
reboot
Сервер поднялся, посмотрим же снова:
pciconf -lv
em0 @pci0:0:25:0: class=0x020000 card=0x34ec8086 chip=0x10ef8086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
class = network
subclass = ethernet
em1 @pci0:2:0:0: class=0x020000 card=0x34ec8086 chip=0x10d38086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
class = network
subclass = ethernet
А вот и наша вторая сетевая карта !
Теперь 82578DM это em0, а 82574L это em1.
Посмотрим вывод ifconfig:
ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>metric 0 mtu 1500
options=399b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, VLAN_HWCSUM,TSO4,WOL_UCAST,WOL_MCAST,WOL_MAGIC> ether 00:15:17:ae:0c:d9
media: Ethernet autoselect (1000baseTX )
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=399b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, VLAN_HWCSUM,TSO4,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:15:17:ae:0c:d8
media: Ethernet autoselect (1000baseTX )
status: active
Все, можно начинать юзание сервера и в хвост и в гриву