It looks like someone answered your question without posting
here. That's not good newsgroup etiquette: questions and
answers should be sent to the same newsgroup(s) so that the
whole community can benefit from what's said, and possibly add
their own advice without risk of repeating what's already been
said.
I imagine you were told that what many smartcards do is to
support a command - perhaps called SwitchSpeed - that causes
them to switch to a different baud rate after a reset.
What typically happens is that when such a card is first
powered it defaults to 9600 baud, the application then sends a
SwitchSpeed command and resets the card and it switches to the
new speed and emits its ATR again atthat speed. The application
should switch the communication speed of the reader to the new
speed after issuing the SwitchSpeed command and before
resetting the card.
> how do I read the ATR to know what the bit rate will be
> after reset?
Read ISO 7816 part 3 to learn what the bytes of the ATR mean.
They don't typically tell you the baud rate (though that may
depend on the make of card) but do tell you other things about
the way the card and the reader must communicate (usually the
reader acts on this information automatically).
You have to set the reader baud rate yourself when you change
the speed of the card.
> A friend of mine is sending me a card and he doesn't know
> what the bit rate after reset is.
It's whatever *you* set it to. You'll need the documentation
for the card and for the reader to learn how to change the
speed, and what you can change it to.
Cheers,
Daniel.
Hello John,
I have found a list of ATR's in the SCEZ libraries documentation.
Maybe it helps ...
Greetings,
Arno
Card Bancaire (French): 3F 65 25 08 33 04 6C 90 00
Cash card (Swiss): 3F 67 25 00 2A 20 00 40 68 9F 00
CeloCom Card with TCOS 1.2: 3B A8 00 81 71 46 5D 00 54 43 4F 53 31 2E 32 4B 2E
ChipKnip: 3F 67 25 00 2A 20 00 41 68 90 00
Chipper (Dutch Post): 3B EB 00 00 81 31 42 45 4E 4C 43 68 69 70 70 65 72 30 31 0A
Chipper (Dutch University card & e-purse & phone card): 3B EB 00 00 81 31 42 45 4E 4C 43 68 53 43 4B 30 34 30 31 2B
ComCard MFC 4.1: 3B EF 00 FF 81 31 86 45 49 42 4D 20 4D 46 43 34 30 30 30 30 38 33 31 43
D-Trust card: 3F 65 25 08 33 04 20 90 00
GCOS-MDK: 3B EA 00 FF 81 31 20 75 00 64 05 14 01 02 31 00 90 00 27
GeldKarte v2 (Germany): 3B EF 00 FF 81 31 50 45 65 63 xx xx xx xx xx xx xx xx xx xx xx xx xx xx
GeldKarte v3 (Germany): 3B FF 18 00 FF 81 31 50 45 65 63 xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Gemplus GemXpresso 2.11PK: 3B AD 00 40 FF 80 31 80 65 B0 05 01 01 5E 83 00 90 00
Gemplus GPK16000: 3B A7 00 40 18 80 65 A2 09 01 01 52
Gemplus GPK2000s: 3B 27 00 80 65 A2 02 02 82 37
Gemplus GPK2000sp: 3B 27 00 80 65 A2 02 03 82 37
Gemplus GPK4000?: 3B 27 00 80 65 A2 0C 01 01 37
Gemplus GPK4000s: 3B 27 00 80 65 A2 04 01 01 37
Gemplus GPK4000sdo: 3B A7 00 40 14 80 65 A2 14 01 01 37
Gemplus GPK4000sp: 3B 27 00 80 65 A2 05 01 01 37
Gemplus GPK8000: 3B A7 00 40 18 80 65 A2 08 01 01 52
Gemplus MPCOS EMV 1 Byte sectors: 3B 2A 00 80 65 A2 01 xx xx xx 72 D6 41
Gemplus MPCOS EMV 4 Byte sectors: 3B 2A 00 80 65 A2 01 xx xx xx 72 D6 43
Giesecke&Devrient SmartCafe 1.1: 3B BF 11 00 C0 10 31 FE 44 53 4D 40 52 54 20 43 41 46 45 20 31 2E 31 43 C1
Giesecke&Devrient STARCOS S2.1: 3B BF 18 00 81 31 70 55 53 54 41 52 43 4F 53 20 53 32 31 20 43 90 00 FA
Giesecke&Devrient STARCOS SPK2.2: 3B B7 94 00 81 31 FE 65 53 50 4B 32 32 90 00 D0
GSM-SIM BEN (1800MHz): 3B 0A 20 62 0C 01 4F 53 45 99 14 AA
GSM-SIM D2 CallYa (900MHz): 3F 2F 00 80 69 AF 02 04 01 36 00 02 0A 0E 83 3E 9F 16
GSM-SIM Debitel D2 (900MHz): 3F 2F 00 80 69 AF 03 07 03 52 00 0D 0A 0E 83 3E 9F 16
GSM-SIM e-plus (1800MHz): 3F 2F 00 80 69 AE 02 02 01 36 00 00 0A 0E 83 3E 9F 16
GSM-SIM French (900MHz): 3F 69 00 00 24 AF 01 70 01 01 FF 90 00
GSM-SIM Libertel (900MHz): 3B AA 00 40 14 47 47 32 47 54 35 53 34 38 30
GSM-SIM T-Mobil D1 (900MHz): 3B 83 00 12 10 96
GSM-SIM T-Mobil D1 (900MHz): 3B 8A 00 91 01 00 16 00 01 16 01 00 96
GSM-SIM Viag Interkom E2 (1800MHz): 3B 85 00 87 25 01 38 02
GSM-SIM Viag Interkom E2 Loop (1800MHz): 3B BA 94 00 40 14 47 47 33 52 53 37 31 36 53 30
GSM-SIM Victorvox D1 (900MHz): 3B 85 00 12 02 01 00 96
GSM-SIM Victorvox D1 (900MHz): 3B 9A 94 00 91 01 00 17 00 01 23 10 00 96
IBM eCash: 3B EF 00 FF 81 31 66 45 65 63 20 20 49 42 4D 20 33 2E 31 20 20 20 20 CF
i.ti (ticket card for Collogne/Bonn): 3B 82 81 31 76 43 C1 03 C5
Moeda Electronica Bradesco (Gemplus MPCOS?) (Brasilia): 3B 29 00 80 72 A4 45 64 00 00 D0 15
Postcard (Switzerland): 3F 65 35 64 02 04 6C 90 40
Quick (Austrian): 3B BF 11 00 81 31 45 45 45 50 41 00 00 00 00 10 36 68 47 00 00 00 00 43
SamOS 2.7: 3B B0 11 00 81 31 90 73 F2
Schlumberger Cryptoflex 16: 3B 95 94 40 FF 63 01 01 02 01
Schlumberger Cryptoflex: 3B E2 00 00 40 20 49 06
Schlumberger Cryptoflex 8k: 3B 85 40 20 68 01 01 05 01
Schlumberger Cryptoflex DES: 3B E2 00 00 40 20 49 05
Schlumberger Cryptoflex Key Generation: 3B 85 40 20 68 01 01 03 05
Schlumberger Cryptoflex Key Generation: 3B E2 00 00 40 20 49 07
Schlumberger Cyberflex Access Augmented Crypto: 3B 16 94 81 10 06 01 81 2F
Schlumberger Cyberflex Access Crypto: 3B 16 94 81 10 06 01 81 3F
Schlumberger Cyberflex Access Developer 32k: 3B 17 13 9C 12 02 01 01 07\40
Schlumberger MicroPayflex: 3B 23 00 35 13 FF
Schlumberger Multiflex 3k: 3B 02 14 50
Schlumberger Multiflex 4k: 3B 19 14 55 90 01 02 01 00 05 04 B0
Schlumberger Multiflex 8k: 3B 19 14 55 90 01 01 01 00 05 08 B0
Schlumberger Multiflex 8k: 3B 19 14 59 01 01 0F 01 00 05 08 B0
Schlumberger Multiflex 8k: 3B 32 15 00 06 80
Schlumberger Multiflex 8k DES: 3B 32 15 00 06 95
Schlumberger Payflex 1k SAM: 3B 23 00 35 11 81
Schlumberger Payflex 1k User: 3B 23 00 35 11 80
Schlumberger Payflex 4k SAM: 3B 23 00 00 36 41 81
Schlumberger Payflex 4k User: 3B 63 00 00 36 41 80
Siemens CardOS/M V1.4: 3B B7 11 00 81 31 90 43 A5 17 08 A2 0E 04 0C DB
SmarTEC: 3B E0 00 00 81 31 20 40 30
Telekom Paycard: 3B 87 81 31 40 43 4D 46 43 20 31 33 31 6F
Telesec TCOS 1.2: 3B A8 00 81 71 46 5D 00 54 43 4F 53 31 2E 32 00 65
Telesec TCOS 2 (SLE44): 3B BA 13 00 81 31 86 5D 00 64 05 0A 02 01 31 80 90 00 8B
Telesec TCOS 2 (SLE66): 3B BA 14 00 81 31 86 5D 00 64 05 14 02 02 31 80 90 00 91
Telesec TCOS 2 (SLE66P): 3B BA 96 00 81 31 86 5D 00 64 05 60 02 03 31 80 90 00 66
UBS Internet Card (IBM JetZ M2): 3B EF 00 FF 81 31 FE 45 80 31 C0 6B 49 42 4D 20 4A 65 74 5A 20 4D 32 39
ZeitControl BasicCard Compact 1.1: 3B EF 00 FF 81 31 50 45 42 61 73 69 63 43 61 72 64 20 5A 43 31 2E 31 CC
ZeitControl BasicCard Enhanced 2.3: 3B EF 00 FF 81 31 20 45 42 61 73 69 63 43 61 72 64 20 5A 43 32 2E 33 BD
ZeitControl BasicCard Enhanced 3.3: 3B EF 00 FF 81 31 20 75 42 61 73 69 63 43 61 72 64 20 5A 43 33 2E 33 8C
Does anybody know how to read out the ATR? Or how to send explicitly a Reset to the reader?
Is there a special command in PC/SC ?
Greetings,
Arno
LONG SCardStatus(
IN SCARDHANDLE hCard,
OUT LPTSTR szReaderName,
IN OUT LPDWORD pcchReaderLen,
OUT LPDWORD pdwState,
OUT LPDWORD pdwProtocol,
OUT LPBYTE pbAtr,
IN OUT LPDWORD pcbAtrLen
);
and to reset you can use
LONG SCardReconnect(
IN SCARDHANDLE hCard,
IN DWORD dwShareMode,
IN DWORD dwPreferredProtocols,
IN DWORD dwInitialization,
OUT LPDWORD pdwActiveProtocol
);
with dwInitialization of SCARD_UNPOWER_CARD
hope this helps
--
Andrew Whitaker
www.ttfn.net
"Arno Wilhelm" <a.wi...@phion.com> wrote in message
news:3CBEE0B3...@phion.com...
--
Andrew Whitaker
www.ttfn.net
"John J. Jones" <jjj...@metroplex.com> wrote in message
news:ubshufh...@corp.supernews.com...
> To retrieve the ATR use
>
> LONG SCardStatus(
> IN SCARDHANDLE hCard,
> OUT LPTSTR szReaderName,
> IN OUT LPDWORD pcchReaderLen,
> OUT LPDWORD pdwState,
> OUT LPDWORD pdwProtocol,
> OUT LPBYTE pbAtr,
> IN OUT LPDWORD pcbAtrLen
> );
>
> and to reset you can use
> LONG SCardReconnect(
> IN SCARDHANDLE hCard,
> IN DWORD dwShareMode,
> IN DWORD dwPreferredProtocols,
> IN DWORD dwInitialization,
> OUT LPDWORD pdwActiveProtocol
> );
>
> with dwInitialization of SCARD_UNPOWER_CARD
>
> hope this helps
Indeed, that helps a lot ;-)
Thanks,
Arno Wilehlm