Récupérer une carte qui ne s'énumère plus
Ce que bricked veut vraiment dire pour une carte FPGA. Pourquoi un mauvais bitstream se récupère presque toujours par JTAG, et les rares cas où une carte est réellement morte.
Réponse courte
Une carte qui cesse de s'énumérer après un flash n'est presque jamais du silicium mort. À la mise sous tension, le FPGA charge son bitstream depuis la flash SPI. Une mauvaise image veut dire que la configuration n'aboutit jamais, donc aucun endpoint PCIe n'apparaît. Mais JTAG ne dépend pas de ce qui se trouve en flash, donc le correctif est presque toujours un reflash.
Sur cette page10
- Ce que bricked veut dire ici
- La séquence de mise sous tension, et où elle s'arrête
- Pourquoi JTAG survit à un mauvais bitstream
- Le chemin de récupération
- Lire le symptôme
- Quand une carte est vraiment morte
- Avant de déclarer une carte morte
- Ce qu'il faut envoyer au support
- Questions sur la récupération
- Sources
Ce que bricked veut dire ici
Dans cette configuration, le mot décrit en général un symptôme, pas un diagnostic. La carte n'apparaît plus comme périphérique PCIe, donc rien de ce qui vient après ne fonctionne. Ce symptôme a une cause fréquente et plusieurs causes rares. La cause fréquente est une flash contenant une image depuis laquelle le FPGA n'arrive pas à se configurer. Le composant reste non configuré, et donc invisible pour l'hôte. Non configuré n'est pas endommagé. Un FPGA non configuré est une puce qui attend un bitstream valide, et lui en fournir un est une opération ordinaire.
La séquence de mise sous tension, et où elle s'arrête
Cinq étapes. Savoir à laquelle vous avez échoué vous dit si c'est un problème de flash, d'insertion ou de matériel.
- 1. Alimentation du slot
- La carte tire son courant du slot PCIe. Pas de courant, pas de LED, et rien d'autre ne se produit
- 2. Configuration
- Le FPGA lit la flash SPI et charge le bitstream. Une image corrompue ou partielle échoue ici
- 3. Done
- La configuration aboutit et le design se met à tourner. Avant ce point, il n'existe aucun endpoint PCIe
- 4. Entraînement du lien
- Le lien PCIe négocie avec l'hôte. Une carte configurée qui n'y arrive jamais est un problème d'insertion ou de slot
- 5. Énumération
- L'hôte lit l'espace de configuration et le périphérique apparaît. C'est la première étape visible depuis Windows
Pourquoi JTAG survit à un mauvais bitstream
JTAG est une interface de test et de débogage implantée dans le silicium lui-même. Elle démarre avec la puce. Elle se moque du mode de configuration pour lequel la carte est câblée, et elle se moque de ce qui se trouve en flash. C'est la propriété sur laquelle repose tout le chemin de récupération. Le FPGA peut être totalement incapable de se configurer et rester joignable par JTAG. En pratique, l'outil charge un petit bitstream d'aide dans le FPGA par JTAG. Cet auxiliaire lui ouvre un chemin vers la flash SPI, qui peut alors être réécrite. Que la carte soit invisible du côté PCIe n'y change rien.
Le chemin de récupération
C'est la procédure de flash ordinaire, pas un mode spécial. Si vous avez réussi à flasher la carte une fois, vous pouvez la flasher à nouveau.
- Éteignez complètement le PC de jeu, vérifiez que la carte est bien enfoncée, puis rallumez-le
- Déplacez le câble USB vers le port JTAG de la carte et vers un port USB arrière du second PC
- Fermez tout ce qui pourrait retenir le périphérique USB — logiciel de lecture, MemProcFS, tout autre outil de flash
- Ouvrez l'outil de flash et vérifiez qu'il voit le périphérique et ouvre la chaîne JTAG avant de choisir un fichier
- Sélectionnez le modèle de FPGA qui correspond à la puce présente sur la carte
- Flashez une image connue comme bonne pour cette carte précise et ce DNA ID, le format réglé sur BIN
- Laissez l'opération aller au bout sans toucher à la machine
- Faites un démarrage à froid du PC de jeu, déplacez le câble vers le port de données et relancez un test de connexion
Lire le symptôme
La bonne question n'est pas de savoir si la carte est bricked, mais quelle étape de la séquence de mise sous tension elle a atteinte. Ces lignes relient les symptômes aux étapes.
| Symptôme | Cause probable | Solution |
|---|---|---|
| Aucune LED alors que le PC de jeu est allumé | Étape 1. Pas d'alimentation du slot : carte mal enfoncée, slot mort, ou vrai dommage matériel | Réinsérez-la dans un autre slot PCIe, machine complètement éteinte. S'il n'y a toujours aucune lumière dans un slot dont vous savez qu'il fonctionne, c'est l'un des rares vrais cas matériels |
| LED allumées, mais aucun périphérique nulle part sur l'hôte | Étape 2. Le FPGA ne s'est jamais configuré, donc le contenu de la flash est mauvais ou incomplet | Reflashez par JTAG une image connue comme bonne. C'est le cas fréquent, et il se récupère |
| L'outil de flash n'arrive pas à ouvrir la chaîne JTAG | Mauvais port, pilote CH347 manquant, un processus qui retient le périphérique, ou mauvais modèle sélectionné | Port JTAG, installez le pilote, fermez les autres outils, lancez en tant qu'administrateur et sélectionnez le bon modèle. L'accès à la chaîne est indépendant du contenu de la flash, donc ce n'est pas un brick |
| Le périphérique apparaît, mais sous une autre identité ou avec un code d'erreur | Étape 5. La configuration a réussi, donc l'image tourne — ce n'est simplement pas l'image voulue | Vérifiez que vous avez bien flashé le fichier délivré pour cette carte, puis reflashez le bon. La carte est en bonne santé |
| Le flash aboutit, la carte reste invisible après un démarrage à froid | L'image ne correspond pas à cette carte ou à ce DNA ID | Vérifiez le nom de fichier face à votre commande et confirmez la classe du FPGA. Envoyez la sortie de l'outil au support plutôt que de reflasher le même fichier une quatrième fois |
| Fonctionnait hier, plus rien aujourd'hui, sans flash entre-temps | Presque jamais le firmware. En général le slot, le câble, le port USB ou une carte figée | Arrêt complet du PC de jeu pendant dix secondes, puis démarrage à froid. Ensuite réinsertion, ensuite changement de câble. Reflasher n'est pas le premier geste ici |
Quand une carte est vraiment morte
Cela arrive, et cela ne ressemble pas à la même chose. Un dommage physique en est la cause habituelle. Un contact PCIe tordu, une prise USB-C arrachée, un composant brûlé, ou une carte insérée dans un slot sous tension. La signature est un échec à l'étape 1 plutôt qu'à l'étape 2. Soit aucune LED dans un slot dont vous avez prouvé qu'il fonctionne avec une autre carte, soit une chaîne JTAG que vous n'arrivez pas à ouvrir. Ce second cas ne compte qu'avec le bon pilote, le bon port et le bon modèle sélectionné, sur une carte dont l'alimentation est certaine. Un contenu de flash corrompu ne produit pas ces symptômes.
Avant de déclarer une carte morte
Sept points. La plupart des bricks signalés cessent d'en être quelque part dans cette liste.
- PC de jeu complètement éteint pendant dix secondes, puis démarré à froid — pas redémarré
- Carte réinsérée, clip de rétention fermé et équerre bien à plat
- Essayée dans un second slot PCIe
- Câble remplacé par un câble certifié données, sur un port USB arrière, sans hub dans le chemin
- Vérifié que vous êtes sur le port JTAG pour le flash et sur le port de données pour la lecture
- Pilote CH347 ou WCH installé, logiciel de lecture et MemProcFS fermés
- Une tentative de reflash propre de la bonne image, laissée aller jusqu'au bout sans interruption
Conseil
Ce qu'il faut envoyer au support
Dites quelle étape vous avez atteinte, dans les termes ci-dessus. Si les LED s'allument. Si l'outil de flash arrive à ouvrir la chaîne JTAG. Le nom de fichier exact que vous avez flashé et le modèle sélectionné. La sortie complète de l'outil, collée plutôt que résumée. Une photo de la carte avec la sérigraphie et le marquage du FPGA. Votre ID de commande. Cet ensemble suffit en général à répondre en une fois plutôt qu'en cinq.
Questions sur la récupération
Ai-je détruit le FPGA en flashant la mauvaise image ?
Presque certainement pas. Écrire une mauvaise image laisse le FPGA incapable de se configurer, ce qui se lit comme un périphérique absent. Le silicium est intact et JTAG reste joignable.
La carte doit-elle être dans le PC de jeu pour être récupérée ?
Il lui faut du courant. Sur la plupart des modèles, cela veut dire installée dans le PC de jeu, PC de jeu allumé. Certaines cartes peuvent être alimentées par le seul port de flash — suivez la documentation de votre carte.
Puis-je la récupérer sans JTAG ?
Pas en pratique. Le chemin PCIe est indisponible précisément parce que la configuration a échoué, donc JTAG est la porte d'entrée. C'est pour cela que le port de flash existe comme connecteur séparé.
Un flash de récupération demande-t-il une nouvelle lecture du DNA ?
Non. Le DNA est en eFUSE et rien de ce que vous écrivez en flash ne l'affecte, donc l'image que vous possédez déjà correspond toujours à la carte.
L'outil annonce une réussite à chaque fois et la carte n'apparaît toujours pas. Et maintenant ?
Arrêtez de reflasher. Une écriture réussie d'une image compilée pour une autre carte ou un autre DNA se comporte exactement comme cela. Vérifiez le fichier face à votre commande et apportez la sortie de l'outil au support.
Sources
La carte des étapes et le tableau des symptômes viennent de nous. Ils sortent de cartes qui ont cessé de fonctionner sur notre banc et dans des tickets.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
programmer un composant et sa flash de configuration par JTAG, le chemin sur lequel repose toute la récupération
docs.amd.com
À lire ensuite
Toujours bloqué ? Ouvrir un ticket sur Discord
Tous les guides