Enter an ATR (Answer To Reset) and I will parse it for you.
Parsing ATR:
TS = 0x3B | Direct Convention |
---|---|
T0 = 0xF8 | Y(1): b1111, K: 8 (historical bytes) |
TA(1) = 0x18 | Fi=372, Di=12, 31 cycles/ETU (129032 bits/s at 4.00 MHz, 161290 bits/s for fMax=5 MHz) |
TB(1) = 0x00 | VPP is not electrically connected |
TC(1) = 0x00 | Extra guard time: 0 |
TD(1) = 0x81 | Y(i+1) = b1000, Protocol T=1 |
---- | |
TD(2) = 0x31 | Y(i+1) = b0011, Protocol T=1 |
---- | |
TA(3) = 0xFE | IFSC: 254 |
TB(3) = 0x45 | Block Waiting Integer: 4 - Character Waiting Integer: 5 |
---- | |
Historical bytes | 00 73 C8 40 13 00 90 00 |
Category indicator byte: 0x00 | (compact TLV data object) Tag: 7, Len: 3 (card capabilities) Selection methods: 200 - Implicit DF selection - DF selection by partial DF name - DF selection by full DF name Data coding byte: 64 - Behaviour of write functions: write OR - Value 'FF' for the first byte of BER-TLV tag fields: invalid - Data unit in quartets: 0 Command chaining, length fields and logical channels: 19 - Logical channel number assignment: by the card - Maximum number of logical channels: 4 Mandatory status indicator (3 last bytes) LCS (life card cycle): 0 (No information given) SW: 90 00 |
TCK = 0x93 | correct checksum |
Possibly identified card:
3B F8 18 00 00 81 31 FE 45 00 73 C8 40 13 00 90 00 93
Giesecke & Devrient Sm@rtCafé Expert 3.0
The parsing code is part of pyscard and is available at parseATR.py.
The list of known ATR is also available online at smartcard_list.txt.
My blog contains a serie of artickes about ATR bytes.