Разработка электроники,
Систем автоматики,
Программного обеспечения
ООО "Антех ПСБ",
Санкт-Петербург
+79811865082
anteh@bk.ru
15.07.2015 https://anteh.ru
Скачиваем драйвера с сайта производителя Intel. Карта установлена в PCI-E слот x16. Проверяем, что при загрузке увидела система:
|
Интересует то, что с классом network. Сетевая на материнке называется nfe0. Всего 5 сетевых интерфейсов, но ещё 2х интерфейсов не видно -это установленная сдвоенная Intel карта.
Выше видим 2 каких-то none:
|
none это неправильно, нужно установить драйвера, которых у производителя материнки под FreeBSD не было. К текущему вопросу это не относится и три года с этим всё жило прекрасно.
Intel сетевой карты не видно, так быть не должно.
Скачанный архив с драйверами распаковываем в какую либо папку:
/drivers/eth82571GB/em-7.4.2.tar.gz
Делаем всё, как написано в README файле
/drivers/eth82571GB/em-7.4.2/*README
|
В /boot/kernel появится *if_em.ko. Но от туда, по некоторой рекомендации if_em.ko переместил в директорию /boot/modules
В файл /boot/loader.conf прописываем строку:
if_em_load="YES"
Перезагрузился, но Вы не спешите, ибо воз и ныне там, система не видит вновь установленную карту.
Заходим в /etc/make.conf прописываем строку:
WITHOUT_MODULES=em -компилировать ядро без стандартного модуля "em" штатного сетевого драйвера intel
Идём в конфигурацию ядра:
/usr/src/sys/платформа/conf/myKERNEL и для надёжности комментируем строку "device em":
|
Компилируем ядро:
# cd /usr/src
# make buildkernel KERNCONF=myKERNEL
Ждём минут 40-60
Устанавливаем ядро:
# make installkernel KERNCONF=myKERNEL
Перезагружаемся:
# shutdown -r now
Смотрим дату и время установленного ядра и убеждаемся, что дата и время текущее:
# uname -a
Ну теперь точно всё получится… перезагружаемся и… не получилось, установленную сетевую сдвоенную карту система не видит.
На пробы поиски раздумья ушли сутки, заглянул в BIOS
Отключил всё, что не использовалось, в том числе и встроенную сетевую карту, поменял некоторые параметры, и…
Чудо свершилось:
|
Всё отлично, Intel PRO/1000 PT Dual Port Server Adapter EXPI9402PTBLK установлена.
Пробовал вернуть настройки BIOS обратно как было, чтобы сетевая снова не заработала и точно определить, в чём же было дело. Номер не прошёл. Из настроек менял, в том числе, настройки SLI, приоритетность запуска видеокарты. На материнке два PCI-E x16. В одном временно установлена видеокарта, в другом EXPI9402PTBLK сетевая карта.
Делаю вывод, настройки BIOS были не причём, но их переброс помог FreeBSD 9.2 увидеть сетевую карту. Какие именно настройки, выяснить не удалось. Возможно перезагрузка через полное отключение питания помогла.
Переходим к настройке и тестированию.
Карта была куплена с рук, продавец заверял что новая. Оказалась неновая и с отломанным C243 чип 0402 конденсатором в цепи развязывающего трансформатора одного из портов. В сумраке коридора х… что разглядишь. Продавец перец тёртый). Утверждал, что уже несколько таких же карт до этого продал. Хорошо, обнаружил дефект при более тщательном осмотре. Надеюсь именно проблемы с одним из двух сетевых каналов и были причиной продажи. Внешне сетевая карта выглядит не поддельной, надпись Intel, Yottamark в наличии, внешний вид совпадает с оригинальным.
Вместе с C243 меняем, обязательно, сразу все 4ре конденсатора: C234, C240, C241, C243. Пайка без свинцовая, плата многослойная, температуру жала паяльника нужно выставлять 380. При проверке отпаянного конденсатора ёмкость оказалась 10n -десять нано фарад. Под рукой оказалась катушка с таким номиналом, но в 0805 корпусе, разницу в размерах видим на фотографии. Получилось так, что рядом с контактной площадкой конденсаторов были переходные отверстия и после лужения они стали отличной контактной площадкой. Поэтому с 0805 размером вместо 0402 проблем не возникло.
Заодно проверяем защитные диоды/супрессоры/стабилитроны на пробой, это DP200, DP201, DP202, DP203 -3304N. Замер сопротивления между общей шиной -куда припаяны R203, R207, R212, R213 и выводами 1,3,7,9 DP200, DP201 сборок защитных диодов должен показать 75Ом. И соответственно замер сопротивления между общей шиной -куда припаяны R217, R218, R220, R228 и выводами 1,3,7,9 DP202, DP203 сборок защитных диодов должен показать 75Ом. Всё оказалось в порядке.
Тестирование попробовал произвести с помощью iperf.
На машине с тестируемой сетевой картой и удалённой на 0.5 метра, устанавливаем iperf:
# cd /usr/ports/benchmarks/iperf
# make config
# make
# make install
# rehash
На удалённой машине настраиваем ipwf и запускаем сервер:
Настройка в меру подробных, для проверки работоспособности, правил ipfw:
${fwadd} 00040 allow ip from any to ${ip_ext} via ${ext}
${fwadd} 00041 allow ip from ${ip_ext} to any via ${ext}
# /etc/rc.d/ipfw restart
Запуск сервера:
# iperf -s
bind failed: Address already in use
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 286 MByte (default)
------------------------------------------------------------
Настраиваем правила ipfw на машине с тестируемой картой:
${fwadd} 00040 allow ip from aa.bb.cc.dd to me via ${srv}
${fwadd} 00041 allow ip from me to aa.bb.cc.dd via ${srv}
Соединяем пачкордом удалённую машину с запущенным сервером с первым испытываемым сетевым интерфейсом и запускаем клиента:
|
Выше тест Realtec сетевых карт.
Iperf на 15.07.2015 оказалась недоработанной. По разному ведёт себя сервер, по началу была демонстрация активности, затем пропала. Ему пришлось открывать все порты иначе соединение не устанавливалось. Не работала опция -t, когда заработала, то пропала реальная передача данных и демонстрация активности стала такой:
|
Перезапуска машин сервера и клиента не помог, iperf больше не работал, вывод был вышеприведённый, обмена не было.
В общем iperf 2.0.5 то-ли сырой порт, то-ли не отлаженный под FreeBSD, ну очень подозрительный. Удаляем.
Воспользовался sftp клиентом для заливки и скачивания массива данных 8G через испытуемые интерфейсы. Конечно это не полноценная проверка, но проблем не наблюдалось.