background image

SCR331-DI Product Technical Manual 

4.4.4  CCID Error Codes 

Extensive error codes are reported on many conditions during all CCID responses. Most of the error 
messages are reported by the CCID appropriately. Some of the main error codes are: 

‰

 

HW_ERROR 

‰

 

XFR_PARITY_ERROR 

‰

 

BAD_ATR_TS 

‰

 

BAD_ATR_TCK 

‰

 

ICC_MUTE  

 
The following sub-sections discuss when and why these error codes are returned: 

4.4.4.1 HW_ERROR 

This error code is returned when a hardware short circuit condition is detected, during application of 
power to the card. This error code has been defined in the error code table under section “Appendix 
1” of the CCID specification. 

4.4.4.2 XFR_PARITY_ERROR 

This error code is returned when a parity error condition is detected. This error will be reported in the 
response to a PC_to_RDR_XfrBlock message. This error code has been defined in the error code 
table under section “Appendix 1” of the CCID specification. 

4.4.4.3 BAD_ATR_TS 

This error code is returned when a bad TS character is detected, during application of power to the 
card. This error will be reported in the response to a PC_to_RDR_IccPowerOn message. This error 
code has been defined in the error code table under section “Appendix 1” of the CCID specification. 

4.4.4.4 BAD_ATR_TCK 

This error code is returned when the TCK of the received ATR is incorrect. This error will be reported 
in the response to a PC_to_RDR_IccPowerOn message. This 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 time out occurs. This error 
will be reported in the response to PC_to_RDR_XfrBlock message and PC_to_RDR_IccPowerOn 
messages. This error code has been defined in the error code table under section “Appendix 1” of the 
CCID specification. 

4.4.5  Note on WTX handling  

For Contact cards:

 

For T = 1 Protocol: As per the CCID specification requirements, Sec4.1.4, the bBWI field of the 
PC_to_RDR_XfrBlock message, shall be used to extend the CCIDs Block Waiting Timeout for this 
current transfer. The CCID will timeout the block after “this number multiplied by the Block Waiting 
Time” has expired. 
 
The firmware, on receiving the WTX request from the card, notifies it to the host driver. The driver 
shall set the requested WTX value in the bBWI field of the subsequent PC_to_RDR_XfrBlock. 
 
For T = 0 Protocol: The firmware on receiving the NULL (0x60) Procedure byte from the card, notifies 
it to the driver using the RDR_to_PC_DataBlock response. During this period, the reception of bytes 
from the smart card is still in progress and hence the device cannot indefinitely wait for IN tokens on 
the USB bulk-in endpoint. Hence, it is required of the driver to readily supply ‘IN’ tokens on the USB 
bulk-in endpoint. On failure to do so, some of the wait time extension responses, will not be queued to 
the driver. 
 

For Contactless cards: 

The WTX is handled within the Firmware. 

IND.SCR331-DI.MANUAL.VER.1.8 

VER1.8 

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