Gigabyte Z590 Master - 10900K @ unraid 6.10 rc2 |Unknown PCI header type '127' for device|


WowaDriver
Go to solution Solved by WowaDriver,

Recommended Posts

  • Solution

Hallo @all, 

sorry für für die verspätete Rückmeldung. Corona hat bei uns voll reingekickt!

 

On 2/26/2022 at 4:29 PM, mgutt said:

Du solltest aufhören dich auf die Lanes zu versteifen. Es ist völlig Wumpe wie viele das nun sind. PCIe ist voll abwärtskompatibel. Dh jede Karte würde auch mit X1 laufen.

 

Und da die Karten beim nativen Booten in Windows laufen, ist ja technisch alles in Ordnung.

 

Der nichtsagende Fehler 127 sagt bekanntlich aus, dass Qemu nicht auf die Karte zugreifen kann, weil sie eine unerwartete Antwort von sich gibt. Also sie ist zb in einem Status, wo sie bereits "hochgefahren" ist. Es gibt diverse Lösungen in so einem Fall. Zb eine eigene GPU ROM verwenden oder einen Reset Befehl über die Kommandozeile oder BIOS Update oder Firmware Update der Karte. Und natürlich darf die Karte nicht von Unraid in Verwendung sein (was ja mit VFIO verhindert wird).

 

Was ich machen würde:

- BIOS Reset

- vfio Datei vom Stick löschen

- UEFI booten

- alle VMs abschalten

- nur eine Karte einbauen

- diese eine Karte an VFIO binden

- komplett neue Ubuntu VM erstellen. Alles eingestellt lassen wie es ist und Karte durchschleifen.

 

Ergebnis prüfen. Das ganze mit der nächsten Karte wiederholen (also auch neue VM erstellen).

 

Durch das wilde herumstecken, bezweifle ich nämlich, dass deine Windows XML und das virtuelle BIOS überhaupt noch kompatibel zu der verbauten Hardware sind (das virtuelle BIOS steckt im libvirt.img und kann nicht geändert, sondern nur gelöscht werden, wenn man die VM löscht). Du musst also immer eine neue VM erstellen, um dies als weitere Fehlerquelle auszuschließen.

@mgutt da zeigt sich wieder mal, dass ich nur gesundes Halbwissen auf dem Thema Unraid besitze. Ich habe alles so gemacht wie du es gesagt hast. Bios reset habe ich jedoch nicht. Lediglich CSM on belassen und alles auf Legacy umgeswitched. Gebootet vom Stick dann aber in UEFI. Es war echt notwendig erst nur die GPU einzubauen und diese der Windows VM vollständig fertig zu konfigurieren. Sprich auch der Schritt mit der angepassten BIOS Rom. Mir war auch nicht klar, dass man "Fehlerbehaftete VM's" löschen muss und mit einer sauberen Config starten sollte. Danke auch für diesen Tipp!

 

Zusätzlich habe ich aber noch die Mellanox Karte in der Syslinux Configuration ebenfalls geblacklistet und via VFIO gebunden. Ergebnis ist, dass bei de VM's starten und alles läuft. Ich muss nur beim Starten der VM's aufpassen, beide zeitgleich geht nicht. Erst muss eine sauber durchbooten und erreichbar sein, dann geht auch die zweite an.

image.png.a79918cc4dadbe18d9b7ef9f4a7e1705.png

 

Performance ist ebenfalls gut. Der LSI 9211-8i hängt mit 8x WD Red 6TB Platten (Lese Geschwindigkeit pro Platte etwa 160-180MB/s laut Hersteller) in einem RAID 5 Verbund ohne SSD Cache. In der WinVM (Unraid Server ebenfalls mit 10 GBe angebunden) erhalte ich eine Lese und Schreibgeschwindigkeit von 700-850 MB/s. Ich hatte anfangs rein theoretisch gedacht und gehofft, dass man bei 8 Platten (eine geht für die Parität drauf) somit 7x 160MB/s = 1120 MB/s realisieren könnte. Habe im Netz dann aber rausgelesen, dass meine erzielten Werte der tatsächlichen Realität entsprechen und sehr stark vom I/O abhängen wieviele und wie große Daten man transferiert. 

 

Ich habe hier noch 2 Sata SSD's (Read Write Speed 500MB) und eine NVMe PCIe 2.0 mit 1500MB's Read und 1000MB's Write Speed. Bin am überlegen mit dem SSD Cache zu experimentieren. Wäre dann aber die eierlegende Wohlmichsau. Benötigen tue ich das eigentlich nicht, da das NAS RAID5 Pool eher als Datengrab benutzt wird. Das einzige Szenario wo man eventuell was reißen würde, wäre Emby. Ich denke bei Scans der META Daten kämme die dann noch zum Einsatz. Ausprobieren will es aber auf jeden Fall.

 

An dieser Stelle möchte ich mich nochmal bei allen hier beteiligten Personen ganz herzlich bedanken! Ohne euch hätte ich das nicht geschafft! Großes Lob an euch alle!

 

@mgutt vielleicht noch für mich als Laien um das Problem bis zum Ende zu verstehen. Wenn ich das richtig interpretiere, dann war das allerlei Wundermittel die fehlende ROM in der GPU, was du ja auch schon ganz zu beginn dieses Threads geschrieben hast. Ich habe in der Vergangenheit unter dem alten System definitiv diese GPU schon ohne ROM durchgereicht und konnte die VM ohne Probleme nutzen. Was passiert hier somit im Hintergrund?

 

Wenn du Lust und Zeit hast - kläre mich bitte auf!

Edited by WowaDriver
Link to comment
12 hours ago, WowaDriver said:

 

 

 

12 hours ago, WowaDriver said:

Was passiert hier somit im Hintergrund?

Hattest du evtl mal das BIOS der Karte aktualisiert? Es gab ja zb mal ein Update um rBar zu aktivieren:

https://www.computerbase.de/2021-03/treiber-und-bios-updates-nvidia-aktiviert-rbar-auf-rtx-3090-3080-3070-und-3060-ti/

 

Wenn es danach nur noch mit ROM geht, kann das zb ein Grund sein, dass Nvidia irgendwas kaputt gemacht hat.

 

Eventuell musst du auch mal das BIOS aktualisieren (ginge nur, wenn du mit Windows bootest). Dass man Nvidia Grafikkarten in einer VM benutzen darf, ist ja "neu":

https://unraid.net/de/blog/nvidia-gpu-support

 

Vorher musste man ja das BIOS "hacken":

https://forums.unraid.net/topic/89962-solved-howto-help-pls-trouble-with-gpu-passthrough-gtx1080ti/?do=findComment&comment=835140

 

 

Daher würde es mich wundern, wenn deine Karte früher "einfach so" funktioniert hat.

Link to comment
On 3/16/2022 at 7:24 PM, WowaDriver said:

Der nichtsagende Fehler 127 sagt bekanntlich aus, dass Qemu nicht auf die Karte zugreifen kann, weil sie eine unerwartete Antwort von sich gibt. Also sie ist zb in einem Status, wo sie bereits "hochgefahren" ist. Es gibt diverse Lösungen in so einem Fall. Zb eine eigene GPU ROM verwenden oder einen Reset Befehl über die Kommandozeile oder BIOS Update oder Firmware Update der Karte. Und natürlich darf die Karte nicht von Unraid in Verwendung sein (was ja mit VFIO verhindert wird).

Hi @all und Hi @mgutt,

 

aus dem Thread mit den 20 bzw. 24 Sata Ports Erweiterungskarten hast du ja gelesen, dass ich ein PCIe zu M.2 Adapter und darin 2 M.2 zu 5x Sata Controller mit jeweils einem JMB585 Chip zum testen da habe. Die Windows VM läuft weiterhin wie oben beschrieben mit dem angepassten Bios ROM ohne Probleme. Parallel beides zum laufen bekommen habe ich nicht.

 

Somit habe ich aktuell alle PCIe Devices entfernt und nur die neue Adapterkarte mit den beiden JMB585 Controller im zweiten (der beiden direkt an die CPU angebundenen Ports) verbaut und diesen in den Settings auf x8/x4/x4 eingestellt. Damit kann der zweite Port beide Controller erkennen und zeigt in Unraid auch brav beide an - ebenso die daran angeschlossenen HDD's.

 

Beide Controller habe ich an VFIO gebunden und ebenfalls in der Syslinux Config geblacklistet. Ebenso habe ich diese an die VM angehangen. 

image.thumb.png.805efcaa7d31beb5c2b0d6b94a4e46b7.png

 

image.thumb.png.32986f7c997f5c8b9591181f274f3529.png

 

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>

 

Es kommt beim Start nun immer die Fehlermeldung wie davor schon auch bei der Win VM mit GPU und fehlender ROM. Oder wie du sagst der nichts aussagende Fehler 127:

internal error: Unknown PCI header type '127' for device '0000:02:00.0'

 

Du sprichst oben von: Für solche Fehle gibt es verschiedene Lösungsansätze. Hast du noch was in der Trickkiste auf Lager? Bei einem JMB585 kann ich ja keine modifizierte Rom einhängen wie bei der GPU... 

 

//EDIT: Hier sei ergänzt, dass es die ganze Zeit nicht geklappt hat, und ich den Server eben angelassen habe für 1 Stunde etwa. Ich habe es nochmal probiert und siehe da er startet auf einmal die VM... So langsam verzweifle ich hier an der Sinnhaftigkeit. Kann es sein, dass er nach einem Unraid also Host reboot eine Zeit brauch bis er die PCIe Devices nicht mehr anspricht und diese quasi "in den Standby fahren" damit sie den von dir o.g. "bereits Hochgefahren Status" verlieren? Ich habe die VM danach herunter gefahren und konnte sie sofort ohne Probleme wieder neu starten...

 

Unraid selbst neugestartet und erneut Fehler 127. Ich lasse ihn wieder 30 min stehen und versuche es anschließend erneut.

Link to comment

Sonst noch irgendwelche Tricks auf Lager? Habe die Kiste nun 2 mal neugestartet und einmal 30min und einmal 60min gewartet. Ohne Erfolg. Somit war das irgend so ein Zufallsding, das es vorhin einmal funktioniert hat. Umgesteckt wurde nichts. Ebensowenig an den Bios Settings oder ACS Override Settings was geändert.

 

//EDIT: Die beiden JMB585 haben ja die selbe Verdorr ID. Wenn ich mit der Maus über den ersten gehe erscheint folgende Info. Vielleicht hilft es ja:

image.thumb.png.5b10bd4cdf5ff3b7ca3760c61b70ee22.png

 

Bei den USB Geräten, sofern diese die selbe Verdor ID haben gibt es ja auch Probleme und da wird mittels folgendem Workaround getrickst. Dies lässt sich aber auf PCIe Devices nicht ableiten nach meinem Verständnis:

VM USB PASSTHROUGH MULTIPLE DEVICES WITH THE SAME VENDOR/PRODUCT

Edited by WowaDriver
Link to comment
11 hours ago, WowaDriver said:

Dies lässt sich aber auf PCIe Devices nicht ableiten

Ist nicht notwendig, weil beide ja im Gegensatz zu USB Geräten unterschiedliche PCIe IDs haben. In deinem Fall die 02 und 03.

 

Die Alternative zum PCIe passthrough wäre die Karten nicht an VFIO zu binden und die angeschlossenen Datenträger per virtio und ihrer ID durchzuschleifen:

image.png.ef7a161b57a2d1ed1f9450dc13383701.thumb.png.07e84939f34200896878228532f98d31.png

 

 

Link to comment
13 minutes ago, mgutt said:

Die Alternative zum PCIe passthrough wäre die Karten nicht an VFIO zu binden und die angeschlossenen Datenträger per virtio und ihrer ID durchzuschleifen:

image.png.ef7a161b57a2d1ed1f9450dc13383701.thumb.png.07e84939f34200896878228532f98d31.png

 

Ja gut das ginge dann wohl immer hätte aber den Nachteil das es qmu drives währen und ich die Smart Werte nicht durchreichen könnte. Performance technisch wäre es wohl auch etwas schlechter.

 

misst würde gerne das pci device durch reichen.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.