Advanced Card ACR39x Reference Manual

Smart card reader
Table of Contents

Advertisement

ACR39x
Smart Card Reader
Reference Manual V1.03
Subject to change without prior notice
info@acs.com.hk
www.acs.com.hk

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ACR39x and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Advanced Card ACR39x

  • Page 1 ACR39x Smart Card Reader Reference Manual V1.03 Subject to change without prior notice info@acs.com.hk www.acs.com.hk...
  • Page 2: Table Of Contents

    8.3.1. SELECT_CARD_TYPE ....................24 8.3.2. READ_MEMORY_CARD .................... 24 8.3.3. READ_PRESENTATION_ERROR_COUNTER_MEMORY_CARD (Only SLE4428 and SLE5528) ..........................25 8.3.4. READ_PROTECTION_BIT ..................25 8.3.5. WRITE_MEMORY_CARD ..................26 8.3.6. WRITE_PROTECTION_MEMORY_CARD ..............27 Page 2 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 3 Appendix A. Response Error Codes ................35 List of Tables Table 1 : Symbols and Abbreviations ..................... 4 Table 2 : USB Interface Wiring ....................... 7 Table 3 : Response Error Codes ......................35 Page 3 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 4: Introduction

    1.0. Introduction The ACR39x PC-linked Smart Card Reader acts as an interface for the communication between a computer and a smart card. Different types of smart cards have different commands and different communication protocols, which, in most cases, prevent direct communication between a smart card and a computer.
  • Page 5: Features

    EMV™ Level 1 (Contact) PC/SC CCID RoHS 2 REACH FIPS 201 (USA) TAA (USA) J-LIS (Japan) VCCI (Japan) PBOC (China) Microsoft® WHQL Uses an ACS Defined Android Library Page 5 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 6: Smart Card Support

    3.1. MCU Cards The ACR39x is a PC/SC–compliant smart card reader that supports ISO 7816 Class A, B and C (5 V, 3 V, and 1.8 V) smart cards. It also works with MCU cards following either the T=0 and T=1 protocol.
  • Page 7: Usb Interface

    4.0. USB Interface 4.1. Communication Parameters The ACR39x is connected to a computer through USB as specified in the USB Specification 2.0. The ACR39x is working in full speed mode, i.e. 12 Mbps. Signal Function +5 V power supply for the reader...
  • Page 8: Contact Smart Card Interface

    The ACR39x provides a mechanism to protect the inserted card when it is suddenly withdrawn while it is powered up. The power supply to the card and the signal lines between the ACR39x and the card is immediately deactivated when the card is being removed. However, as a rule to avoid any electrical damage, a card should only be removed from the reader while it is powered down.
  • Page 9: Power Supply

    6.0. Power Supply The ACR39x requires a voltage of 5 V DC, 100 mA, regulated, power supply. The ACR39x gets power supply from the computer (through the cable supplied along with each type of reader). 6.1. Status LED The LED indicates the activation status of the smart card interface: •...
  • Page 10: Usb Communication Protocol

    USB chip-card interface devices. CCID covers all the protocols required for operating smart cards. The configurations and usage of USB endpoints on ACR39x shall follow CCID Rev 1.0 Section 3. An overview is summarized below: 1.
  • Page 11 Offset Field Size Value Description ACR39x supports the following features: • Automatic ICC clock frequency change according to parameters dwFeatures • Automatic baud rate change according to frequency and FI, DI parameters • TPDU level change with ACR39x Maximum message length accepted by dwMaxCCIDMessageLength ACR39x is 271 bytes.
  • Page 12: Ccid Bulk-Out Messages

    7.1. CCID Bulk-OUT Messages ACR39x shall follow the CCID Bulk-OUT Messages as specified in CCID Rev 1.0 Section 4.1. In addition, this specification defines some extended commands for operating additional features. This section lists the CCID Bulk-OUT Messages to be supported by ACR39x.
  • Page 13: Pc_To_Rdr_Xfrblock

    Size of extra bytes of this message. bSlot Identifies the slot number for this command. bSeq Sequence number for command. abRFU Reserved for future use. The response to this message is the RDR_to_PC_Parameters message. Page 13 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 14: Pc_To_Rdr_Setparameters

    Add 0 to 254 etu to the normal guard time of 12 etu. FFh is the same as 00h. bWaitingIntegerT0 WI for T=0 used to define WWT. Page 14 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 15 02h – Stop with Clock signal High 03h – Stop with Clock signal either High or bIFSC Size of negotiated IFSC. bNadValue Only support NAD=00h. The response to this message is the RDR_to_PC_Parameters message. Page 15 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 16: Ccid Bulk-In Messages

    7.2. CCID Bulk-IN Messages The Bulk-IN Messages are used in response to the Bulk-OUT Messages. ACR39x shall follow the CCID Bulk-IN Messages as specified in CCID Rev 1.0 Section 4. This section lists the CCID Bulk-IN Messages to be support by ACR39x.
  • Page 17: Rdr_Topc_Parameters

    80h – Structure for 2-wire protocol 81h – Structure for 3-wire protocol 82h – Structure for I2C protocol abProtocolDataStructure Byte array Protocol Data Structure. Page 17 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 18: Memory Card Command Set

    Page size = 03h for 8-byte page write = 04h for 16-byte page write = 05h for 32-byte page write = 06h for 64-byte page write = 07h for 128-byte page write Page 18 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 19: Read_Memory_Card

    Memory address location of the memory card. MEM_L Length of data to be read from the memory card. BYTE X Data to be written to the memory card. Page 19 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 20 Response data format (abData field in the RDR_to_PC_DataBlock) Where: SW1 SW2 = 90 00h if no error. Page 20 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 21: Memory Card - 32, 64, 128, 256, 512, And 1024 Kilobit I2C Card

    Page size = 03h for 8-byte page write = 04h for 16-byte page write = 05h for 32-byte page write = 06h for 64-byte page write = 07h for 128-byte page write Page 21 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 22: Read_Memory_Card

    * is the MSB of the 17 bit addressing Byte Address Memory address location of the memory card. MEM_L Length of data to be read from the memory card. Page 22 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 23 BYTE X Data to be written to the memory card. Response data format (abData field in the RDR_to_PC_DataBlock) Where: SW1 SW2 = 90 00h if no error. Page 23 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 24: Memory Card - Sle4418/Sle4428/Sle5518/Sle5528

    Response data format (abData field in the RDR_to_PC_DataBlock) BYTE 1 … BYTE N Where: BYTE x Data read from memory card. SW1 SW2 = 90 00h if no error. Page 24 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 25: Read_Presentation_Error_Counter_Memory_Card (Only Sle4428 And Sle5528)

    MEM_L = 1 + INT [(number of bits – 1)/8] For example: To read eight protection bits starting from memory 0010h, the following pseudo-APDU should be issued as: FF B1 00 10 01h Page 25 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 26: Write_Memory_Card

    Length of data to be written to the memory card. Byte x Data to be written to the memory card. Response Data Format (abData field in the RDR_to_PC_DataBlock) Where: SW1 SW2 = 90 00h if no error. Page 26 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 27: Write_Protection_Memory_Card

    3. Try to erase the presentation error counter. Command Format (abData field in the PC_to_RDR_XfrBlock) Pseudo-APDU CODE MEM_L Byte 1 Byte 2 Where: CODE Two bytes secret code (PIN). Page 27 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 28 = Error Counter. FFh indicates successful verification. 00h indicates that the password is locked (or exceeded the maximum number of retries). Other values indicate that current verification has failed. Page 28 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 29: Memory Card - Sle4432/Sle4442/Sle5532/Sle5542

    PROT 4 Where: BYTE x Data read from memory card. PROT y Bytes containing the protection bits from protection memory. SW1 SW2 = 90 00h if no error. Page 29 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 30: Read_Presentation_Error_Counter_Memory_Card (Only Sle4442 And Sle5542)

    = 90 00h if no error. 8.4.4. READ_PROTECTION_BITS This command is used to read the protection bits for the first 32 bytes. Command Format (abData field in the PC_to_RDR_XfrBlock) Pseudo-APDU MEM_L Page 30 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 31: Write_Memory_Card

    Length of data to be written to the memory card. Byte x Data to be written to the memory card. Response Data Format (abData field in the RDR_to_PC_DataBlock) Where: SW1 SW2 = 90 00h if no error. Page 31 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 32: Write_Protection_Memory_Card

    3. Try to erase the presentation error counter. Command Format (abData field in the PC_to_RDR_XfrBlock) Pseudo-APDU CODE MEM_L Byte 1 Byte 2 Byte 3 Where: CODE Three bytes secret code (PIN). Page 32 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 33: Change_Code_Memory_Card (Only Sle4442 And Sle5542)

    Command Format (abData field in the PC_to_RDR_XfrBlock) Pseudo-APDU CODE MEM_L Byte 1 Byte 2 Byte 3 Response Data Format (abData field in the RDR_to_PC_DataBlock) Where: SW1 SW2 = 90 00h if no error. Page 33 of 35 ACR39x – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.03...
  • Page 34: Other Commands Accessed Via Pc_To_Rdr_Xfrblock

    9.0. Other commands accessed via PC_to_RDR_XfrBlock 9.1. GET_READER_INFORMATION This command is used to return the firmware revision number of the ACR39x reader. Note: This command can only be used after the logical smart card reader communication has been established using the SCardConnect() API. For details of SCardConnect() API, please refer to PC/SC specifications.
  • Page 35: Appendix A. Response Error Codes

    Appendix A. Response Error Codes The following table summarizes the possible error codes returned by the ACR39x: Error Code Status SLOTERROR_CMD_ABORTED SLOTERROR_ICC_MUTE SLOTERROR_XFR_PARITY_ERROR SLOTERROR_XFR_OVERRUN SLOTERROR_HW_ERROR SLOTERROR_BAD_ATR_TS SLOTERROR_BAD_ATR_TCK SLOTERROR_ICC_PROTOCOL_NOT_SUPPORTED SLOTERROR_ICC_CLASS_NOT_SUPPORTED SLOTERROR_PROCEDURE_BYTE_CONFLICE SLOTERROR_DEACTIVATED_PROTOCOL SLOTERROR_BUSY_WITH_AUTO_SEQUENCE SLOTERROR_CMD_SLOT_BUSY Table 3: Response Error Codes Android is a trademark of Google Inc.

Table of Contents