

Luckily the Linux kernel provides the CID via the SD and MMC Block Device Attributes so you may use a Linux device containing a direct SD interface like your Android phone or an embedded Linux board.

My iMX233 based development board has 2 of them, so it was an easy task to improve our firmware to read the CID and extract the serial number, but how do I check if I get the correct information? Reading SD-Card SID Unfortunately, it is not possible to read the CID of the card with a USB adapter - you need a \'direct\' SD interface. The serial number is stored in the Card Identification Register (CID) which is read by \'Command 10\' as stated in the SD Simplified Specifications.

For my current project, I tried to read the SD Card serial number because the number is factory stamped and unchangeable, so it easily could be used to protect embedded firmware from being copied.
