CodingBox Q&A Ask question

FreeBSD 12.1 видит карту QLogic FastLinQ QL41112 SFP+ на шине PCI, но не подключает драйвер

Asked Active Viewed 138 AI translation from English
1

Слежу за небольшим парком серверов на FreeBSD и добавляю 10G на один из них. Карта встала, машина загружается нормально, но ОС отказывается делать из неё интерфейс.

  • Сервер на FreeBSD 12.1-RELEASE-p1, штатное ядро GENERIC
  • двухпортовый адаптер QLogic FastLinQ QL41112 10GbE SFP+
  • оптика SFP+ в обеих клетках, сторона коммутатора настроена и ждёт
  • ничего кастомного в /boot/loader.conf сверх значений по умолчанию

Карта видна на шине, и на этом всё останавливается, одинаково для обеих функций:

pci7: <network, ethernet> at device 0.0 (no driver attached)

Интерфейс не создаётся, так что настраивать нечего и статус трансивера прочитать никак нельзя.

Что я уже сделал:

  • переставил карту в другой слот - то же сообщение
  • поменял оптику местами между двумя клетками на случай, если одна из них мертва
  • прошёлся по ifconfig в поисках чего-либо, кроме lo0 и встроенной сетевой карты

Поскольку устройство PCI явно перечисляется, я предполагаю, что это проблема драйвера, а не оптики, но не могу разобраться, какой драйвер обслуживает эту карту в этой версии. Какой модуль мне нужен, и придётся ли собирать его самому?

Comments 3

Accepted answer

Эту карту обслуживает qlnxe(4), и в этой версии он не подгружается автоматически, именно поэтому вы получаете строку PCI и ничего после неё. Добавьте модуль в загрузчик и перезагрузитесь:

if_qlnxe_load="YES"

в /boot/loader.conf. После перезагрузки проверяйте в таком порядке, это экономит немало догадок:

uname -a
kldstat
dmesg
pciconf -l

kldstat доказывает, что модуль реально загружен, а не просто прописан в конфиге, dmesg теперь должен нести сообщения о подключении вместо no driver attached, а pciconf -l подтверждает, что устройство всё ещё там, где вы его оставили. Как только интерфейсы появятся, можно возвращаться к беспокойству об оптике.

Одна оговорка: этот драйвер покрывает определённый набор моделей FastLinQ, так что читайте примечания к выпуску, которые идут с пакетом драйвера от вендора, для вашей конкретной платы, а не полагайтесь на догадки. Кто-то с картой серии QL41000 на 25GbE загрузил драйвер и всё равно ничего не получил, поэтому последовательность выше стоит выполнить по-настоящему, а не для галочки. Для 10G QL41112 на 12.1 это стандартное исправление.

3 United Arab Emirateslambdahawk88AE Show original (English) AI translation

Прежде всего выясните, что машина реально видит. Приведите вывод

uname -a
pciconf -l

и подтвердите, что загружено, командой kldstat. На штатном ядре GENERIC есть неплохой шанс, что ответ прост: модуль для этого семейства просто не подгружается автоматически, а отсутствующий интерфейс выглядит именно так. Пока драйвер не подключился, оптика не имеет значения, так что перестаньте её переставлять.

1 Indiawaverunner21IN Show original (English) AI translation

Справедливо. uname -a подтверждает 12.1-RELEASE-p1. pciconf -l перечисляет обе функции с none вместо имени драйвера, то есть их никто не подхватил. kldstat показывает ядро и обычную горстку модулей, ничего похожего на QLogic. Так что похоже, что это действительно случай отсутствующего драйвера, а не мёртвого железа.

2 Mexicolaserops32MX Show original (English) AI translation
Log in to comment. Log in