Ich habe einen Software-Hintergrund, denke aber, dass dies eine Hardware-/Elektronik-Frage ist.
Auf der Suche nach einer Möglichkeit, Flash-Medien mit einem Hardware-Schreibschutz zu versehen, kaufte ich eine SDHC-Karte (mit einem winzigen Schalter mit der Aufschrift „Schloss“) und einen billigen USB-Kartenleser. Ich wollte ein schreibgeschütztes Gerät erstellen, bei dem ich sicher sein kann, dass es nicht modifiziert wird – ohne Rücksicht auf die Software auf den Hosts nehmen zu müssen, mit denen ich es verbinde.
Direkt in mein Dell-Laptop gesteckt, kann die Karte nur im entsperrten Zustand beschrieben werden... Ich nahm an, dass der Schreibschutz von der SD-Karte umgesetzt wird... Als ich die SD-Karte in den USB-Reader stecke, jedoch das Gleiche Laptop erlaubt mir, auf die gesperrte Karte zu schreiben. Ich habe jetzt diese Frage und diese Bestätigung gelesen , dass ich falsch angenommen habe, dass der Sperrschalter einen Hardware-Schreibschutz bieten würde. Ich weiß jetzt, dass die "Sperre" keine isolierte Funktion der Karte ist - und dass die Standardeinstellung "gesperrt" von den Betriebssystemtreibern abhängt (denen ich nicht gezwungen werden möchte, zu vertrauen).
Ich würde gerne wissen: Was wäre eine unkomplizierte, einfache, zuverlässige, ordentliche und kostengünstige Möglichkeit, einen Hardware-Schreibschutzschalter für Flash-Medien zu implementieren? Idealerweise möchte ich auf diese Medien über USB zugreifen. Ich nehme an, dass ich ein Gerät benötige, das die über die serielle Schnittstelle ausgetauschten Datenblöcke entweder auf USB oder auf der SD-Karte abfangen kann?
Sie können die SD-Karte als schreibgeschützt oder vorübergehend schreibgeschützt markieren. Sie können den Speicher auch ausblenden oder zum Schreiben mit einem Kennwort schützen.
Wenn Sie Code/Treiber nicht ändern möchten, können Sie einfach eine externe Einheit bauen, um Ihre SDCards schnell schreibgeschützt zu machen.
Siehe hier für eine Implementierung, die einen externen ATTiny85-Mikro als Man-in-the-Middle verwendet.
Sie sollten die vereinfachten Spezifikationen lesen
Eine allgemeine Diskussion finden Sie in Physical Layer 5.0. Sie können einen Speicherbereich dauerhaft und unwiderruflich als Read Only markieren.
4.3.6 Schreibschutzverwaltung
Die SD-Speicherkarte unterstützt drei Schreibschutzmethoden wie folgt:
- Mechanischer Schreibschutzschalter (nur Host verantwortlich)
- Interner Schreibschutz der Karte (Zuständigkeit der Karte)
- Kennwortschutz-Kartensperre.
Password Card Lock scheint die beste Wahl für Sie zu sein.
4.3.7 Karten-Sperr-/Entsperr-Betrieb
Die Passwortschutzfunktion ermöglicht es dem Host, eine Karte zu sperren, während er ein Passwort bereitstellt, das später zum Entsperren der Karte verwendet wird. Das Passwort und seine Größe werden in einem 128-Bit-PWD- bzw. 8-Bit-PWD_LEN-Register gehalten. Diese Register sind nichtflüchtig, so dass ein Einschaltzyklus sie nicht löscht.
Beachten Sie (aus Ali Chens Diskurs), dass nicht alle SD-Karten, die Sie kaufen, alle Funktionen der Spezifikation implementiert haben. YMMV je nachdem, was Sie kaufen. Wenn Sie gründlich sein wollten, würde ich eine E-Mail an Sandisk oder andere senden und fragen, ob sie diese Funktion unterstützen.
Sehen Sie sich diese beiden Projekte an:
Samsung unterstützt definitiv PERM_WRITE_PROTECT, wie in seiner Spezifikation für das CSD-Register gezeigt. Es zeigt es korrekt als (W)1 ...einen einmal beschreibbaren Wert.
Aus diesen sollten Sie in der Lage sein, eine Lösung zu finden, die Ihren Anforderungen entspricht.
Die einfachste Antwort ist, einen anderen USB-Kartenleser zu finden, der die Sperre ordnungsgemäß implementiert.
Es hört sich so an, als würden Sie USB-Kartenleser als einfache Pass-Through-Geräte betrachten. Sie sind es nicht – das USB-Protokoll unterscheidet sich vollständig von den SD-Kartenprotokollen. Es gibt also bereits einen Mikrocontroller, der die Datenblöcke kontinuierlich abfängt. Sie müssen nur einen besseren finden, der auch das Sperrbit überprüft.
Benutzer2233709