Ce qu'implique vraiment une recompilation de firmware
Les cinq étapes entre une commande de firmware payée et une carte qui énumère. Deux d'entre elles vous reviennent, pas à nous.
Par Lethal Hardware Desk
Une commande de firmware sur mesure ne vous remet pas un fichier qui existait déjà. Elle lance une fabrication. Cette fabrication a besoin d'une seule donnée que vous êtes seul à pouvoir fournir : l'identifiant gravé dans le FPGA de votre carte. C'est pour cela que le catalogue dit qu'une ligne de firmware est préparée, et non livrée. C'est le seul produit ici qui ne peut pas se terminer tout seul pendant que vous attendez. Voici la séquence, écrite noir sur blanc, pour qu'une commande en cours de fabrication soit lisible au lieu d'être silencieuse.
Une image, une puce
Chaque FPGA Artix-7 porte un device DNA unique, un numéro de série gravé dans le silicium. Le firmware sur mesure est généré contre cette valeur. L'image ne configurera pas une autre puce. Tout le reste découle de ce seul fait. La fabrication ne peut pas commencer avant que le DNA soit dans le ticket. Le fichier ne peut pas être réutilisé sur une deuxième carte. Changer de carte veut dire une nouvelle fabrication, pas une copie. Cela veut dire aussi que l'image ne vaut rien pour personne d'autre. C'est bien tout l'intérêt de la lier.
Ce que le ticket doit contenir avant que quoi que ce soit démarre
- Le numéro de commande, pour que la fabrication se rattache à une commande payée et non à une conversation
- Le DNA ID, lu sur votre propre carte depuis le second PC
- Une photo de la carte montrant le modèle et la révision sérigraphiés
- Le marquage du FPGA, relevé sur la puce et non recopié depuis l'annonce
- Le jeu que vous comptez faire tourner, parce que le niveau et le profil sont choisis en fonction de lui
Rien de tout cela n'est de la paperasse. La révision sérigraphiée décide quel pont USB et quelle puce flash l'image devra piloter. Deux cartes qui affichent toutes les deux 75T dans une annonce peuvent différer sur les deux points. Le marquage du FPGA décide du composant. Le DNA décide du lien. Un ticket qui porte ces cinq lignes avance. Un ticket qui porte un nom de jeu et rien d'autre, non.
N'envoyez pas une valeur tirée d'une vidéo, de la capture d'écran d'un ami ou d'une ancienne commande. Le DNA ID se lit sur votre second PC, sur la carte qui est dans votre machine. Une image construite contre la mauvaise valeur ne configurera pas la vôtre. Si vous n'êtes pas sûr de l'avoir bien lu, dites-le dans le ticket plutôt que de deviner. Un seul caractère faux coûte une refabrication.
Choisir le profil de donneur
Une carte DMA répond aux lectures de configuration de l'hôte depuis un overlay inscriptible, et non depuis des valeurs figées à la synthèse. L'identité que la carte présente est donc une donnée. Choisir un donneur, c'est décider quel appareil réel cette donnée décrit. Cela couvre les identifiants de fabricant et de périphérique, le code de classe, la disposition des BAR, la liste de capacités et les entrées étendues qui la suivent. Le travail porte sur la cohérence, pas sur l'obscurité. Prenez un profil dont le code de classe contredit l'identifiant de périphérique, ou dont la paire de sous-système est vide : c'est une contradiction que remarque n'importe quoi qui lit ces registres. Les niveaux de la page firmware — Emulated, Slotted, Slotted v2, Signature et Sovereign — se distinguent en partie par les profils sur lesquels une fabrication peut s'appuyer. Ils se distinguent aussi par la liste d'anticheats et par la durée de couverture en remplacement que chacun porte.
Fabriquer et flasher
Une fois les entrées fixées, le profil est écrit dans le design. Le design est ensuite synthétisé en un bitstream pour votre composant. Cela produit un fichier, nommé d'après votre commande et lié à votre DNA. Le délai est celui que le site publie déjà : une commande de firmware est en général préparée en 24 à 48 heures une fois le paiement vérifié. Le flashage, lui, vous revient. L'image part sur la carte par son port de flash, la carte étant alimentée dans le PC de jeu. Une vraie écriture prend des minutes, pas des secondes. Un flashage qui se termine instantanément n'a rien écrit.
Pendant que l'outil écrit, la flash ne contient ni l'ancienne image ni la nouvelle. Trois choses cassent cette fenêtre : débrancher le câble, laisser le second PC se mettre en veille, ou couper l'alimentation du PC de jeu. Chacune produit à coup sûr une carte qui n'énumère plus. Aucune autre étape de ce processus ne fait cela. Désactivez la veille sur le second PC avant de commencer.
Vérifier, dans le seul ordre qui prouve quelque chose
- 1Éteignez complètement le PC de jeu — un redémarrage laisse le slot sous tension et ne prouve rien
- 2Déplacez le câble du port de flash vers le port de données de la carte
- 3Vérifiez que le périphérique de données FTDI apparaît sur le second PC sans triangle d'avertissement
- 4Lancez le test de connexion livré avec votre commande et vérifiez qu'il atteint bien la carte
- 5Relisez le DNA ID et vérifiez qu'il correspond à la valeur contre laquelle l'image a été construite
Seule la dernière étape boucle la boucle, et c'est celle que l'on saute le plus souvent. Les LED de la carte ne sont pas une preuve. Elles signalent l'alimentation, pas la configuration, et elles s'allument très bien avec une image corrompue en flash. Une chose que tout ce processus ne fait pas, c'est changer ce qui se passe à l'intérieur d'un jeu. Le firmware décide de la façon dont l'identité PCIe de la carte se lit pour tout ce qui l'énumère. C'est une surface d'exposition parmi plusieurs. Un profil qui se lit comme du matériel ordinaire aujourd'hui est une affirmation sur aujourd'hui.
À lire ensuite
Une question sur cet article ? Demander sur Discord
Tous les articles