background image

SCR331-DI Product Technical Manual 

 

5.2 READER_CNTLESS_SEND_REQ 

          This escape message causes the firmware to issue the PICC Request command. The first byte 
of the input buffer contains the escape function value and the second one contains the request code 
to be issued. The output buffer contains the Answer To request bytes. 
 

5.3 READER_CNTLESS_SEND_LOOP 

          This escape message causes the firmware to issue the PICC Request and Anti-Collision 
commands. The first byte of the input buffer contains the escape function value and the second one 
contains the request code to be issued. The output buffer contains the Answer To request bytes. 

5.4 READER_CNTLESS_GET_MFRC_REV 

This escape message return the Mifare version No. Production engineers to find out if they 

are using an older Mifare rev can use this feature. The input buffer contains the escape function 
value. The output buffer should point to two BYTE buffer and on success will contain the Mifare 
version no.

 

5.5 READER_CNTLESS_GET_ATS 

 
The ATS bytes for T= CL cards are now made available to the host through this escape IOCTL .The 
input buffer contains the byte indicating the escape 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 retrieves the Type of the card which the reader is configured to detect. The 
input buffer shall contain the escape message value. The output buffer shall point to a BYTE buffer. 
 
Following table gives the value of Type of card which firmware will detect 
S.No. Types 

Value 

Remarks 

TYPE A 

Type A only 

TYPE B 

Type B only 

TYPE AB 

Type A and Type B 

 

 

5.7 READER_CNTLESS_SET_TYPE 

 

This escape message ID sets the current type (Type A / Type B / Type AB) of the card the reader will 
detect. Applications may call this function, to set the desired Type. Typically, this call is used to set the 
firmware to detect Type A only or Type B only or both Type A and Type B cards The default is Type 
AB that is both type A and type B cards are detected. The first byte of the input buffer will contain the 
escape message value and the second one will contain the value for the desired type. The output 
buffer field shall be NULL. 
 
Following table gives the value of Types as interpreted by firmware 
S.No. Types 

Value 

Remarks 

TYPE A  

Type A only 

TYPE B 

Type B only 

TYPE AB 

Type A and Type B 

IND.SCR331-DI.MANUAL.VER.1.8 

VER1.8 

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