FreeBSD 12.1 видит карту QLogic FastLinQ QL41112 SFP+ на шине PCI, но не подключает драйвер
Слежу за небольшим парком серверов на 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
Эту карту обслуживает qlnxe(4), и в этой версии он не подгружается автоматически, именно поэтому вы получаете строку PCI и ничего после неё. Добавьте модуль в загрузчик и перезагрузитесь:
в /boot/loader.conf. После перезагрузки проверяйте в таком порядке, это экономит немало догадок:
kldstatдоказывает, что модуль реально загружен, а не просто прописан в конфиге,dmesgтеперь должен нести сообщения о подключении вместо no driver attached, аpciconf -lподтверждает, что устройство всё ещё там, где вы его оставили. Как только интерфейсы появятся, можно возвращаться к беспокойству об оптике.Одна оговорка: этот драйвер покрывает определённый набор моделей FastLinQ, так что читайте примечания к выпуску, которые идут с пакетом драйвера от вендора, для вашей конкретной платы, а не полагайтесь на догадки. Кто-то с картой серии QL41000 на 25GbE загрузил драйвер и всё равно ничего не получил, поэтому последовательность выше стоит выполнить по-настоящему, а не для галочки. Для 10G QL41112 на 12.1 это стандартное исправление.
Прежде всего выясните, что машина реально видит. Приведите вывод
и подтвердите, что загружено, командой
kldstat. На штатном ядре GENERIC есть неплохой шанс, что ответ прост: модуль для этого семейства просто не подгружается автоматически, а отсутствующий интерфейс выглядит именно так. Пока драйвер не подключился, оптика не имеет значения, так что перестаньте её переставлять.Справедливо.
uname -aподтверждает 12.1-RELEASE-p1.pciconf -lперечисляет обе функции с none вместо имени драйвера, то есть их никто не подхватил.kldstatпоказывает ядро и обычную горстку модулей, ничего похожего на QLogic. Так что похоже, что это действительно случай отсутствующего драйвера, а не мёртвого железа.