background image

SCR331-DI Product Technical Manual 

1.0 Introduction 

This document contains information that allows a developer of host software to integrate an interface 
to contact-less cards in SCR331-DI dual interface smart card reader.  
 
This document describes the interfaces that will be provided by our SCR331-DI devices to support 
contact and contact-less operation. This contains details on what kind of APDUs for contact-less 
memory cards and T=CL type of cards is provided, their details and how applications can build a set 
of APDUs corresponding to contact-less cards. Also a note on the CCID implementation of the USB 
interface is also provided. 
 

1.1 Purpose 

This document provides the features and technical details of the SCR331 USB smart card Reader, 
hereafter referred to as “SCR331-DI Product”. This manual explains the technicalities and the 
functional features of the product. This lays down software and the hardware features and the 
firmware support. Also, a comparison of this product with other standard SCM smart card products is 
given. 
 

1.2 Scope 

This document 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 manuals. Also, readers are assumed to have familiarity with commonly used 
engineering terms and the specification documents mentioned in the reference section of this 
document. 
 
This document deals with the support of contact-less at the firmware level for SCR331-DI dual 
interface smart card readers. This is implemented in a generic macro approach and is supported by 
the Vendor defined generic APDU set for Type A, Type B memory card and T=CL type of contact-less 
cards. Applications can access through these APDUs using generic PC/SC transport layer.  
 
The scope of the contact-less card support is to provide an intermediate level of intelligence to the 
reader (like handling of protocol specifics for Type A, Type B) and let the application programmers 
have the flexibility to handle all the card specific requirements. With this set of APDUs virtually all the 
contact-less cards could be supported. Also this document deals with the support of contact smart 
cards at the firmware level for this reader interface. 

IND.SCR331-DI.MANUAL.VER.1.8 

VER1.8 

Page 4 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: