Hello,

I'm adding support for synchronous cards to C3PO LTC31 serial smart card
reader and I'm wondering what is the correct way to handle them.

For instance, should I return their ATR (for instance A2 13 10 91 for
SLE 4442) or should I add a 3B 04 to simulate a microprocessed card?
I've seen some discussion about the subject in the archives, but I
haven't been able to find a conclusion.

If I return only the four bytes, then, when transmitting to the card, I
must use SCARD_PROTOCOL_RAW, because if I use SCARD_PROTOCOL_T0, pcsc
lite returns 0x8000000F because T=0 doesn't match the active protocol
(which atre parser sets to 0, unknown protocol). If I do that, then I
must handle synchronous requests in IFDHControl (I use MCT). Is that the
correct way to do that?

The perl bindings also fail because the use the value returned by
SCardConnect in dwActiveProtocol as a parameter to _Transmit, but
doesn't handle dwProtocol being 0. Perhaps it could just map that 0 to
SCARD_PROTOCOL_RAW?

If I just return 3b 04 a2 13 10 91 everything works ok. PCSC Lite thinks
it's a T=0 and perl bindings can handle that correctly.

Which is the *proper* way to handle this?

TIA,

Josep

_______________________________________________
Muscle mailing list
[EMAIL PROTECTED]
http://lists.musclecard.com/mailman/listinfo/muscle

Reply via email to