Wie kann ich eine microSD hardwareseitig vor dem Schreiben schützen?

Ich habe eine schwarze Tafel mit Beagle-Knochen und möchte die Karte schreibgeschützt machen, damit keine Änderungen an der microSD-Karte vorgenommen werden. Wie kann ich das erreichen?

Ich habe im Internet danach gesucht. SD-Karten haben dafür einen Schalter, microSD jedoch nicht.

Ich denke, dass es einen Stift geben muss, durch den die Informationen auf die Karte geschrieben werden. Ist es möglich, die Karte schreibgeschützt zu machen, indem dieser Pin blockiert wird, oder gibt es eine andere, bessere Möglichkeit, die Karte schreibgeschützt zu machen?

Bearbeiten: Ich möchte eine Nicht-Software-Methode zum Blockieren. Ich versuche, ein kleines Betriebssystem darauf zu installieren, und möchte, dass jemand, der sich hacken kann, nichts auf dieser microSD-Karte hinzufügen kann.

Was hast du versucht? Was hat Ihre Suche ergeben? Warum waren sie nicht gut genug oder welches Problem hatten Sie speziell damit?
Entschuldigung, CPJ, aber so wie es aussieht, scheint diese Frage in keiner Weise mit Robotik zu tun zu haben .
@MarkBooth: Ziehen Sie keine voreiligen Schlüsse. An der Robotik ist Elektronik beteiligt. Oder gibt es nicht?
@CPJ Ich stimme Ihnen zu, ich würde Ihre Frage zurückstellen, weil Sie keinen Forschungsaufwand zeigen, Sie haben nur gefragt, wie es geht, nicht beschrieben, was Sie versucht haben und welche Probleme Sie haben. Auch diese Frage ist so spezifisch für eine Plattform, dass Fragen zur Elektronik in Robotern in irgendeiner Beziehung zur Frage stehen.
@CPJ - Ja, Robotik umfasst eine Reihe anderer Disziplinen, einschließlich Elektronik, aber Ihre Frage erwähnt nicht einmal eine Roboteranwendung, es ist eine reine Beagle-Knochen-Frage. Lesen Sie den Meta-Thread Wie gehen wir mit Fragen zu verwandten Themengebieten um? und Wo hört Robotik auf und fängt Elektrotechnik an? . Denken Sie auch daran, dass wir sie gerne wieder öffnen, wenn Sie Ihre Frage bearbeiten, um sie zum Thema zu bringen, und sie zur Aufmerksamkeit des Moderators markieren.
Laut diesem superuser.com- Beitrag ist dieser Schalter an der Seite der Karte nicht elektrisch, Kartenleser, die den Schreibschutz unterstützen, können die Position dieses Schalters durch einen mechanischen/optischen Sensor erkennen (den einige Treiber/Software möglicherweise ignorieren). In der SDCard-Spezifikation wird ein Schreibschutz auf Kartenebene erwähnt, aber es gibt nicht viele Details und es scheint selten zu sein.
SD-Karten haben keinen Hardware-Schreibschutz. Es gibt anscheinend ein selten verwendetes Konfigurationsbit der Karte, das die meisten Clients jedoch nicht zurücksetzen würden, aber das Zurücksetzen ist eine Softwareoperation auf der Schnittstelle.
Wahrscheinlich ist es zu spät, aber wer vorbeikommt: http://www.bertold.org/sdtool/
@ChrisStratton neben dem rücksetzbaren Bit ist ein nicht rücksetzbares Bit, um die Karte dauerhaft schreibgeschützt zu machen. (Und ich denke, dass ein durchschnittlicher Hacker nicht daran denken wird, die CSD zu überprüfen, wenn die Karte schreibgeschützt zu sein scheint.)

Antworten (2)

@Johnny oben ist zu 100% richtig. Der Schalter ist überhaupt kein Schalter, er funktioniert genauso wie die Lasche auf einer Diskette. Bei SD gibt es jedoch nur eine optionale Durchsetzung, während bei der Diskette die Standardhardware den Schreibschutzmechanismus erzwingt.

Verkabelung der SD-Karte

Eine Schaltung vor mir verdrahtet die „SD Card Protected“-Leitung vom Kartenkäfig (in diesem Fall in voller Größe) zu einem GPIO-Port und der Treiber erkennt das. Das obige Bild soll betonen, dass die Mechanismen "Karte vorhanden" und "Karte geschützt" vom MMCSD-Datenübertragungsbus getrennt sind.

In Ihrem Fall hat die microSD-Karte keinen Schalter und keinen Mechanismus am Kartensteckplatz, um etwas zu erkennen. Ohne auf das BeagleBone-Schema zu schauen, würde ich sagen, dass es keine Protect-Linie gibt. Aber das hindert Sie nicht daran

  • Erstellen Sie Ihre eigene Kartenschutzleitung mit einer freien GPIO-Leitung und verwenden Sie einen Jumper, um geschützt/nicht geschützt auszuwählen. Ändern Sie dann den SD-Gerätetreiber, um diese GPIO-Leitung zu verwenden.
  • Vorgeben, dass eine Zeile existiert, indem der SD-Gerätetreiber geändert wird
  • Sich nicht die Mühe machen und den Kernel bitten, das Image nur lesend zu mounten

Ich fürchte, die Frage kehrt zu einer Linux-OS-Frage zurück.

Sie können SD-Karten scheinbar per Software sperren, hier ist ein Link, um Ihnen den Einstieg zu erleichtern:

http://hackaday.com/2014/01/18/the-tiniest-sd-card-locker/

Die Datei, die zeigt, wie man sperrt/entsperrt, ist github.com/Nephiel/sdlocker-tiny/blob/master/sdlocker-tiny.cpp