background image

SCR331-DI Product Technical Manual 

4.5.3  TYPE A T=CL - ATR 

The ATR obtained from the card, which contains PUPI length of serial numbers, and some additional 
card parameters like SAK  byte, type of card (T=CL supported or not) etc are sent as historic bytes of 
a  T = 1 protocol based simulated ATR. 
 
 

0x3B 

Proprietary 

0xFX 

X indicates the number of bytes following 

0x91 

Proprietary  

0x00 

Proprietary 

0xFF 

Proprietary 

0x91 

Proprietary 

0x81 

Proprietary 

0x71 

Proprietary 

0xFE 

Proprietary 

0x40 

Proprietary 

0x00 

Proprietary 

TYPEA 

TYPE A parameter should be 0x41 as per PCSC2.0 specification 

SAK 

Selective Acknowledgement information, Using this value, application 
identifies whether card type is Mifare or T=CL card 

PUPI Length 

Length of PUPI bytes that follow 

PUPI 

PUPI bytes of Length PUPI Length 

CARD_PARAM1  CARD_PARAM1  
CARD_PARAM2  CARD_PARAM2  
CARD_PARAM3  CARD_PARAM3  
Historical Bytes 

Historical Bytes from the card  

TCk 

The TCk byte in T = 1 protocol 

 
 

¾

  Type A contact-less card is concerned, possible PUPI_LEN are 4, 7 and 10 bytes. 

 

¾

  TYPE A parameter should be 0x41 as per PCSC2.0 specification 

 

¾

  Higher nibble of CARD_PARAM1 is 0xY1 and where Y indicates the SFGI value and the 

lower nibble states that the card supports T=CL. 

 

¾

  CARD_PARAM2 contains Baud rate integer value 

 

¾

  CARD_PARAM3 contains Wait time integer, CID supported and NAD information. The higher 

nibble contains the wait time integer. The bit 0 (lsb) of the lower nibble is a boolean indicating 
whether the card supports NAD addressing and bit 1 of the lower nibble is a boolean 
indicating whether the card supports CID. 

 

¾

  Historical Bytes  

 

The historical bytes obtained from the ATS are included as the historical bytes of the T=1 
ATR. The number of historical bytes to be included is configurable in the firmware. The 
number of historical bytes to be appended to the ATR is also configurable. If the number of 
historical bytes is more than the maximum length available in the ATR, then the First n bytes 
or the last n bytes are appended to the ATR depending on the firmware configuration to 
configure the first n bytes or the last n bytes. 

 

4.5.4  TYPE B supplying an ATR 

 
The ATR obtained from the card, which contains PUPI length of serial numbers, and some additional 
card parameters are sent as historic bytes of a T = 1 protocol ATR. 
 

IND.SCR331-DI.MANUAL.VER.1.8 

VER1.8 

Page 16 of 36

Summary of Contents for SCR331-DI

Page 1: ...SCR331 DI Product Technical Manual SCR331 DI Dual interface Contact Contact less USB Smart card reader Product Technical Manual Version No 1 8 IND SCR331 DI MANUAL VER 1 8 VER1 8 Page 1 of 36...

Page 2: ...4 4 1 5 ICC I O Data Rate 13 4 4 1 6 Synchronous Protocols 13 4 4 2 CCID class requests supported 13 4 4 3 CCID messages supported 13 4 4 4 CCID Error Codes 14 4 4 4 1 HW_ERROR 14 4 4 4 2 XFR_PARITY_...

Page 3: ...RAW_XMIT 30 5 11 READER_ CNTLESS_DISABLE_PPS 30 5 12 READER_CNTLESS_PUPI 30 5 13 READER_SWITCH_RF_ON_OFF 31 6 0 Appendix A 31 6 1 Status Words Table 31 7 0 Appendix B 32 7 1 Samples of SCR331 DI conta...

Page 4: ...nt describes the technical implementation of the product from an engineering standpoint which is targeted ONLY for OEMs and application providers This can be the base document for preparing end user m...

Page 5: ...l Bus WI Wait Time Integer 3 0 Product Specifications 3 1 Features PC SC 1 0 compliant drivers including the contact less interface Type A CL Type B CL Mifare Memory card support T 1 simulation for co...

Page 6: ...chapter 4 2 SCR331 DI Firmware Ver 6 18 Driver Ver 4 30 00 01 PCB Rev 1 4 SCR331 DI DUAL SLOT FIRMWARE LED STATUS LED States LED1 GREEN LED2 RED Just after plug in with drivers already installed ON OF...

Page 7: ...ower down takes place ON OFF ICC Powered Communication 500ms ON 500ms OFF OFF PICC Powered Communication ON ON Reader card errors OFF 100ms ON 100ms OFF Firmware upgrade running OFF ON COMBI CARD powe...

Page 8: ...card frequencies operating voltages etc are detailed in the tables below ICC Parameters Value Description Class A Smart Cards Supported Class AB Smart Cards Supported Asynchronous Smart Cards Supporte...

Page 9: ...CC Supported Type B memory card PICC Supported Through SCM Specific APDUs Type B T CL PICC Supported ISO 14443 compliant Yes PC SC compliant Yes Contactless cards simulated as T 1 cards WHQL compliant...

Page 10: ...Dual Driver Architecture PICC CONTACT READER CONTACTLESS READER PCSC LAYER FIRMWARE LAYER UPPER DRIVER CL SMARTCARD READER LOWER DRIVER CONTACT SMARTCARD READER ICC SLOT O T CL to T 1 Conversion SCR 3...

Page 11: ...Technical Manual 3 4 2 Single Driver Architecture FIRMWARE LAYER ICC PRIORITY OR PICC SCR 331 DI READER PCSC LAYER SCM SINGLE READER SCM DUAL INTERFACE READER T 0 T CL IND SCR331 DI MANUAL VER 1 8 VER...

Page 12: ...d Reader It is a CONTACT ONLY reader SCM Microsystems Inc SCR331 DI USB ContactlessReader It is a CONTACT LESS ONLY reader The advantage is that two slots of the reader can be accessed simultaneously...

Page 13: ...d 4 4 1 5 ICC I O Data Rate The default ICC I O data rate is 9600 bps and the maximum supported data rate is 250 Kbps Selection of the data rate is supported by the CCID message PC_TO_RDR_SETPARAMETER...

Page 14: ...is error code has been defined in the error code table under section Appendix 1 of the CCID specification 4 4 4 5 ICC_MUTE This error code is returned when the card does not respond until the reader t...

Page 15: ...y default from the ATR The PICC implementation is compliant to PCSC 1 0 specification This is achieved by simulating the contactless card through T 1 protocol 4 5 2 TYPE A Memory card supplying an ATR...

Page 16: ...0 specification Higher nibble of CARD_PARAM1 is 0xY1 and where Y indicates the SFGI value and the lower nibble states that the card supports T CL CARD_PARAM2 contains Baud rate integer value CARD_PAR...

Page 17: ...L card CARD_PARAM1 value of 0x00 indicates TYPE B memory card and value of 0x01 indicates TYPE B T CL card CARD_PARAM2 contains Baud rate integer value CARD_PARAM3 contains Wait time integer CID suppo...

Page 18: ...bytes Value Block No T CL card APDU Set Command CLA INS P1 P2 P3 Data T CL command ISO 7816 part 4 complaint command T CL user command 0xFC 0xFE RFU RFU Length APDU bytes T CL GET IFSC command 0xFC 0...

Page 19: ...Command CLA INS P1 P2 P3 ISO7816_READ_BINARY 0xFC 0xB0 Block No RFU 0x00 Explanation of the Parameters Field Value Meaning P1 Block number This indicates the which block to be read Response Data Block...

Page 20: ...otherwise P3 length is 0x04 Format Command CLA INS P1 P2 P3 Data ISO7816_WRITE_BINARY 0xFC 0xD0 Block No RFU Lc len Lc bytes Explanation of the Parameters Field Value Meaning P1 Block number This indi...

Page 21: ...mmand CLA INS P1 P2 P3 Data ISO7816_VERIFY 0xFC 0x20 AUTH_KEY RFU Key Length Lc bytes Explanation of the Parameters Field Value Meaning P1 AUTH_KEY 0x60 0x61 0xFF Mifare Type A memory cards support AU...

Page 22: ...P3 Data ISO7816_USER_CMD 0xFC 0xFE RFU RFU Cmd Len Cmd Explanation of the Parameters Field Value Meaning P3 Command length This parameter indicates the user defined or card specific command bytes leng...

Page 23: ..._VALUE_BLOCK 0xFC 0xF0 Block No Value Param Value Bytes Value Block No Explanation of the Parameters Field Value Meaning P1 Block number This indicates the which value block number to be read P2 Value...

Page 24: ...command Response Data PICC response data with Status bytes Note This command is directly transfer to the PICC since this command is ISO 7816 part 4 based APDU Example CLA INS P1 P2 P3 0xB8 0x00 0x01 0...

Page 25: ...indicates whether PPS1 baud rate parameter is available PPS2 and PPS3 are RFU PPS1 baud rate parameter contains DSI and DRI values like ISO 7816 FI DI values Upper half bits are DSI and lower half bit...

Page 26: ...ll HOST specific APDUs are just added in the Lc part of TPDU and the Length of Lc part is updated in P3 field The firmware parses this APDU and send the Lc part to the card Response Data PICC response...

Page 27: ...d on contact less card types Example To read block no 5 CLA INS P1 P2 P3 0xFC 0xFD 0x00 0x00 0x00 5 0 PICC ESCAPE IMPLEMENTATION 5 1 Table indicating the PICC Escape function values S No Escape messag...

Page 28: ...pe function value The output buffer contains the ATS bytes Please note that this escape message should not be issued after card transmission starts 5 6 READER_CNTLESS_GET_TYPE This escape message ID r...

Page 29: ...ff 2 ON 0x01 Switch RF Field on 3 GET_STATE 0xFF Get Current Field state Following table gives the value of field state returned for GET_STATE function ID S No Field state Value Remarks 1 OFF 0x00 RF...

Page 30: ...e of the command 5 11 READER_ CNTLESS_DISABLE_PPS As indicated earlier the FW switches automatically AUTO_PPS the communication speed with card to highest possible which is inferred from the card deta...

Page 31: ...buffer shall contain the escape function value If the application needs to switch ON or OFF the field the second byte contains the value for switching ON OFF If the application needs to get the curren...

Page 32: ...act less communications 7 1 1 Simple APDU PCSC APPLICATION HOST LEVEL PCSC DRIVER n Bytes output 90 00 CLA INS P1 P2 P3 n Bytes output 90 00 SCardTransmit BYTE apdu CLA INS P1 P2 P3 SCARD_PROTOCOL_T1...

Page 33: ...ON 0x019B define CCID_SET_PUPI_OFF 0x009B define MINTIMEOUT 300 ifdef __cplusplus endif File Name T_pupi CPP include windows h include winbase h include stdio h include conio h include winscard h incl...

Page 34: ...SCardControl CardHandle IOCTL_CCID_ESCAPE InWord InBufLen OutByte 1 ResLen printf n Get PUPI status lx 2x ret OutByte Reader 0 dwCurrentState SCARD_STATE_UNAWARE Reader 0 dwEventState SCARD_STATE_UNAW...

Page 35: ...ID_SET_PUPI_OFF ret SCardControl CardHandle IOCTL_CCID_ESCAPE InWord InBufLen OutByte 1 ResLen ret SCardDisconnect CardHandle SCARD_RESET_CARD ret SCardConnect ContextHandle ReaderName 0 SCARD_SHARE_S...

Page 36: ...ER1 8 Page 36 of 36 ret SCardDisconnect CardHandle SCARD_RESET_CARD else printf n SCardConnect failed with 0x 8lX ret ret SCardReleaseContext ContextHandle else printf n SCardEstablishContext failed w...

Reviews: