To fully clone a card apart from only copying the data you also need to clone card serial number CID. Since recently there is a method of spoofing CID on the fly. There is this uSD to SD adapter that replaces the CID on the fly. It is available at spoofcid.co. One of these is the Card Identification (CID) Register, a 16 byte code that contains information that uniquely identifies the SD card, including the card serial number (PSN), manufacturer ID number (MID) and manufacture date (MDT). The CID register is set when the card is manufactured and cannot be changed after it is set.
Internal SD Card Information
Information about an SD card is encoded in its internal card registries. One of these is the Card Identification (CID) Register, a 16 byte code that contains information that uniquely identifies the SD card, including the card serial number (PSN), manufacturer ID number (MID) and manufacture date (MDT). The CID register is set when the card is manufactured and cannot be changed after it is set. (According to SD card specification the information is only to be written once, however if a card does not conform to the specification this information could be changed!)
How to read the CID from an SD card
One way to read the CID is to use a laptop with an SD card slot. Card readers in laptops are usually connected directly through the PCI bus (or IDE bus). This will not work through a USB card reader because the command to retrieve the card information is intercepted and not understood by card readers. Not all computers with built-in card slots will work, some internal card readers are connected through a USB bus.
Assuming you have the proper hardware, there are several methods you can use to get the card information. With Linux, reading the internal SD card information is simple. Insert the card and look under /sys/block/mmcblk0/device/
(this location may change depending on your platform, it may be mmcblk1 or in a different location). Under this location you will see several attributes available that include the CID and CSD registers and the information inside it.
To view the CID, the command is cat /sys/block/mmcblk0/device/cid
(the exact location may be different)
What information is in the CID?
The following information is stored in the CID:
Name | Field | Linux attribute* | Description |
---|---|---|---|
Manufacturer ID | MID | manfid | Assigned by SD-3C, LLC. |
OEM/Application ID | OID | oemid | Identifies the card OEM and/or the card contents. Assigned by SD-3C, LLC. |
Product Name | PNM | name | 5 characters long (ASCII) |
Product Revision | PRV | hwrev, fwrev | Two binary coded decimal (BCD) digits. Each is four bits. The PRV is in the form x.y. The PRV can also be found by using the hwrev and fwrev, where x=hwrev and y=fwrev |
Serial Number | PSN | serial | This 32 bit field is intended to be read as an unsigned integer |
Manufacture Date Code | MDT | date | Manufacture date is stored in the form yym (offset from 2000) |
CRC7 checksum | CRC | 7 bit code used for checking errors in the card register |
How To Change Cid On Sd Card
* these are the attribute titles used for the card in Linux
For more information, refer to the SD Association Simplified Specifications.
List of Common Manufacturer ID (MID)
Manufacturer ID (MID) are assigned by the SD Assoication (SD-3C LLC). They consider this information confidential so an official list is not published.
The following list was compiled by reading the CID on numerous SD cards. Many card brands are produced by OEM suppliers, and the MID and OEMID may reflect this, or in some cases they appear to show the producer of the card controller. For example, PNY cards have been found with 0x000028 and BE (Lexar) or 0x000027 and PH (Phison).
Company | MID | OEMID | Card brands found with this MID/OEMID |
---|---|---|---|
Panasonic | 0x000001 | PA | Panasonic |
Toshiba | 0x000002 | TM | Toshiba |
SanDisk | 0x000003 | SD (some PT) | SanDisk |
Samsung | 0x00001b | SM | ProGrade, Samsung |
AData | 0x00001d | AD | AData |
Phison | 0x000027 | PH | AgfaPhoto, Delkin, Integral, Lexar, Patriot, PNY, Polaroid, Sony, Verbatim |
Lexar | 0x000028 | BE | Lexar, PNY, ProGrade |
Silicon Power | 0x000031 | SP | Silicon Power |
Kingston | 0x000041 | 42 | Kingston |
Transcend | 0x000074 | JE or J` | Transcend |
Patriot(?) | 0x000076 | �� | Patriot |
Sony(?) | 0x000082 | JT | Gobe, Sony |
0x00009c | SO | Angelbird (V60), Hoodman | |
0x00009c | BE | Angelbird (V90) |
How can I use the information from the CID?
Sd Card Cid Reader
The CID information can be helpful in identifying counterfeit memory cards. We include the CID data in our SD card reviews so you may compare it with your cards.