Guida – come leggere il CID della scheda SD

Secure DigitalChe cosa è il CID?

Tecnicamente il CID è un registro a 16 bytes che contiene un numero identificativo univoco. Questo registro è impostato durante il processo di produzione de non può essere cambiato dai dispositivi che utilizzano tali schede.

Il CID è composto da una sequenza di informazioni riguardo la scheda, il produttore, la data di fabbricazione, il checksum, la dimensione in Gb e altro. Questa è una tabella che spiega la struttura del CID.

Tabella struttura CID

Per comodità il CID viene rappresentato come sequenza di 16 valori esadecimali.

Questo è il CID di una scheda LEXAR da 16Gb

275048534431364730da70ec5500f20

Project: Read, Collect & Decode SD Card CID Register Data


Come leggere il CID

Alcuni dispositivi Android permettono di vedere il numero seriale consultando le proprietà della scheda SD inserita, per leggerla è sufficiente un all’applicazione come GoldCard Helper (attenzione perché questo programma visualizza il CID in sequenza rovesciata) oppure DiskInfo PRO.

Con le librerie di Arduino è possibile scrivere uno sketch per leggere il CID della scheda SD.

Alcuni portatili con lettori SD permettono a Linux di esporre il CID sul Filesystem.

Interpretare il CID

Per conoscere i dettagli della scheda SD basta interpretare ciascun campo usando la tabella. Esiste però un progetto che svolge il lavoro di decodifica digitando semplicemente il CID nel campo. Se siete curiosi vi invito a visitare il sito a questo indirizzo http://goughlui.com/2014/01/02/project-read-collect-decode-sd-card-cid-register-data/

Se il CID termina con 00

Se l’ultimo byte del vostro CID è 00 qualcosa è sicuramente andato male nella lettura. Questo è di fatto il CRC ovvero un codice di verifica calcolato con i byte precedenti. Per definizione dalla tabella ultimo bit è sempre ‘1’ (al massimo si può ottenere 0x01).

In caso sia 00 probabilmente il sistema operativo ha sbagliato qualcosa.

Un esempio

Ho preparato un video in cui mostro come con il mio PC portatile HP Papillon DV1000 con la distribuzione Ubuntu (ma funziona tranquillamente anche con altre distribuzioni) sia possa leggere il CID della scheda inserita nel lettore con estrema facilità. Più sotto ho elencato i comandi usati nel video.

Una volta inserita la scheda aprire la finestra del terminale

sudo -s

Permette di diventare super user (inserire la password dell’utente corrente).

find /sys -name cid -print

Il comando esegue una ricerca del file chiamato “cid” nella directory /sys: non lasciatevi impressionare dai “:” selezionate

Se lo trova significa che il nostro PC ha un lettore compatibile (non è scontato)

cat [percorso_e_nome_file_trovato]

il comando cat seguito dalla stringa restituita dal find

Per velocizzare

Se siete riusciti a visualizzare il CID con i comandi precedenti il comando successivo vi permetter di fare tutto in una volta sola. Aprite la finestra del terminale e digitate:

sudo -s
find /sys -name 'cid' -exec cat {} ;

 

2 Risposte a “Guida – come leggere il CID della scheda SD”

  1. Ciao Alessandro, ho seguito tutti i passi descritti ho usato una sd Samsung evo plus da 32 gb. Il mio porattile è un Samsung 600b con lettore integrato. Funziona perché mi legge il cid. Avevo provato con una scheda evo ma non plus e in effetti non funzionava la scrittura. Ora con una evo plus il processo si completa con un success però dopo che smonto la scheda e la rimonto mi legge sempre il cid originale. Ho provato diverse volte ma sempre lo stesso risultato. In effetti poi provandola sul navigatore la scheda non funziona. Premetto che non ho installato ubuntu sul portatile ho usato la versione live. Però tutte le procedure sono andate a buon fine. Hai idea di cosa può essere? Grazie
    Antonio S.

    1. Ciao, proprio ieri ho aperto una nuova pagina per questo problema…
      http://maestroni.altervista.org/blog/problemi-schede-samsung-evo-32-gb/

      sembra che nelle memorie Samsung messe in vendita da gennaio abbiano cambiato qualcosa. Anche su altri forum stanno evidenziando questo problema. Vi terrò aggiornati sugli sviluppi futuri.
      Per ora l’unico consiglio e di accertarsi di acquistare delle memorie “vecchie” magari evitando i canali on-line e controllando di persona se esiste una data di produzione sulla confezione.

I commenti sono chiusi.