Wie erkennt man gefälschte FTDI-Chips?

8

Anscheinend gibt es einige gefälschte USB / Serial FTDI-Chips auf dem Markt.

Wenn man im Internet sucht, findet man Leute, die gefälschte / originale vergleichen, indem man sie mechanisch / chemisch öffnet .

Aber wie erkennt man gefälschte weniger aufdringlich?

Ich meine, das berüchtigte FTDI-Treiber-Update enthält sicherlich eine Erkennungsroutine - andernfalls könnte es keine Null-Hersteller-ID auf den gefälschten flashen.

Vielleicht werden der Erkennungsalgorithmus oder ähnliche weniger aufdringliche Methoden veröffentlicht?

maxschlepzig
quelle
1
Dies ist eine interessante Frage. Haben Sie FTDI gefragt? Beispielsweise verfügen sie möglicherweise über einen Testdienst, bei dem Sie den IC (oder Ihr Board) an FTDI senden. Sie testen ihn intern und senden Ihnen einen Bericht. Wenn Sie von ihnen erfahren, können Sie Ihre Ergebnisse hier veröffentlichen (vorausgesetzt natürlich, dass die Informationen nicht unter einer NDA stehen)?
Nick Alexeev
1
@ Nick Alexeev: Wenn Einkaufsfragen nicht zum Thema gehören ... das Erkennen bestimmter Fälschungen wahrscheinlich noch mehr!
Fizz
1
@RespawnedFluff Das OP fragt nach "Algorithmus" oder "Methode". Mal sehen, wohin dieser Thread führen wird.
Nick Alexeev
1
Kaufen Sie bei seriösen Franchise-Händlern, die ihre Lieferkette zertifizieren. Das Problem ist gelöst. Aber im Ernst, dies ist nur die Spitze des Eisbergs. Man könnte schlechte Teile verkaufen, die den Test nicht bestanden haben, die wirklich ein Manf-Teil sind, alte Drehzahlen, beschädigte Retouren, oder wenn wir sogar eine Fabrik hatten, die eine zweite Schicht lief, um Teile für sich selbst herzustellen. Fälschungen sind momentan eine große Pita.
Einige Hardware Guy
2
@RespawnedFluff: Ich sehe nicht ein, wie eine Möglichkeit, gefälschte Versionen eines bestimmten Chips zu erkennen, meinungsbasiert oder schnell veraltet wäre, was beides Hauptgründe dafür sind, warum Einkaufsfragen offtopisch sind.
PlasmaHH

Antworten:

8

Der Treiber wurde zerlegt http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/

Die Erkennung erfolgt in der Zeile WriteEEPromValue unten. Ich kann mir nicht die Mühe machen, die Textquelle zu finden. Hier ist das Bild aus diesem Artikel mit dem eingekreisten kritischen Code / Kommentar

Geben Sie hier die Bildbeschreibung ein

Fizz
quelle
1
Wie Sie sehen können, beruht die Methode darauf, dass das Fake-Chip-EEPROM kurze und / oder falsch ausgerichtete Schreibvorgänge akzeptiert / ausführt, während die echten FT-Chips diese ignorieren. Wer weiß, was die nächste Welle von Fälschungen bewirken wird.
Fizz
Außerdem haben sie versucht, ihren Deaktivierungscode in den Linux- Kerneltreiber lkml.org/lkml/2014/10/23/129 einzufügen. Ratet mal, wie das endete ...
Fizz
Ich bin mir nicht sicher, ob der Patch von jemandem eingereicht wurde, der bei FTDI arbeitet ... weil die nächste Nachricht etwas über "Performance Art" aussagt: D
Fizz
Schließlich können Sie die neuesten Treiber (nach Juli 2015) verwenden. Diese weigern sich, mit gefälschten Chips zu sprechen, ohne sie anscheinend zu töten. electropit.com/index.php/2015/09/06/arduino-nano-v3-0-clones Die genaue Methode, mit der dies erreicht wurde, wurde, soweit ich das beurteilen kann, noch nicht rückentwickelt. Es ist jedoch nicht schwer vorstellbar, den obigen Code so zu ändern, dass er an einen unkritischen Ort schreibt (und dann überprüft, was dieser enthält).
Fizz
2

Das Problem ist, dass die Fälscher versuchen, ihre Fälschungen so zu reparieren, dass sie dagegen immun sind, wenn eine einfache Methode zur Erkennung von Fälschungen allgemein bekannt wird.

Die Frage ist also, welche Tests möglich sind, gegen die Fälscher nur sehr schwer immunisieren können. Ich vermute, dass präzise Timing-Messungen die Antwort sind. Die Chips von IIRC FTDI basieren auf Hardware. Daher sollten sie ein sehr stabiles und vorhersehbares Timing haben, das in einer auf Mikrocontrollern basierenden Fälschung nur sehr schwer genau zu klonen wäre.

Peter Green
quelle
Ab wann ist ein Klon eine perfekte Kopie? Was ist, wenn Sie keine Black-Box-Tests mehr durchführen können?
krasische
Nein, Timing-Messungen sind wahrscheinlich nicht die Antwort, da sich das Gerät auf der anderen Seite eines USB-Busses befindet, der sein eigenes Timing vorschreibt, und die meisten arbeiten mit einer erstaunlichen Vielfalt von Hosts mit ihren eigenen Verzögerungen und Ineffizienzen.
Chris Stratton
Sicher, diese Timing-Messungen müssten in einem Testaufbau mit einem streng kontrollierten Host (höchstwahrscheinlich einem FPGA) durchgeführt werden. Ein Setup zum genauen Messen des Timing-Verhaltens eines USB-Geräts zu erstellen, wäre nicht billig oder einfach, aber ich würde erwarten, dass es sehr effektiv ist, um Klone auszusortieren.
Peter Green