Попала к нам материнская плата 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
Все, можно начинать юзание сервера и в хвост и в гриву 🙂
Ссылки:
Драйвер для em от Yandex: http://people.yandex-team.ru/~wawa/
З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Пожалуйста, уважайте чужой труд.
Автор: Панфилов Алексей (lehis (at) subnets.ru)
Похожие статьи:
- Не найдено
argo-uln сказал:
Отлично 🙂
04.12.2009, 09:05mlevel сказал:
на FreeBSD 8 не заводиться.. Подскажите как можно исправить.
02.02.2010, 21:29admin сказал:
mlevel м.б. стоит рассказать подробнее что и как у тя не заводится ?
что ты и как делал, были ли ошибки, где ? и т.д. и т.п.
что показывает pciconf ?
у нас нигде 8-рок нет, попробовать нам негде.
03.02.2010, 15:50Belchik сказал:
Попробовал собрать em-6.9.21.tar.gz с DEVICE_POOLLING.
14.02.2010, 21:58Выдаёт ошибки при компиляции.
Никто не сталкивался?
lehisnoe сказал:
Какие ошибки выдаются? Какой конфиг ядра? PS: Удобнее было бы общаться на нашем форуме — http://subnets.ru/forum/
15.02.2010, 00:05Lord Kaho сказал:
>Переносим его в /boot/modules:
>mv if_em.ko /boot/modules
make install 🙂
26.03.2010, 07:24Lord Kaho сказал:
> Попробовал собрать em-6.9.21.tar.gz с DEVICE_POOLLING.
На хрена вам на 8-ке пуллинг? Учитывая, что с ним она будет тормозить намного больше, нежели если вы оптимизируете стек буферов самой карты?
26.03.2010, 07:25