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:
- 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?
- Jika tidak, adakah cara lain menggunakan pengidentifikasi unik yang ada dalam kartu SD atau sistem lain untuk mengidentifikasi kartu SD secara unik?
Jawaban:
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.
sumber
mlabel(1)
mendukung fat32 juga.blkid
pengembalian apa pun akan berubah setiap kali data yang disimpan di kartu-SD berubah. Ini jauh berbeda dengan CID atau nomor seri. Jika Anda membuatdd if=/dev/sdcard1 of=/dev/sdcard2 count=2
, perubahan sangat tinggi yangblkid /dev/sdcard1
akan identik denganblkid /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 mengaksesCID
.Berdasarkan komentar @humanityAndpeace, Mencari
CID
bisa 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
sumber