Enter an ATR (Answer To Reset) and I will parse it for you.
Parsing ATR:
TS = 0x3B | Direct Convention |
---|---|
T0 = 0x9E | Y(1): b1001, K: 14 (historical bytes) |
TA(1) = 0x96 | Fi=512, Di=32, 16 cycles/ETU (250000 bits/s at 4.00 MHz, 312500 bits/s for fMax=5 MHz) |
TD(1) = 0x80 | Y(i+1) = b1000, Protocol T=0 |
---- | |
TD(2) = 0x1F | Y(i+1) = b0001, Protocol T=15 |
---- | |
TA(3) = 0xC7 | Clock stop: no preference - Class accepted by the card: (3G) A 5V B 3V C 1.8V |
---- | |
Historical bytes | 80 31 E0 73 FE 21 1B 66 D0 01 77 97 0D 00 |
Category indicator byte: 0x80 | (compact TLV data object) Tag: 3, Len: 1 (card service data byte) Card service data byte: 224 - Application selection: by full DF name - Application selection: by partial DF name - BER-TLV data objects available in EF.DIR - EF.DIR and EF.ATR access services: by GET RECORD(s) command - Card with MF Tag: 7, Len: 3 (card capabilities) Selection methods: 254 - Record number supported - Short EF identifier supported - Implicit DF selection - DF selection by file identifier - DF selection by path - DF selection by partial DF name - DF selection by full DF name Data coding byte: 33 - Behaviour of write functions: proprietary - Value 'FF' for the first byte of BER-TLV tag fields: invalid - Data unit in quartets: 1 Command chaining, length fields and logical channels: 27 - Logical channel number assignment: by the interface device and card - Maximum number of logical channels: 4 Tag: 6, Len: 6 (pre-issuing data) Data: D0 01 77 97 0D 00 "..w..." |
TCK = 0x-1 | WRONG CHECKSUM, expected 0xEC |
Possibly identified card:
3B 9E 96 80 1F C7 80 31 E0 73 FE 21 1B 66 D0 01 77 97 0D 00
SIM Free Mobile
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.