CodingBox Q&A Ask question

FreeBSD 12.1 sieht eine QLogic FastLinQ QL41112 SFP+-Karte auf dem PCI-Bus, hängt aber keinen Treiber an

Asked Active Viewed 138 AI translation from English
1

Ich betreue einen kleinen Pool von FreeBSD-Boxen und rüste eine davon mit 10G nach. Die Karte ist drin, die Maschine bootet problemlos, aber das OS weigert sich, ein Interface daraus zu machen.

  • Server auf FreeBSD 12.1-RELEASE-p1, Stock-GENERIC-Kernel
  • QLogic FastLinQ QL41112 Dual-Port-10GbE-SFP+-Adapter
  • SFP+-Optiken in beiden Cages, Switch-Seite konfiguriert und wartend
  • nichts Eigenes in /boot/loader.conf über die Defaults hinaus

Die Karte ist auf dem Bus, und dort bleibt es auch, identisch bei beiden Funktionen:

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

Es wird kein Interface angelegt, also gibt es nichts zu konfigurieren und keine Möglichkeit, überhaupt einen Transceiver-Status auszulesen.

Was ich schon gemacht habe:

  • die Karte in einen anderen Slot umgesteckt, gleiche Meldung
  • die Optiken zwischen den beiden Cages getauscht, falls eine tot ist
  • ifconfig durchgesehen auf der Suche nach irgendetwas, das nicht lo0 oder die Onboard-NIC ist

Da das PCI-Gerät eindeutig erkannt wird, gehe ich von einem Treiberproblem statt einem Optik-Problem aus, aber ich bekomme nicht raus, welcher Treiber diese Karte auf diesem Release bedient. Welches Modul brauche ich, und muss ich das selbst bauen?

Comments 3

Accepted answer

Diese Karte wird von qlnxe(4) bedient, und auf diesem Release wird er nicht automatisch nachgeladen, genau deshalb gibt es die PCI-Zeile und danach nichts mehr. Das Modul in den Loader eintragen und neu starten:

if_qlnxe_load="YES"

in /boot/loader.conf. Nach dem Neustart in dieser Reihenfolge prüfen, das erspart viel Rätselraten:

uname -a
kldstat
dmesg
pciconf -l

kldstat beweist, dass das Modul wirklich geladen ist und nicht nur in einer Config-Datei steht, dmesg sollte jetzt Attach-Meldungen tragen statt no driver attached, und pciconf -l bestätigt, dass das Gerät noch da ist, wo es war. Sobald die Interfaces existieren, kann man sich wieder um die Optiken kümmern.

Eine Einschränkung: Der Treiber deckt eine bestimmte Auswahl an FastLinQ-Modellen ab, also die Release Notes aus dem Vendor-Treiberpaket für die genaue Karte lesen statt es anzunehmen. Jemand mit einer 25GbE-Karte aus der QL41000-Serie hat den Treiber geladen und hatte trotzdem nichts, weshalb es sich lohnt, die Sequenz oben richtig durchzugehen statt nur pro forma. Für einen 10G-QL41112 auf 12.1 ist das der Standard-Fix.

3 United Arab Emirateslambdahawk88AE Show original (English) AI translation

Bevor irgendetwas anderes passiert: erst klären, was die Maschine tatsächlich sieht. Ausgabe posten von

uname -a
pciconf -l

und mit kldstat bestätigen, was geladen ist. Bei einem Stock-GENERIC-Kernel ist gut möglich, dass die Antwort schlicht ist, dass das Modul für diese Familie nicht automatisch geladen wird, und genau so sieht ein fehlendes Interface aus. Bevor ein Treiber anhängt, sind die Optiken irrelevant, also aufhören, die zu tauschen.

1 Indiawaverunner21IN Show original (English) AI translation

Fair. uname -a bestätigt 12.1-RELEASE-p1. pciconf -l listet beide Funktionen mit none als Gerätenamen statt einem Treibernamen, es hat sie also niemand beansprucht. kldstat zeigt den Kernel und die üblichen paar Module, nichts, das nach QLogic aussieht. Sieht also tatsächlich nach einem simplen Fall von fehlendem Treiber aus statt nach toter Hardware.

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