Menemukan pengidentifikasi unik untuk kartu SD

10

Saya memiliki puluhan kartu SD yang harus saya perhatikan untuk sebuah proyek. Saat ini, mereka masing-masing memiliki nomor yang ditulis secara fisik dengan spidol permanen di bagian luar. Ini OK, tapi saya ingin melihat apakah ada sesuatu yang unik yang ada di setiap kartu SD yang bisa saya rekam. Sejauh ini saya menyadari:

  • CID kartu SD, yang biasanya (tidak selalu ???) menyertakan nomor seri unik. Saya tidak dapat menemukan cara mudah untuk membacanya dari kartu SD di Fedora 21. Beberapa halaman mengatakan bahwa kecuali Anda memiliki pembaca kartu yang terhubung langsung ke bus PCI (dan bukan melalui USB), Anda tidak dapat melihat CID.
  • Volume / nomor seri partisi. Ini mungkin bekerja tetapi saya mengerti bahwa ini berubah setiap kali kartu diformat ulang, yang merupakan sesuatu yang kita lakukan dari waktu ke waktu. Jadi bukan pilihan yang bagus.
  • Hanya memberi label volume kartu SD dengan sistem penamaan unik saya sendiri. Ini terlalu mudah untuk diubah, dan saya mungkin juga tetap menulis angka-angka di luar.

Jadi, saya kira pertanyaan saya adalah:

  1. Apakah ada cara yang dapat diandalkan untuk membaca CID dari kartu SD saya untuk mendapatkan nomor seri melalui pembaca kartu USB di Fedora 21 atau distribusi GNU / Linux lainnya?
  2. Jika tidak, adakah cara lain menggunakan pengidentifikasi unik yang ada dalam kartu SD atau sistem lain untuk mengidentifikasi kartu SD secara unik?
hpy
sumber
1
FYI: Anda tidak benar-benar diharapkan untuk membalas setiap jawaban. Meskipun memberikan suara naik / turun pada mereka dan, jika seseorang memecahkan masalah Anda, memilihnya sebagai jawaban yang Anda terima pasti dihargai.
derobert
@derobert Dipahami, terima kasih atas informasinya!
hpy

Jawaban:

3

blkid (8) mungkin yang Anda cari. Ini akan memberikan UUID masing-masing perangkat.

Untuk vfat, dapat mengatur UUID menggunakan aplikasi mtools mlabel (1).

Untuk ext2, ext3, dan ext4, e2label (8) dapat digunakan untuk mengatur UUID.

Jadi jika Anda memformat ulang dari waktu ke waktu, cukup setel UUID ke yang sama seperti sebelumnya jika diperlukan.

Tidak dapat berbicara untuk pembaca kartu lain, tetapi yang saya gunakan melalui port USB melewati UUID kartu SD.

JonathanS
sumber
1
Kedengarannya menjanjikan, terima kasih !! Bagaimana dengan FAT32?
Hpy
1
Ya saya percaya mlabel(1)mendukung fat32 juga.
JonathanS
1
blkidpengembalian apa pun akan berubah setiap kali data yang disimpan di kartu-SD berubah. Ini jauh berbeda dengan CID atau nomor seri. Jika Anda membuat dd if=/dev/sdcard1 of=/dev/sdcard2 count=2, perubahan sangat tinggi yang blkid /dev/sdcard1akan identik dengan blkid /dev/sdcard2. Juga komentar terakhir dari jawaban itu menyesatkan: UUID berasal dari data yang disimpan pada kartu SD, dan bukan kartu, jelas sebagian besar setiap pembaca USB akan membiarkan Anda membaca konten kartu SD. Apa yang masih tidak mungkin adalah mengakses CID.
humanityANDpeace
3

Berdasarkan komentar @humanityAndpeace, Mencari CIDbisa menjadi solusi, tetapi tampaknya Anda tidak bisa mendapatkannya dari semua kartu sd. Setidaknya ini adalah kasus yang saya uji. Lihat dokumentasi lebih lanjut di sini .

Idenya adalah untuk mendapatkan info dari /sys/block/<yourBlockDevice>/device/cid

Catatan : Anda dapat membaca <yourBlockDevice>dari sudo dmesgsetelah dihubungkan

Philippe Gachoud
sumber