¿Cómo puedo proteger el hardware de una microSD para que no escriba en

Tengo una placa negra beagle bone y quiero que la tarjeta sea de solo lectura para que no se realicen modificaciones en la tarjeta microSD. ¿Cómo puedo lograr eso?

He buscado en internet para esto. La tarjeta SD tiene un interruptor para hacer esto, sin embargo, la microSD no.

Estoy pensando que debe haber un pin a través del cual se escribe la información en la tarjeta. ¿Es posible hacer que la tarjeta sea de solo lectura bloqueando ese pin, o hay otra forma mejor de hacer que la tarjeta sea de solo lectura?

Editar: quiero una forma de bloqueo sin software. Estoy tratando de instalar un sistema operativo pequeño en él, y quiero que alguien que pueda piratear no pueda agregar nada en esa tarjeta microSD.

¿Qué has probado? ¿Qué mostraron tus búsquedas? ¿Por qué no fueron lo suficientemente buenos o qué problema tuviste con ellos en particular?
Lo sentimos, CPJ, pero tal como está, esta pregunta no parece estar relacionada de ninguna manera con la robótica .
@MarkBooth: No saque conclusiones precipitadas. Hay electrónica involucrada en la robótica. ¿O no hay?
@CPJ Estoy de acuerdo con usted, dejaría su pregunta en suspenso debido a que no mostró ningún esfuerzo de investigación, solo preguntó cómo, no describió lo que ha intentado y los problemas que tiene. Además, esta pregunta es tan específica de una plataforma, las preguntas relacionadas con la electrónica en robots tienen alguna relación con la pregunta.
@CPJ: Sí, la robótica incluye una gran cantidad de otras disciplinas, incluida la electrónica, pero su pregunta ni siquiera menciona una aplicación robótica, es una pregunta puramente beagle. Lea el meta hilo ¿Cómo abordamos las preguntas sobre áreas temáticas relacionadas? y ¿ Dónde termina la Robótica y comienza la Ingeniería Eléctrica? . Además, recuerde que si edita su pregunta para traerla al tema y la marca para que el moderador la preste atención, con gusto la reabriremos.
De acuerdo con esta publicación de superuser.com , ese interruptor en el costado de la tarjeta no es eléctrico, los lectores de tarjetas que admiten la protección contra escritura pueden detectar la posición de ese interruptor a través de un sensor mecánico/óptico (que algunos controladores/software pueden ignorar). Hay alguna mención de una protección contra escritura a nivel de tarjeta en la especificación de la tarjeta SD, pero no hay muchos detalles y parece ser raro.
No hay protección contra escritura de hardware en las tarjetas SD. Aparentemente, hay un bit de configuración de la tarjeta que rara vez se usa y que la mayoría de los clientes no sabrían restablecer, pero restablecerlo es una operación de software en la interfaz.
Probablemente sea demasiado tarde, pero para quien pasa: http://www.bertold.org/sdtool/
@ChrisStratton junto al bit reiniciable es un bit no reiniciable, para hacer que la tarjeta sea de solo lectura de forma permanente. (Y creo que su hacker promedio no pensará en verificar el CSD cuando la tarjeta parezca de solo lectura)

Respuestas (2)

@Johnny arriba es 100% correcto. El interruptor no es un interruptor en absoluto, funciona de la misma manera que la pestaña de un disquete. Sin embargo, con SD solo hay una aplicación opcional, mientras que con el disquete, el hardware estándar aplicaba el mecanismo de protección contra escritura.

Cableado de la tarjeta SD

Un circuito frente a mí conecta la línea "Tarjeta SD protegida" desde la jaula de la tarjeta (en este caso, de tamaño completo) a un puerto GPIO y el controlador lo detecta. La imagen de arriba es para enfatizar que los mecanismos de "tarjeta presente" y "tarjeta protegida" están separados del bus de transferencia de datos MMCSD.

En su caso, la tarjeta microSD no tiene interruptor ni mecanismo en la ranura de la tarjeta para detectar nada. Sin mirar el esquema de BeagleBone, diría que no hay una línea de protección. Pero eso no te impide

  • Crear su propia línea de protección de tarjeta usando una línea GPIO de repuesto y usando un puente para seleccionar protegido/no protegido. Luego, cambie el controlador del dispositivo SD para usar esa línea GPIO.
  • fingiendo que existe una línea alterando el controlador del dispositivo SD
  • No molestarse y pedirle al kernel que monte la imagen de solo lectura

Así que me temo que la pregunta vuelve a ser una pregunta sobre el sistema operativo Linux.

Parece que puede bloquear las tarjetas SD por software, aquí hay un enlace para comenzar:

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

El archivo que muestra cómo bloquear/desbloquear es github.com/Nephiel/sdlocker-tiny/blob/master/sdlocker-tiny.cpp