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