Eine Karte retten, die nicht mehr auftaucht
Was gebrickt bei einer FPGA-Karte wirklich heißt. Warum sich ein fehlerhafter Bitstream fast immer über JTAG retten lässt, und die wenigen Fälle, in denen eine Platine wirklich tot ist.
Kurze Antwort
Eine Karte, die nach dem Flashen nicht mehr auftaucht, ist fast nie totes Silizium. Beim Einschalten lädt das FPGA seinen Bitstream aus dem SPI-Flash. Ein fehlerhaftes Image heißt, dass die Konfiguration nie fertig wird, also erscheint auch kein PCIe-Endpunkt. JTAG hängt aber nicht davon ab, was im Flash liegt, und deshalb ist die Lösung fast immer ein erneutes Flashen.
Auf dieser Seite10
Was gebrickt hier heißt
In diesem Umfeld beschreibt das Wort meist ein Symptom und keine Diagnose. Die Karte taucht nicht mehr als PCIe-Gerät auf, also funktioniert nichts, was darauf aufbaut. Dieses Symptom hat eine häufige Ursache und ein paar seltene. Die häufige ist ein Flash, in dem ein Image liegt, aus dem sich das FPGA nicht erfolgreich konfigurieren kann. Damit bleibt der Baustein unkonfiguriert und ist für den Host unsichtbar. Unkonfiguriert ist nicht beschädigt. Ein unkonfiguriertes FPGA ist ein Chip, der auf einen gültigen Bitstream wartet, und ihm einen zu geben, ist ein ganz normaler Vorgang.
Der Ablauf beim Einschalten, und wo er stehen bleibt
Fünf Stufen. Zu wissen, an welcher es gescheitert ist, sagt dir, ob das ein Flash-Problem, ein Sitzproblem oder ein Hardwareproblem ist.
- 1. Strom aus dem Slot
- Die Karte zieht Strom aus dem PCIe-Slot. Ohne Strom keine LEDs, und danach passiert auch nichts weiter
- 2. Konfiguration
- Das FPGA liest den SPI-Flash und lädt den Bitstream. Ein beschädigtes oder unvollständiges Image scheitert hier
- 3. Done
- Die Konfiguration ist fertig und das Design läuft an. Bis hierher gibt es keinen PCIe-Endpunkt
- 4. Link Training
- Die PCIe-Verbindung handelt mit dem Host aus. Eine konfigurierte Karte, die nie aushandelt, ist ein Sitz- oder Slot-Problem
- 5. Enumeration
- Der Host liest den Konfigurationsbereich und das Gerät taucht auf. Das ist die erste Stufe, von der Windows überhaupt etwas sieht
Warum JTAG einen fehlerhaften Bitstream überlebt
JTAG ist eine Test- und Debug-Schnittstelle, die im Silizium selbst steckt. Sie kommt mit dem Chip hoch. Es ist ihr egal, für welchen Konfigurationsmodus die Platine verdrahtet ist, und es ist ihr egal, was im Flash liegt. Auf dieser Eigenschaft beruht der ganze Rettungsweg. Das FPGA kann vollkommen unfähig sein, sich zu konfigurieren, und über JTAG trotzdem erreichbar sein. In der Praxis lädt das Tool einen kleinen Hilfs-Bitstream über JTAG ins FPGA. Der verschafft ihm einen Weg zum SPI-Flash, sodass der Flash neu beschrieben werden kann. Dass die Karte auf der PCIe-Seite unsichtbar ist, spielt dabei keine Rolle.
Der Rettungsweg
Das ist der ganz normale Flash-Vorgang und kein Sondermodus. Wenn du die Karte einmal flashen konntest, kannst du sie wieder flashen.
- Fahr den Spiele-PC komplett herunter, prüf den festen Sitz der Karte und schalte ihn wieder ein
- Steck das USB-Kabel in den JTAG-Port der Karte und in einen USB-Port an der Rückseite des Zweit-PC
- Schließ alles, was das USB-Gerät belegen könnte — Reader-Software, MemProcFS, jedes andere Flash-Tool
- Öffne das Flash-Tool und prüf, ob es das Gerät sieht und die JTAG-Kette öffnen kann, bevor du eine Datei wählst
- Wähl den FPGA-Baustein, der zum Silizium auf der Platine passt
- Flash ein bekanntermaßen funktionierendes Image für genau diese Platine und diese DNA ID, mit dem Format auf BIN
- Lass den Vorgang bis zum Ende laufen, ohne den Rechner anzufassen
- Starte den Spiele-PC kalt, steck das Kabel in den Daten-Port und lass den Verbindungstest noch einmal laufen
Das Symptom lesen
Die nützliche Frage ist nicht, ob die Karte gebrickt ist, sondern welche Stufe des Einschaltablaufs sie erreicht hat. Diese Zeilen ordnen Symptome den Stufen zu.
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| Gar keine LEDs, obwohl der Spiele-PC läuft | Stufe 1. Kein Strom aus dem Slot: nicht richtig gesteckt, toter Slot oder tatsächlicher Schaden an der Platine | Steck die Karte bei komplett ausgeschaltetem Rechner in einen anderen PCIe-Slot. Bleibt sie auch in einem nachweislich funktionierenden Slot dunkel, ist das einer der wenigen echten Hardwarefälle |
| LEDs an, aber im Host taucht nirgends ein Gerät auf | Stufe 2. Das FPGA hat sich nie konfiguriert, der Inhalt des Flash ist also fehlerhaft oder unvollständig | Flash ein bekanntermaßen funktionierendes Image über JTAG. Das ist der häufige Fall, und er ist zu retten |
| Das Flash-Tool kann die JTAG-Kette nicht öffnen | Falscher Port, fehlender CH347-Treiber, ein Prozess belegt das Gerät, oder der falsche Baustein ist ausgewählt | JTAG-Port nehmen, Treiber installieren, andere Tools schließen, als Administrator starten und den richtigen Baustein wählen. Der Zugriff auf die Kette hängt nicht vom Inhalt des Flash ab, das ist also kein Brick |
| Das Gerät taucht auf, aber als etwas Falsches oder mit einem Fehlercode | Stufe 5. Die Konfiguration hat geklappt, das Image läuft also — es ist bloß nicht das Image, das du wolltest | Prüf, ob du die Datei geflasht hast, die für diese Platine ausgegeben wurde, und flash dann die richtige. Die Karte ist gesund |
| Das Flashen läuft durch, die Karte bleibt nach einem Kaltstart unsichtbar | Das Image passt nicht zu dieser Platine oder zu dieser DNA ID | Gleich den Dateinamen mit deiner Bestellung ab und prüf die FPGA-Klasse. Schick dem Support die Tool-Ausgabe, statt dieselbe Datei ein viertes Mal zu flashen |
| Gestern lief es, heute nichts, und dazwischen wurde nichts geflasht | Fast nie die Firmware. Meistens der Slot, das Kabel, der USB-Port oder eine hängende Karte | Den Spiele-PC zehn Sekunden komplett ausschalten, dann kalt starten. Dann neu stecken, dann das Kabel tauschen. Erneut zu flashen ist hier nicht der erste Schritt |
Wenn eine Karte wirklich tot ist
Das kommt vor, und es sieht anders aus. Die übliche Ursache ist ein physischer Schaden. Ein verbogener PCIe-Kontakt, eine ausgerissene USB-C-Buchse, ein verschmortes Bauteil oder eine Platine, die im laufenden Betrieb in einen stromführenden Slot gesteckt wurde. Das Kennzeichen ist ein Scheitern auf Stufe 1 statt auf Stufe 2. Entweder gar keine LEDs in einem Slot, von dem du mit einer anderen Karte weißt, dass er funktioniert, oder eine JTAG-Kette, die sich nicht öffnen lässt. Der zweite Fall zählt nur mit korrektem Treiber, korrektem Port und korrekt gewähltem Baustein, an einer Karte, die sicher Strom hat. Ein beschädigter Inhalt des Flash erzeugt diese Symptome nicht.
Bevor du eine Karte für tot erklärst
Sieben Dinge. Die meisten gemeldeten Bricks hören irgendwo in dieser Liste auf, welche zu sein.
- Spiele-PC zehn Sekunden komplett ausgeschaltet und dann kalt gestartet — nicht neu gestartet
- Karte neu gesteckt, Halteklammer geschlossen und Slotblende bündig
- In einem zweiten PCIe-Slot probiert
- Kabel gegen ein bekanntes echtes Datenkabel getauscht, an einem USB-Port an der Rückseite und ohne Hub dazwischen
- Geprüft, dass du zum Flashen am JTAG-Port und zum Lesen am Daten-Port hängst
- CH347- oder WCH-Treiber installiert, Reader-Software und MemProcFS geschlossen
- Ein sauberer Versuch, das richtige Image zu flashen, ungestört bis zum Ende
Tipp
Was du an den Support schickst
Sag, welche Stufe du erreicht hast, in den Begriffen von oben. Ob die LEDs leuchten. Ob das Flash-Tool die JTAG-Kette öffnen kann. Den genauen Dateinamen, den du geflasht hast, und den Baustein, den du ausgewählt hast. Die vollständige Ausgabe des Tools, eingefügt statt zusammengefasst. Ein Foto der Platine samt Aufdruck und FPGA-Beschriftung. Deine Bestellnummer. Dieser Satz reicht meistens, um die Frage in einer Antwort zu klären statt in fünf.
Fragen zur Rettung
Habe ich das FPGA durch das falsche Image zerstört?
Mit sehr hoher Wahrscheinlichkeit nicht. Ein fehlerhaftes Image führt dazu, dass sich das FPGA nicht konfigurieren kann, und das sieht aus wie ein fehlendes Gerät. Das Silizium bleibt unberührt, und JTAG ist weiter erreichbar.
Muss die Karte im Spiele-PC stecken, um gerettet zu werden?
Sie braucht Strom. Bei den meisten Platinen heißt das: im Spiele-PC gesteckt und der Spiele-PC läuft. Manche Platinen ziehen ihren Strom auch allein aus dem Flash-Port — richte dich nach der Dokumentation deiner Platine.
Kann ich sie ohne JTAG retten?
Praktisch nicht. Der PCIe-Weg steht ja genau deshalb nicht zur Verfügung, weil die Konfiguration gescheitert ist, also führt der Weg hinein über JTAG. Deshalb gibt es den Flash-Port als eigene Buchse.
Braucht eine Rettung ein erneutes Auslesen der DNA?
Nein. Die DNA liegt in eFUSE und bleibt von allem unberührt, was du in den Flash schreibst — das Image, das du schon hast, passt also weiter zur Platine.
Das Tool meldet jedes Mal Erfolg und die Karte taucht trotzdem nicht auf. Was jetzt?
Hör auf zu flashen. Ein erfolgreich geschriebenes Image, das für eine andere Platine oder eine andere DNA gebaut wurde, verhält sich genau so. Prüf die Datei gegen deine Bestellung und bring die Tool-Ausgabe zum Support.
Quellen
Die Stufenübersicht und die Symptomzeilen stammen von uns. Sie kommen von Karten, die auf unserer Werkbank und in Tickets aufgehört haben zu arbeiten.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
das Programmieren eines Bausteins und seines Konfigurations-Flash über JTAG — der Weg, auf dem die ganze Rettung beruht
docs.amd.com
Weiterlesen
Kommst du nicht weiter? Ticket auf Discord öffnen
Alle Anleitungen