Il meccanismo di blocco su una scheda SD hardware, firmware o software (driver, sistema operativo) è applicato?


16

Dove viene applicato il blocco in modalità di sola lettura con le schede SD? Questo viene fatto all'interno della scheda stessa fisicamente, nel firmware dei lettori o nel sistema operativo? (Qualche altro posto?)

Risposte:


20

Se leggi il Specifiche SD Parte 1 Specifica semplificata del livello fisico , dice la sezione 4.3.6 "Gestione della protezione da scrittura"

Nella scheda di memoria SD sono supportati tre metodi di protezione dalla scrittura come segue:
- Interruttore di protezione da scrittura meccanico (solo responsabilità dell'host
)
- Protezione da scrittura interna della scheda (responsabilità della scheda) - Operazione di blocco della scheda di protezione con password.

Interruttore di protezione da scrittura meccanico

Una tavoletta meccanica scorrevole sul lato della scheda (fare riferimento all'Addenda meccanica parte 1) verrà utilizzata dall'utente per indicare che una determinata scheda è protetta da scrittura o meno. Se il tablet scorrevole è posizionato in modo tale che la finestra sia aperta, significa che la scheda è protetta da scrittura. Se la finestra è chiusa, la scheda non è protetta da scrittura. Un interruttore adeguato, abbinato, sul lato del socket indicherà all'host che la scheda è protetta dalla scrittura o meno. È responsabilità dell'host proteggere la carta. La posizione dell'interruttore di protezione dalla scrittura non è nota ai circuiti interni della scheda.

(la mia enfasi)

Una specifica della scheda SD TOSHIBA dice

CMD28 SET_WRITE_PROT - La protezione da scrittura interna non è implementata.
CMD29 CLR_WRITE_PROT - La protezione da scrittura interna non è implementata.
CMD30 SEND_WRITE_PROT - La protezione da scrittura interna non è implementata.

...

2) Funzioni non supportate:
protezione da scrittura interna della scheda (opzionale nella specifica dello strato fisico 4.3.5.)


Ma mi chiedo as
tsenapathy il

14

Nel mio lavoro, utilizziamo le schede SD in un sistema incorporato. Se proviamo a fare il boot con una scheda bloccata, avremo il panico del kernel. Questo non è stato un grosso problema fino a quando non abbiamo ottenuto un lotto di schede SD con interruttori di scrittura molto sciolti: l'atto di inserire la scheda nel lettore era talvolta sufficiente per spostare l'interruttore e bloccare la scheda. Molte persone hanno iniziato a cercare opzioni meccaniche per evitarlo, come attaccare un pezzo di nastro su ogni scheda SD, ma alla fine abbiamo risolto questo problema cambiando una riga di codice sorgente nel kernel Linux. Ora quando viene rilevata una scheda SD con l'interruttore impostato in sola lettura, semplicemente ignoriamo l'interruttore e scriviamo felicemente i dati sulla scheda ogni volta che vogliamo.

Questo deriva dalla nostra folle discrepanza di backport, quindi dubito che questa patch si applicherebbe in modo pulito ovunque, ma se vuoi sperimentare il tuo kernel, questo è un buon punto di partenza:

--- include/linux/mmc/card.h    (revision 1423)
+++ include/linux/mmc/card.h    (revision 1424)
@@ -125,7 +125,7 @@
 #define mmc_card_blockaddr(c)  ((c)->state & MMC_STATE_BLOCKADDR)

 #define mmc_card_set_present(c)    ((c)->state |= MMC_STATE_PRESENT)
-#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
+#define mmc_card_set_readonly(c) {printk("Ignoring MMC read-only switch\n");}
 #define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED)
 #define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)

Se non hai voglia di patchare e costruire un kernel Linux ma hai una fotocamera Canon P&S, puoi usare CHDK per scrivere file (immagini) su una scheda SD protetta da scrittura (quando la fotocamera si accende, OF controlla stato dell'interruttore; quando impostato su RO caricherà automaticamente il firmware dalla scheda SD. Ciò consente agli utenti di eseguire l'avvio direttamente in CHDK; quindi CHDK ignora lo stato dell'interruttore in modo che possa ancora scrivere le immagini sulla scheda; vedere ad es. http : //chdk.wikia.com/wiki/Bootable_SD_card ).

Puoi anche scrivere su una scheda SD protetta da scrittura in Linux disattivando il flag di sola lettura hdparme rimontando la scheda:

$ mount | grep mmc
/dev/mmcblk0p1 on /media/hello type ext3 (ro,nosuid,nodev,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered,uhelper=udisks)
$ touch /media/hello/test
touch: cannot touch `/media/hello/test': Read-only file system
$ sudo hdparm -r /dev/mmcblk0p1

/dev/mmcblk0p1:
 readonly      =  1 (on)
$ sudo hdparm -r0 /dev/mmcblk0p1

/dev/mmcblk0p1:
 setting readonly to 0 (off)
 readonly      =  0 (off)
$ touch /media/hello/test
touch: cannot touch `/media/hello/test': Read-only file system
$ sudo mount -t ext3 -o rw,remount /dev/mmcblk0p1 /media/hello
$ touch /media/hello/test
$ echo goodbye > /media/hello/test
$ cat /media/hello/test
goodbye
$ sudo umount /dev/mmcblk0p1
$ sudo mount /dev/mmcblk0p1 /mnt
mount: block device /dev/mmcblk0p1 is write-protected, mounting read-only
$ cat /mnt/test
goodbye
$ touch /mnt/test
touch: cannot touch `/mnt/test': Read-only file system
$ 

3

Dipende dal lettore. Il lettore può ignorare la scheda di protezione dalla scrittura. Il lettore può disporre di un firmware che disabilita la scrittura se la scheda di protezione dalla scrittura è attiva. Il lettore può disporre di un driver software che disabilita la scrittura se la scheda di protezione dalla scrittura è attiva. In pratica, la stragrande maggioranza dei lettori lo fa nel firmware.


Penso che ti sbagli. Si prega di pubblicare una fonte.
wizlog,


@wizlog: senza sapere di cosa pensi che mi sbagli, non so per quale affermazione pubblicare una fonte.
David Schwartz,

Il lettore può ignorare la scheda di protezione dalla scrittura
wizlog

3
"Poiché la tacca viene rilevata solo dal lettore, la protezione può essere ignorata se lo si desidera (e se supportato dal lettore)." - Wikipedia
David Schwartz,

-3

È uno switch basato su hardware. È una funzione che blocca qualsiasi operazione di scrittura.

Se commutato, non puoi:

  • Sposta i file dalla o sulla scheda SD

  • Rimuovere i file dalla scheda SD

  • Copia i file sulla scheda SD

  • Formattare la scheda SD

EDIT Leggi di più qui . Nota il debole cerchio arancione ...


2
Un interruttore sul lato sinistro. Solo così l'operazione sa dove
canadese Luke il

2
Sei sicuro che il blocco lo imponga davvero? Ho letto che ci sono fotocamere che possono (in qualche modo coincidere) ignorarlo e scrivere comunque sulla scheda.
Jane Panda,

Il link che stai citando dice "Alcune schede SD hanno anche una protezione da scrittura integrata nella scheda". Alcuni - non tutti. Se confronti le altre risposte sembra che questa sia un'eccezione. Piuttosto scioccante, penso - sembra che non pensassero affatto alla sicurezza e ai virus. 8- {
Hans-Peter Störr

1
perché questa risposta è stata votata così male?
wizlog,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.