ACS ACR38 Reference Manual

ACS ACR38 Reference Manual

Usb smart card reader/writer
Hide thumbs Also See for ACR38:
Table of Contents

Advertisement

Quick Links

Version 1.9
02-2006
Unit 1008, 10th Floor, Hongkong International Trade and Exhibition Centre
1 Trademart Drive, Kowloon Bay, Hong Kong
Tel: +852 2796 7873
Fax: +852 2796 1286
Email: info@acs.com.hk
Website: www.acs.com.hk

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Summary of Contents for ACS ACR38

  • Page 1 Version 1.9 02-2006 Unit 1008, 10th Floor, Hongkong International Trade and Exhibition Centre 1 Trademart Drive, Kowloon Bay, Hong Kong Tel: +852 2796 7873 Fax: +852 2796 1286 Email: info@acs.com.hk Website: www.acs.com.hk...
  • Page 2: Table Of Contents

    Power Supply........................... 7 Status LED............................7 USB Interface ........................... 8 Communication Parameters ....................... 8 Endpoints ............................8 Communication protocol ......................9 Command to ACR38........................... 9 Response from ACR38........................9 Card Status Message ........................10 Commands ..........................11 Control Commands........................... 11 8.1.1 GET_ACR_STAT ........................
  • Page 3 ACR38 Reference Manual version 1.9 February 2006 8.2.4.5 INITIALIZE_AUTHENTICATION................... 23 8.2.4.6 VERIFY_AUTHENTICATION ....................23 8.2.5 Memory Card – ATMEL AT88SC1608 ..................24 8.2.5.1 SELECT_CARD_TYPE ......................24 8.2.5.2 READ_MEMORY_CARD...................... 24 8.2.5.3 WRITE_MEMORY_CARD ....................25 8.2.5.4 VERIFTY_PASSWORD......................25 8.2.5.5 INITIALIZE_AUTHENTICATION................... 26 8.2.5.6 VERIFY_AUTHENTICATION ....................
  • Page 4: Introduction

    NOTE - Although the ACR38 is a true card reader/writer as it can read and write smart cards, the terms card reader or reader will be used indifferently to refer to the ACR38, for the sake of readability and because these designations are commonly in use for this kind of devices.
  • Page 5: Supported Card Types

    0) and that particular mode is not supported by the ACR38, the reader will reset the card to set it to negotiable mode. If the card cannot be set to negotiable mode, the reader will reject the card.
  • Page 6: Smart Card Interface

    NOTE - The ACR38 does never by itself switch on the power supply to the inserted card. This must explicitly be done by the controlling computer through the proper command sent to the reader.
  • Page 7: Power Supply

    Flashing slowly (turns on 200ms for every 2 seconds) Indicates that the ACR38 is powered up and is in the standby state. Either the smart card has not been inserted or the smart card has not been powered up (if it is inserted).
  • Page 8: Usb Interface

    Reference voltage level for power supply NOTE - In order for the ACR38 to function properly through USB interface, either ACS proprietary device driver or ACS PC/SC device driver has to be installed. Please refer to the Device Driver Installation Guide for more detail.
  • Page 9: Communication Protocol

    1.9 February 2006 7. Communication protocol In the normal operation, the ACR38 acts as a slave device with regards to the communication between a computer and the reader. The communication is carried out in the form of successive command-response exchanges.
  • Page 10: Card Status Message

    After transmitting a status message, the reader waits for the next command from the computer. Note: Card status messages are sent from ACR38 to the host computer through INTERRUPT IN endpoint.  Advanced Card Systems Ltd.
  • Page 11: Commands

    The commands executed by the ACR38 can generally be divided into two categories, namely, Control Commands and Card Commands. Control Commands control the internal operation of the ACR38. They do not directly affect the card inserted in the reader and are therefore independent of the selected card type.
  • Page 12: Select_Card_Type

    ACR38 Reference Manual version 1.9 February 2006 8.1.2 SELECT_CARD_TYPE This command sets the required card type. The firmware in the ACR38 adjusts the communication protocol between reader and the inserted card according to the selected card type. Command format Header...
  • Page 13: Set_Reader_Pps

    ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Request Length of PPS request. Typical value is “4” PPS Request PPS Request to send to the card (Please refer to ISO/IEC 7816-3:1997 Section 7 for...
  • Page 14: Card Commands

    Answer-To-Reset as transmitted by the card according to ISO7816-3. NOTE - The ATR is only returned in the ACR38 response if the communication protocol of the card is compatible with the reader, i.e., if the card can be processed by the ACR38. Otherwise, the ACR38 returns an error status and deactivates the smart card interface.
  • Page 15: Power_Off

    Answer-To-Reset as transmitted by the card according to ISO7816-3. NOTE - The ATR is only returned in the ACR38 response if the communication protocol of the card is compatible with the reader, i.e., if the card can be processed by the ACR38. Otherwise, the ACR38 returns an error status and deactivates the smart card interface.
  • Page 16: Exchange_Tpdu_T1

    SW1, SW2 Status code returned by the card. 8.2.1.5 EXCHANGE_TPDU_T1 To exchange an APDU (Application Protocol Data Unit) command/response pair between the MCU card inserted in the ACR38 and the host computer using T1 protocol. Command format Header Instruction Data length LEN...
  • Page 17: Select_Page_Size

    ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Card Type Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x ATR from card (if any) SW1, SW2 = 90 if no error 8.2.2.2...
  • Page 18: Write_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Byte Address Memory address location of the memory card. MEM_L Length of data to be read from the memory card. Response data format Header Status Data length BYTE 1 … … BYTE N...
  • Page 19: Memory Card - 32,64,128,256,512,1024 Kbit I2C Card

    ACR38 Reference Manual version 1.9 February 2006 8.2.3 Memory Card – 32,64,128,256,512,1024 kbit I2C card 8.2.3.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. Notes: This command must be the first command after card insertion!
  • Page 20: Read_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.3.3 READ_MEMORY_CARD Command format Header Instruction Data length Data Byte Address MEM_L = B0 for 32,64,128,256,512kbit iic card = 1011 000* for 1024kbit iic card, where * is the MSB of the 17 bit addressing Byte Address Memory address location of the memory card.
  • Page 21: Memory Card - Atmel At88Sc153

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.4 Memory Card – ATMEL AT88SC153 8.2.4.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
  • Page 22: Write_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.4.3 WRITE_MEMORY_CARD Command format Header Instruction...
  • Page 23: Initialize_Authentication

    ACR38 Reference Manual version 1.9 February 2006 where the two bits “rp” indicate the password to compare r = 0 : Write password, r = 1: Read password, p: Password set number, rp = 01 for the secure code. Response data format...
  • Page 24: Memory Card - Atmel At88Sc1608

    ACR38 Reference Manual version 1.9 February 2006 8.2.5 Memory Card – ATMEL AT88SC1608 8.2.5.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. It will also select the page size to be 16-byte page write.
  • Page 25: Write_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.5.3 WRITE_MEMORY_CARD Command format Header Instruction...
  • Page 26: Initialize_Authentication

    ACR38 Reference Manual version 1.9 February 2006 = 0000 rp where the four bits “rp ” indicate the password to compare: r = 0: Write password, r = 1: Read password, : Password set number. = 0111 for the secure code).
  • Page 27: Memory Card - Sle4418/4428

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.6 Memory Card – SLE4418/4428 8.2.6.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
  • Page 28: Read_Memory_Without_Protect_Bit_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N PROT 1 … … PROT L BYTE x Data read from memory card PROT y Bytes containing the protection bits of the data bytes read...
  • Page 29: Write_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 8.2.6.4 WRITE_MEMORY_CARD Command format Header Instruction Data length Data Byte Address MEM_L Byte 1 ..Byte N MSB Byte Address = 0000 00A is the memory address location of the memory card.
  • Page 30: Present_Code_Memory_Card (Only Sle 4428)

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.6.6 PRESENT_CODE_MEMORY_CARD (only SLE 4428) To submit the secret code to the memory card to enable the write operation with the SLE4428 card. The following actions are executed: search a ‘1’...
  • Page 31 ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length ERRCNT DUMMY 1 DUMMY 2 ERRCNT The value of the presentation error counter. DUMMY Two bytes dummy data read from the card. SW1, SW2 = 90 if no error ...
  • Page 32: Memory Card - Sle4432/4442

    ACR38 Reference Manual version 1.9 February 2006 8.2.7 Memory Card – SLE4432/4442 8.2.7.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. Notes: This command must be the first command after card insertion!
  • Page 33: Write_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N PROT 1 PROT 2 PROT3 PROT 4 BYTE x Data read from memory card PROT y Bytes containing the protection bits from protection memory...
  • Page 34: Present_Code_Memory_Card (Only Sle 4442)

    ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Byte MEM_L Byte 1 ..Byte N Address Byte Address = 000A to 1F ) is the protection memory address location of the memory card.
  • Page 35: Read_Presentation_Error_Counter_Memory_Card (Only Sle 4442)

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length ERRCNT CODE Byte 1 Byte 2 Byte 3 ERRCNT The value of the presentation error counter after the code presentation. CODE The three bytes secret code read from the card.
  • Page 36: Acr38 Reference Manual Version 1.9 February

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error  Advanced Card Systems Ltd. Page 36 of 43...
  • Page 37: Memory Card - Sle4406/4436/5536

    ACR38 Reference Manual version 1.9 February 2006 8.2.8 Memory Card – SLE4406/4436/5536 Only ACR38 reader with firmware v1.10 onwards can support this memory card type SLE4406/4436/5536. 8.2.8.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
  • Page 38: Write_One_Byte_Memory_Card

    ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.8.3 WRITE_ONE_BYTE_MEMORY_CARD To write one byte to the specified address of the inserted card. The byte is written to the card with LSB first, i.e., the bit at card address 0 is regarded as the LSB of byte 0.
  • Page 39: Present_Code_Memory_Card

    '1' bit in the presentation counter and write the bit to '0' present the specified code to the card The ACR38 does not try to erase the presentation counter after the code submission! This must be done by the application software through a separate 'Write with carry' command.
  • Page 40: Authenticate_Memory_Card (Sle4436 And Sle5536 Only)

    CLK pulses for each bit of authentication data computed by the card read 16 bits of authentication data from the card reset the card to normal operation mode The ACR38 returns the 16 bits of authentication data calculated by the card in the response. Command format Header Instruction...
  • Page 41: Appendix A: Supported Card Types

    ACR38 Reference Manual version 1.9 February 2006 Appendix A: Supported Card Types The following table summarizes which values must be specified in the SET_CARD_TYPE command for a particular card type to be used, and how the bits in the response to the GET_ACR_STAT command correspond with the respective card types.
  • Page 42: Appendix B: Response Status Codes

    ACR38 Reference Manual version 1.9 February 2006 Appendix B: Response Status Codes The following table summarizes the possible status code returned by the ACR38: Status Code Status OK – command successfully executed SLOTERROT_PROCEDURE_BYTE_CONFLICT SLOTERROR_BAD_LENGTH SLOTERROR_BAD_FIDI SLOTERROR_BAD_ATR_TS SLOTERROR_ICC_NOT_POWERED_UP SLOTERROR_ICC_NOT_INSERTED SLOTERROR_HW_ERROR SLOTERROR_XFE_OVERRUN...
  • Page 43: Appendix C: Technical Specifications

    1.9 February 2006 Appendix C: Technical Specifications 19.0 96.5 73.0 Device ACR38 Smart Card Reader/Writer Universal Serial Bus Interface Type..........USB full speed, four lines: +5V, GND, D+ and D- Power source ........From USB Speed ..........12 Mbps Smart Card Interface Standard .........ISO-7816 Class A, B and C (5V, 3V, 1.8V), T=0 and T=1...

Table of Contents