Community-Lösung

ZimaBoard-HBA nicht erkannt: BIOS- und PCIe-Prüfungen

An original ZimaBoard failed to recognize an LSI SAS2008 HBA until specific PCIe root-port settings were changed in BIOS.

Fazit: Beim ursprünglichen ZimaBoard muss der PCIe-Root-Port möglicherweise angepasst werden, bevor eine LSI-HBA erscheint

Das aussagekräftige Ergebnis des Praxistests ist eindeutig: Eine HBA der LSI-SAS2008-Klasse wurde nicht erkannt, und ihr Option-ROM wurde erst geladen, nachdem die PCIe-Einstellungen im BIOS des ursprünglichen ZimaBoard geändert wurden. Nach der Anpassung des für den Steckplatz verwendeten Root-Ports wurden sowohl die HBA-Firmware als auch die angeschlossenen Laufwerke sichtbar. Betrachte diese Einstellungen als Kompatibilitäts-Workaround für das ursprüngliche Board, nicht als allgemeingültige Lösung für ZimaBoard 2 oder jede HBA.

Zunächst drei verschiedene Fehlerstufen voneinander unterscheiden

Eine HBA kann an drei Stellen ausfallen: Die Firmware erkennt die Karte überhaupt nicht, Linux sieht das PCIe-Gerät, bindet aber keinen Treiber daran, oder der Treiber wird geladen, doch es erscheinen keine angeschlossenen Laufwerke. Prüfe diese Punkte in genau dieser Reihenfolge.

lspci -nn
dmesg | grep -i -E 'mpt|sas|scsi|pcie'
lsblk -o NAME,SIZE,MODEL,TRAN

Das SCSI-Subsystem von Linux beschreibt die Speicher-Treiberschicht, während die PCI-Geräteprüfung der schnellste Weg ist, festzustellen, ob die Karte überhaupt auf PCIe vorhanden ist.

Den historischen BIOS-Workaround nur anwenden, wenn die Karte auf PCIe-Ebene fehlt

Beim ursprünglichen ZimaBoard führte der getestete Pfad über BIOS → Chipset → South Cluster Configuration → PCI Express Configuration. Im erfolgreichen Fall wurden die relevanten PCIe-Optionen aktiviert und anschließend PCI Express Root Port 3 auf ASPM Auto, PCIe Speed Gen 2 und Transmit Half Swing Enabled eingestellt. Ein weiterer Besitzer bestätigte später, dass dieselben Änderungen an Port 3 eine LSI-SAS2008-HBA sichtbar machten.

Notiere vor Änderungen an den Firmware-Einstellungen jeden ursprünglichen Wert. Wenn Port 3 nicht dem von deiner Board-Revision oder deinem Adapter verwendeten physischen Pfad entspricht, fügt das blinde Ändern der Ports 4–6 lediglich weitere Variablen hinzu, ohne etwas nachzuweisen.

Das HBA-Option-ROM ist für die Nutzung von Datenlaufwerken nicht zwingend erforderlich

Im Ausgangsfall wurde außerdem gefeiert, dass das HBA-BIOS endlich geladen wurde und angeschlossene Laufwerke als Boot-Optionen bereitstellen konnte. Das ist nützlich, wenn du über die HBA booten möchtest, aber eine reine Speicher-HBA benötigt nicht unbedingt ein laufendes Option-ROM. Wenn Linux den HBA-Treiber und die angeschlossenen Laufwerke erkennt, kannst du diese Laufwerke verwenden, auch wenn du nie einen HBA-Konfigurationsbildschirm aufrufst.

Diese Unterscheidung verhindert eine häufige Sackgasse: stundenlang Boot-ROM-Funktionen zu aktivieren, obwohl das eigentliche Ziel lediglich darin besteht, Laufwerke für ZimaOS bereitzustellen.

HBA- oder IT-Modus verwenden, wenn ZimaOS einzelne Laufwerke sehen soll

Für softwareverwaltetes RAID, ZFS oder die direkte Überwachung des Laufwerkszustands sollte das Betriebssystem normalerweise jedes physische Laufwerk einzeln sehen. Hardware-RAID-Firmware, die viele Laufwerke hinter einem einzigen virtuellen Volume verbirgt, verändert die SMART-Sichtbarkeit und das Wiederherstellungsmodell. Prüfe bei LSI-/Broadcom-Karten, ob die Firmware in einem für dein Speicherkonzept geeigneten Passthrough- oder HBA-orientierten Modus arbeitet, bevor du das Array erstellst.

Flashe keine HBA-Firmware nur deshalb, weil ein anderer SAS2008-Besitzer dies getan hat. Das genaue Controllermodell, die OEM-Firmware und die Board-Revision sind entscheidend.

Jedes Laufwerk vor dem Erstellen eines RAID überprüfen

lsblk -o NAME,SIZE,MODEL,SERIAL
smartctl -a /dev/sdX
cat /proc/mdstat

Stelle sicher, dass jedes angeschlossene Laufwerk das erwartete Modell und die erwartete Kapazität aufweist. Ein fehlendes Mitglied, eine falsche Sektorgröße oder ein instabiles SAS-Kabel ist ein separates Problem und hat nichts mit der PCIe-Aufzählung zu tun. Erstelle niemals ein neues RAID nur um zu testen, ob die HBA funktioniert, wenn sich auf diesen Laufwerken Daten befinden.

Die BIOS-Werte des ursprünglichen ZimaBoard nicht auf ZimaBoard 2 übertragen

ZimaBoard 2 gehört zu einer anderen Hardwaregeneration. Verwende dessen eigene Firmware und sein eigenes PCIe-Verhalten, statt die South-Cluster-Menüwerte aus einem Beitrag von 2024 zum ursprünglichen Board zu kopieren. Die ZimaBoard-2-Hardware ist die relevante Referenz für die Plattform. Wenn du lediglich mehr SATA-Datenanschlüsse benötigst und keine SAS-/HBA-Funktionen, kann die PCIe-SATA-Erweiterung die Komplexität reduzieren.

Wenn die HBA weiterhin nicht erscheint

Teste die Karte in einem anderen, nachweislich funktionierenden Computer, entferne unnötige PCIe-Geräte, aktualisiere nur die Firmware des richtigen Boards beziehungsweise der richtigen HBA und erfasse lspci -nn zusammen mit den Kernel-Meldungen. Wenn Linux die PCI-Funktion überhaupt nicht sieht, bleibe auf der Firmware-/PCIe-Ebene. Wenn PCIe die Karte erkennt, aber keine Laufwerke erscheinen, prüfe Treiberbindung, HBA-Firmware, Verkabelung und Stromversorgung der Laufwerke.

FAQ

Warum ist meine LSI SAS2008 auf dem ZimaBoard unsichtbar?

Bei einigen Systemen mit dem ursprünglichen ZimaBoard verhinderten die Firmware-Einstellungen des PCIe-Root-Ports eine korrekte Aufzählung der HBA. Weise den Fehler mit lspci nach, bevor du BIOS-Werte änderst.

Benötige ich den HBA-BIOS-Bildschirm?

Nicht für die normale Nutzung von Datenlaufwerken, wenn Linux den Controller und die Laufwerke bereits erkennt. Das Option-ROM ist hauptsächlich für die Konfiguration auf der HBA oder das Booten über den Controller relevant.

Sollte eine HBA den IT-Modus verwenden?

Passthrough- beziehungsweise HBA-orientierte Firmware ist in der Regel einfacher, wenn ZimaOS, mdadm oder ZFS einzelne Laufwerke direkt verwalten sollen.

Kann ich dieselben BIOS-Einstellungen auf ZimaBoard 2 verwenden?

Gehe nicht davon aus. ZimaBoard 2 verwendet eine andere Hardware und sollte sein eigenes Firmware-Verhalten sowie aktuelle Supportinformationen nutzen.

Warum erkennt lspci die HBA, aber lsblk zeigt keine Laufwerke?

Dann liegt das Problem unterhalb der PCIe-Aufzählung: Prüfe die Treiberbindung, den HBA-Firmwaremodus, SAS-/SATA-Kabel, Expander, die Stromversorgung der Laufwerke und die Kompatibilität der angeschlossenen Laufwerke.