Ich habe zwei Flash-Laufwerke mit unterschiedlicher Build-Qualität. Kann ich das "Schlechte" programmatisch auseinanderhalten?

561
Kibbles

Ich versuche einem Freund zu helfen, Probleme mit dem USB-Flash-Laufwerk seines Unternehmens zu diagnostizieren. Sie kauften zwei Arten von Laufwerken in Massen (ich weiß nicht genau, welche Quelle es ist, aber es handelt sich um einen Großauftrag in Übersee, ähnlich wie Alibaba). Nennen wir sie der Einfachheit halber Schwarz und Gelb.

Die Black-Laufwerke funktionieren einwandfrei für alle beabsichtigten Funktionen (hauptsächlich das Sammeln von Debug-Informationen von Laborgeräten über den USB-Anschluss), während die gelben Laufwerke korrekt formatiert werden, aber anscheinend nicht richtig auf den meisten angeschlossenen Geräten (z. B. ihren Laborgeräten) installiert werden Verbraucherprodukte wie Fernsehgeräte, die die Firmware über USB mit einem FAT32-partitionierten Laufwerk aktualisieren).

Gibt es neben der scheinbar minderwertigen Fertigung (und dem milden Kleber auf dem Chip) einen zuverlässigen Weg, um einen "schlechten" Flash-Speicher allein aus diesen Daten zu unterscheiden? Wenn ja, wie können sie ihren Kunden mitteilen, dass sie einen Junk-Drive haben? Ich neige dazu, zu sagen, dass ein USB-Laufwerk im Leerlauf nicht die vollen 500mV (wie Gelb) beanspruchen sollte, aber ich bin nicht sicher, ob dies Probleme bei den Standalone-Geräten verursacht.

Ich weiß, dass es darauf ankommt, Geräte von namhaften Herstellern zu kaufen. Wenn es jedoch einen todsicheren Weg gibt, ein angeschlossenes Flash-Laufwerk zu debuggen und den Kunden wissen zu lassen, dass es nicht abgeschnitten wird, können wir ein Programm für genau diesen Zweck erstellen (falls dies nicht der Fall ist) es gibt es nicht schon)

Hier sind einige Bilder und eine Übersicht über USBDeview. Ich fuhr beide Laufwerke durch ChkFlsh; Keiner von ihnen hat bei einem einstündigen Testlauf Fehler festgestellt, daher scheint das Flash-Modul passierbar zu sein.

Dies ist das "schwarze" (gute) Modul USBDeview. Keine offensichtlichen Probleme sehen.

"Schwarzes" (gutes) Modul USBDeview.  Keine offensichtlichen Probleme sehen.

Dies ist das "gelbe" (schlechte) Modul USBDeview. Heilige Bienen, die 500mA Strom ziehen (ist das eine zuverlässige Maßnahme?). Die allgemeine Auslastung für Flash-Laufwerke scheint zwischen 50 und 200 mA zu liegen, so dass dieses Gerät überhaupt keine Selbstregulierung hat und den verfügbaren USB-Standard nur begrenzt.

USBDeview-Modul "Gelb" (schlecht).  Heilige Bienen, die 500mA Strom ziehen (ist das eine zuverlässige Maßnahme?).  Die allgemeine Auslastung für Flash-Laufwerke scheint zwischen 50 und 200 mA zu liegen, so dass dieses Gerät überhaupt keine Selbstregulierung hat und den verfügbaren USB-Standard nur begrenzt.

Dies ist das "Black" (Gut) mit Epoxid-Chip-On-Board-Design.

"Schwarz" (gut) mit Epoxid-Chip-on-Board-Design.

Dies ist das "schwarze" (gute) Flashmodul.

"Schwarzes" (gutes) Blitzmodul.

Dies ist das "Gelbe" (schlecht) mit Klebstoff direkt auf dem Controller-Chip. Ich nehme an, dass es als "versiegelt" gilt ...

"Gelb" (schlecht) mit Klebstoff direkt auf dem Controller-Chip.  Ich nehme an, dass es als "versiegelt" gilt ...

Dies ist die "gelbe" (schlechte) Nahaufnahme des Controllers. Board ist ein PUD2-TD202 V1.00

"Yellow" (bad) close-up of controller. Board is a PUD2-TD202 V1.00

Blitzmodul "Gelb" (schlecht). Beide Geräte bestehen erweiterte Chkflsh-Tests auf einem Win10-Host.

"Yellow" (bad) flash module. Both devices pass extended Chkflsh tests on a Win10 host.

4
Alle "fehlerhaften Laufwerke" funktionieren zuverlässig auf Windows-Computern, richtig? Das Problem besteht nur bei verschiedenen Geräten? ddbug vor 5 Jahren 1
@ddbug das ist richtig. Beide akzeptieren Dateien ordnungsgemäß und bestehen in Chkflsh erweiterte Lese- und Schreibprüfungen. Ich frage mich, ob der "schlechte" möglicherweise zu viel Strom verbraucht, um mit Geräten richtig umzugehen; PCs können dies zwar richtig kompensieren, aber ich weiß nicht, ob es für die Standard-USB-Anschlüsse einer Appliance gleich ist (obwohl es immer noch 5 V liefern sollte). Kibbles vor 5 Jahren 0
Wie beim Stromverbrauch können Sie ihn problemlos mit einem USB-VA-Messgerät testen (zahlreiche Modelle in günstigen Webshops). Es sieht aus wie das Limit, gelesen aus dem Konfigurationsdeskriptor, nicht die tatsächliche Auslosung. ddbug vor 5 Jahren 0

1 Antwort auf die Frage

3
harrymc

Ich bemerke einen Unterschied in der Seriennummer auf der Platte, wobei für eine Platte diese leer bleibt.

In Windows können Sie den Befehl wmic verwenden, um die Festplatte zu untersuchen.

So erhalten Sie beispielsweise die Seriennummer des Herstellers aller Festplatten:

wmic diskdrive get serialnumber 

Möglicherweise gibt es andere Eigenschaften der fehlerhaften Festplatte, die unterschiedlich sind. Sie können alle Eigenschaften aller Laufwerke abrufen:

wmic diskdrive >file.txt 

Wenn Sie diese Datei untersuchen, werden sowohl gute als auch schlechte Laufwerke angehängt.

Sie können die Abfrage mit dieser Syntax auf ein bestimmtes Laufwerk beschränken:

wmic DiskDrive where "DeviceID='\\\\.\\PHYSICALDRIVE2'" get serialnumber 

Diese Abfrage ist hilfreich, wenn Sie die Datenträger wiederholt auf demselben Laufwerk des Computers einhängen. Beachten Sie die doppelten Anti-Schrägstriche in der Abfrage, die in der Ausgabe nur als einer angezeigt werden.

Das ist die bizarre Sache, das "schlechte" Laufwerk ist das, das eine Seriennummer hat. Das funktioniert nicht! Dies ist jedoch ein guter Ausgangspunkt. Ich werde ein paar weitere gute in der Ablage durchgehen und sehen, ob sie alle die Seriennummer fehlen, und dann kann ich eine Blacklist für alle erstellen, die mit dem Muster auf dem fehlerhaften (gelben) Laufwerk übereinstimmen. Vielen Dank! Kibbles vor 5 Jahren 0