This question is about a technique to get a special piece of
information of a SD Secure Digital or MMC Multimedia Card. The
information I need is the cards unique ID called the CID. It is easy
to do this if you are programming on a PDA running Wince or Linux.
The question I have is, can it be done on a PC running windows or
linux.
Unlike PDA's, PC's normally rely on USB card readers to interface to
SD/MMC cards. It is not clear whether any PC adapters for SD/MMC
cards allow reading the CID.
The answer to my question could be a hardware SD/MMC card reader with
a driver or pointers to software that allows it to read the card's
CID.
Even better would be software that works with any USB SD/MMC card
adapter that allows the CID to be read. |
Request for Question Clarification by
endo-ga
on
12 Dec 2003 11:46 PST
Hi,
The adapter has to have a chip that can read the CID, so there will be
no software that can "guarantee" reading the CID using any device.
Also the command will depend on the specific chip that is inside the
adapter.
I'm looking at some devices now and will come back to you with what I find.
Do you just want compiled software that does this, or do you also
require source code?
Thanks.
endo
|
Request for Question Clarification by
endo-ga
on
12 Dec 2003 12:57 PST
Hi,
I've found several specifications for chips that are part of these
readers. They all include low level functions for reading the CID off
a card. Unfortunately I can't seem to find a library to use directly
in Windows or Linux.
Thanks.
endo
|
Clarification of Question by
bigman2000-ga
on
12 Dec 2003 15:31 PST
While a general soln across all card adapters would be valuable I am
satisfied with one answer now. It could als be a pcmcia card
solution. I would pay triple for a general solution that worked with
almost all pc sd/mmc card readers!
|
Clarification of Question by
bigman2000-ga
on
13 Dec 2003 19:13 PST
If the specification is detailed enough that a pc programmer can
implement a solution in a straghtforward fashion that is good enough.
|
Request for Question Clarification by
endo-ga
on
13 Dec 2003 20:09 PST
Hi,
The specifications refer to a specific command to issue to the
controller chip, which I'm sure is implemented in the drivers. If your
PC programmer can decompile the drivers, it should be possible to find
commands to issue to the device.
I'll try and have another look, but I'm not able to find any readily
available information. However I'm starting to believe that *all*
readers have this function, because from what I've understood of the
specification of SD/MMC it is required to read the CID before
accessing any data on the card.
Best bet might be to look for some open source third party drivers for
these readers developed for Linux maybe.
Thanks.
endo
|
Clarification of Question by
bigman2000-ga
on
14 Dec 2003 16:11 PST
It is clear that the reader hardware/firmware can or must access the
CID. It is not clear that there is a way for the PC to get it using
the "USB Mass Storage Device" protocol, that works just about the same
with a hard disk or floppy that don't have CID's.
I'm not aware of any PC programs that use the SD/MMC CID for anything,
so I'm not sure whether it is possible-- but that is what I want to
know.
|
Request for Question Clarification by
endo-ga
on
14 Dec 2003 18:25 PST
Hi,
I think I've found something interesting for you.
Schematics to build your own MMC to serial reader and the assembly
code that goes with it, so you can go anything with the card.
Do you know an electronics guru who could build such a circuit? It
doesn't seem very complicated, anyone experienced could build it in a
few hours. I would help you locate the parts you need.
Also found source code for a driver for Linux in C for MMC. But it
says that it has only been tested on iPAQ H3800 handhelds. It also
provides some interesting information. It specifies that drivers for
accessing SD cards cannot be open source because the company that
licenses them prohibits that.
Would you be interested in such information?
Thanks.
endo
|