Was bei billiger DMA-Hardware wirklich schiefgeht
Das FPGA selbst ist selten das Problem. Die üblichen Ursachen sind das Kabel, der Bridge-Chip, die Kühlung und die Platinenrevision.
Von Lethal Hardware Desk
Die Support-Tickets in dieser Nische zeigen ein Muster, das nichts damit zu tun hat, wonach die Leute einkaufen: Fast niemand hat ein kaputtes FPGA. Die einen haben stattdessen ein Kabel, das keine Daten übertragen kann, oder eine USB-Bridge unklarer Herkunft. Andere haben eine Platine, die drosselt oder abbricht, sobald sie warm ist, oder eine Platine, die physisch nicht die Revision ist, für die die Firmware gebaut wurde. Jedes dieser Probleme ist billig zu diagnostizieren, und trotzdem wird jedes einzelne für eine tote Karte gehalten.
Welche Fehler kommen am häufigsten vor?
| Fehlerbild | Was du siehst | Die Prüfung, die es klärt |
|---|---|---|
| Das Kabel hält keine USB-3-Daten | Das Gerät wird erkannt, aber die Leserate ist ein Bruchteil des Erwarteten, oder die Verbindung handelt USB 2 aus. | Prüf die ausgehandelte Geschwindigkeit im Geräte-Manager oder mit lsusb -t. Wechsel dann auf ein erprobtes kurzes Datenkabel und miss noch einmal. Reine USB-C-Ladekabel sind extrem verbreitet und sehen identisch aus. |
| Schlechter USB-Pfad statt schlechtem Kabel | Läuft und bricht dann mitten im Lesen ab. Zwischen den Durchläufen schwankende Benchmark-Ergebnisse. | Geh direkt an einen hinteren USB-3-Port am Mainboard. Nimm jeden Hub, jedes Dock und jede Verlängerung heraus. Häng andere bandbreitenhungrige Geräte vom selben Controller ab. |
| Drosseln oder Abbruch durch Wärme | Zehn Minuten in Ordnung, dann wird es schlechter oder die Verbindung bricht ab. Nach dem Abkühlen geht es wieder. | Tastprobe nach längerem Lesen, und prüf, ob der Fehler mit der Zeit zusammenhängt und nicht damit, was du gerade gemacht hast. M.2-Karten in einem engen Slot ohne Luftstrom sind die üblichen Verdächtigen. |
| Falsche Platinenrevision | Das Flashen scheint zu klappen, die Karte wird aber nie richtig erkannt. Oder das Flash-Tool sieht das Gerät gar nicht erst. | Fotografier den Aufdruck: Platinenmodell, Revision, FPGA-Beschriftung, Beschriftung des Bridge-Chips. Vergleich das mit dem, wofür die Firmware gebaut wurde, bevor du erneut flashst. |
| Falsche Buchse | Der Zweit-PC sieht überhaupt nichts, die LEDs leuchten. | Die meisten Platinen haben zwei USB-C-Buchsen: eine für die Flash-Bridge, eine für die Datenbridge. In der Flash-Buchse zu stecken, erzeugt genau das Symptom, das Leute als tote Karte lesen. |
| Fragwürdiges Bridge-Silizium | Der Treiber installiert sich, verhält sich aber seltsam. Läuft auf einer Maschine und auf einer anderen nicht. Merkwürdige Inhalte in den Deskriptoren. | Lies die Deskriptoren und die Beschriftung des Chips. Vergleich sie mit dem Baustein, den die Platine zu tragen behauptet. Das ist von den sechs am schwersten zu bestätigen und das seltenste. |
Was macht der USB-Bridge-Chip?
Die USB-3-Bridge auf den meisten dieser Platinen ist ein FTDI FT601, eine SuperSpeed-Brücke von USB 3.0 auf FIFO mit einer 32-Bit-Parallelschnittstelle. Sie macht aus dem Datenstrom des FPGA etwas, das ein Host über USB lesen kann. Deshalb ist der Datenport ein USB-3-Port, und deshalb zählt die Qualität des Kabels so sehr.
Fälschungen im FTDI-Ökosystem sind dokumentiert, aber Behauptungen aus Foren gehen in diesem Bereich weiter als die Belege; trenn also, was dokumentiert ist, von dem, was nur behauptet wird. Der gut belegte Fall ist die serielle Bridge FT232. Im Oktober 2014 wurde über Windows Update ein FTDI-Treiber ausgeliefert, der nicht originale Chips erkannte und ihre USB-Produkt-ID auf null umprogrammierte. Damit waren diese Chips für Windows, Linux und macOS gleichermaßen unbrauchbar. Der Vorfall ist real und wurde damals breit berichtet, und deshalb hat der Ausdruck „gefälschtes FTDI“ in Hardwarekreisen Gewicht.
Berichte über umetikettierte, neu beschriftete oder anderweitig fragwürdige FT601-Bausteine auf Billigplatinen kursieren in dieser Nische reichlich. Wir haben Platinen gesehen, deren Beschriftung nicht zu ihrem Verhalten passte, aber wir haben keine belastbare veröffentlichte Analyse zu FT601-Fälschungen gefunden, die dem FT232-Fall entspräche. Deshalb stellen wir es nicht als gesichert dar: Behandle es als Vermutung der Community und nicht als dokumentierte Tatsache. Der praktische Rat ist so oder so derselbe. Kauf bei einem Verkäufer, der dir sagt, was auf der Platine sitzt, und fotografier die Beschriftungen, wenn sie ankommt. Sei misstrauisch bei jeder Platine, die deutlich günstiger ist als alle anderen Platinen, die dieselbe Bridge angeben.
Bedeutet ein Produktname auch eine Platine?
Der teuerste Fehler in dieser Kategorie ist die Annahme, dass ein Produktname eine Platine bezeichnet, denn das tut er oft nicht. Zwei Karten, die als dieselbe Klasse mit demselben FPGA angeboten werden, können sich trotzdem in PCB-Revision, USB-Bridge, Flash-Chip, LED-Verdrahtung und Lage der Anschlüsse unterscheiden. Firmware wird gegen bestimmte Hardware gebaut, eine falsche Revision ist also keine kleine Unverträglichkeit, die größtenteils trotzdem funktioniert. Es ist eine Karte, die überhaupt nicht startet.
- 1Fotografier vor der Firmware-Bestellung den Aufdruck, also den Namen der Platine, die Revisionsnummer und die Beschriftungen auf FPGA und Bridge-Chip.
- 2Lass dir vom Firmware-Verkäufer die Kompatibilität gegen dieses Foto bestätigen und nicht gegen den Produktnamen, unter dem du die Platine gekauft hast.
- 3Heb das Foto auf, denn wenn in sechs Monaten etwas kaputtgeht, wirst du nicht mehr wissen, welche Revision du hast.
- 4Wenn ein Verkäufer dir nicht sagen kann, welche Revision er verschickt, sagt dir das etwas Wichtiges über den Verkäufer.
Ein kurzes, erprobtes, datentaugliches USB-3-Kabel kostet fast nichts und behebt mehr gemeldete Fehler als jeder Bauteiltausch. Kauf zwei und heb eines ungeöffnet als Referenz auf. Wenn dann etwas schiefgeht, hast du ein Kabel, von dem du weißt, dass es gut ist, statt vier Kabel, die du verdächtigst. Mit einem erprobten Referenzteil zu testen, ist der Unterschied zwischen zehn Minuten Fehlersuche und dem Austausch einer Platine, die funktioniert hat.
Worauf verzichtest du bei einer billigen Platine?
Vor allem nicht auf die Zuverlässigkeit des Siliziums, denn das Artix-7 auf einer Billigplatine ist derselbe Standardbaustein wie auf einer teuren. Was du verlierst, ist alles drumherum: ein Kabel, das funktioniert, genaue Angaben dazu, welche Revision du bekommen hast, und einen Verkäufer, der seine eigene Platine benennen kann. Du verlierst außerdem eine Kühlung mit etwas Reserve und jemanden, mit dem du reden kannst, wenn die Karte nicht startet. Genau diese Dinge fehlen als Erstes, und genau sie entscheiden, ob dein Aufbau funktioniert.
Weiterlesen
Noch Fragen dazu? Auf Discord fragen
Alle Beiträge