ACR1281U-C1 DualBoost II is the second generation of ACS’s ACR128 DualBoost Reader. ACR1281U-C1 is a powerful and efficient dual interface smart card reader, which can be used to access ISO 7816 MCU cards, MIFARE® cards and ISO 14443 Type A and B contactless cards. It makes use of the USB CCID class driver and USB interface to connect to a PC and accept card commands from the computer application.
• USB Firmware Upgradability • Supports Android™ 3.1 and later • Compliant with the following standards: ISO 14443 ISO 7816 PC/SC CCID Uses an ACS-defined Android Library Page 7 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 8
RoHS 2 REACH Microsoft® WHQL Page 8 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
3.1. Reader Block Diagram Figure 1: ACR1281U-C1 Reader Block Diagram 3.2. Communication between PC/SC driver and ICC, PICC and The protocol being used between ACR1281U-C1 and the PC is CCID. All communications between ICC, PICC and SAM are PC/SC-compliant. Figure 2: ACR1281U-C1 Architecture Page 9 of 96 ACR1281U-C1 –...
Bulk-OUT – For commands to be sent from host to ACR1281U-C1 (data packet size is 64 bytes). Bulk-IN – For response to be sent from ACR1281U-C1 to host (data packet size is 64 bytes). Interrupt-IN – For card status message to be sent from ACR1281U-C1 to host (data packet size is 8 bytes).
C7 (I/O) are used. A frequency of 4.8 MHz is applied to the CLK signal (C3). 4.3. Contactless Smart Card Interface The interface between the ACR1281U-C1 and the contactless card follows the specifications of ISO 14443 with certain restrictions or enhancements to increase the practical functionality of the ACR1281U-C1.
Page 13
Response Byte 1 … … Byte N Result Where: Byte (1…N) Data read from memory card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 13 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 14
Byte (1…N) Data to be written to the memory card. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 14 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
06h = 64-byte page write 07h = 128-byte page write Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 15 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 16
D0h = For 32, 64, 128, 256, 512 kbit I2C card 1101 000*b; where * is the MSB of the 17 bit addressing = For 1024 kilobit I2C card Page 16 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 17
Byte (1…N) Data to be written to the memory card. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 17 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
For reading fuse, INS = B4h Byte Address (1 byte) Memory address location of the memory card. MEM_L (1 byte) Length of data to be read from the memory card. Page 18 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 19
Byte (1…N) Data to be written to the memory card. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 19 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 20
= Error Counter FFh indicates the verification is correct. 00h indicates the password is locked (exceed maximum number of retries). Other values indicate the current verification is failed. Page 20 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 21
Verify Authentication Where: Ch (0…7) (8 bytes) = Host challenge Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 21 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
= A7 A6 A5 A4 A3 A2 A1 A0b is the memory address location of the memory card For reading fuse, Byte Address = 1000 0000b MEM_L (1 byte) Length of data to be read from the memory card. Page 22 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 23
Byte (1…N) Data to be written to the memory card. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 23 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 24
This command initializes the memory card’s authentication. Command Pseudo-APDU Command Class Q (0) Q (1) … Q (7) Initialize Authentication Where: Q (0…7) (8 bytes) = Host random number Page 24 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 25
Verify Authentication Where: Ch (0…7) (8 bytes) = Host challenge Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 25 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Response Byte 1 … … Byte N Result Where: Byte (1…N) Data read from memory card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 26 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 27
= 0000 00 A9 A8b LSB Byte Address (1 byte) The memory address location of the memory card = A7 A6 A5 A4 A3 A2 A1 A0b Page 27 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 28
= A7 A6 A5 A4 A3 A2 A1 A0b is the memory address location of the memory card MEM_L (1 byte) Length of data to be written to the memory card Page 28 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 29
Byte Address + N – 1. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 29 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 30
Error Counter FFh = indicates the verification is correct. 00h = indicates the password is locked (exceeding maximum number of retries). Other values indicate the verification failed. Page 30 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Byte (1…N) Data read from memory card. PROT (1…4) Bytes containing the protections bits from protection. SW1 SW2 = 90 00h if the operation is completed successfully. Page 31 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 32
Other values indicate the verification failed. Dummy 1, Dummy 2, Dummy 3 (3 bytes) Dummy data read from the card SW1 SW2 = 90 00h if the operation is completed successfully. Page 32 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 33
= A7 A6 A5 A4 A3 A2 A1 A0b is the memory address location of the memory card MEM_L (1 byte) Length of data to be written to the memory card Byte (1…N) Data to be written to the memory card. Page 33 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 34
Byte Address + N – 1. Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 34 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 35
Error Counter 07h = indicates the verification is correct. 00h = indicates the password is locked (exceeding the maximum number of retries). Other values indicate the verification failed. Page 35 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 36
Change Code Memory Card Where: Code (3 bytes) Secret code (PIN) Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 36 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Response Byte 1 … … Byte N Result Where: Byte (1…N) Data read from memory card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 37 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 38
SLE6636 only). 03h = Write with carry and with backup enabled (for SLE4436, SLE5536 and SLE6636 only). Byte (1 byte) Byte value to be written to the card Page 38 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 39
Byte address of the presentation counter in the card Code (3 bytes) Secret code (PIN) Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. Page 39 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 40
Number of CLK pulses to be supplied to the card for the computation of each bit of the authentication certificate. Typical value is 160 clocks (A0h). Byte (1...6) Card challenge data. Response Response Result Page 40 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 41
16 bits of authentication data computed by the card. The LSB of Byte 1 is the first authentication bit read from the card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 41 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Response Byte 1 … … Byte N Result Where: Byte (1…N) Data read from memory card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 42 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 43
‘1’. Command Command Class Byte Address MEM_L Erase Scratch Pad Where: Byte Address (1 byte) Memory byte address location of the scratch pad. Typical value is 02h. Page 43 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 44
Note: After SW1 SW2 = 90 00h has been received, read back the User Error Counter to check whether the Verify_User_Code is correct. If the User Error Counter is erased and is equal to ‘FFh’, the previous verification is successful. Page 44 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 45
Note: After SW1 SW2 = 90 00h has been received, read back the User Error Counter to check whether the Verify Memory Code is correct. If all data in Application Area is erased and is equal to ‘FFh’, the previous verification is successful. Page 45 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Response Byte 1 … … Byte N Result Where: Byte (1…N) Data read from memory card. SW1 SW2 = 90 00h if the operation is completed successfully. Page 46 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 47
• Erase Application Zone With Erase command as specified • Erase Application Zone With Write and Erase command as specified • Verify Security Code commands as specified Page 47 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 48
… … Erase Application Zone with Erase Where: Error Counter LEN (1 byte) = Length of presentation error counter in bits. The value should be 00h always. Page 48 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 49
2. Search a '1' bit in the presentation error counter and write the bit to '0' 3. Erase the presentation error counter. The data in corresponding Application Zone can be erased when the submitted code is correct. Page 49 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 50
Erase Application Zone with Write and Erase is correct. If all data in Application Zone is erased and equals to “FFh”, the previous verification is success. Page 50 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 51
Note: After SW1SW2 = 90 00h been received, read back the Security Code Attempts Counter (SCAC) can check whether the Verify User Code is correct. If SCAC is erased and equals to “FFh”, the previous verification is success. Page 51 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 53
Response Response Data Out Result Where: SW1 SW2 = 90 00h if the operation is completed successfully. = 63 00 if there is no more retry chance. Page 53 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Bytes for card name 00 00 00 00 RFU # 00 00 00 00h Exclusive-oring of all the bytes T0 to Tk Table 5: ISO 14443 Part 3 ATR Format Page 54 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
UINT8 GET_UID[5] = {FF CA 00 00 00h}; Example 2: To get the ATS of the connected ISO 14443-A PICC: UINT8 GET_ATS[5] = {FF CA 01 00 00h}; Page 57 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 58
E.g. {FF FF FF FF FF FFh} Response Response Data Out Result Where: SW1 SW2 = 90 00h means the operation is completed successfully. = 63 00h means the operation failed. Page 58 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 59
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Version Block Number Key Type Key Number Where: Block Number (1 byte) The memory block to be authenticated. Page 59 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
APDU = { FF 86 00 00 05 01 00 Note: MIFARE® Ultralight does not need authentication since it provides free access to the user data area. Page 61 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Maximum of 16 bytes for MIFARE Ultralight. Maximum of 48 bytes for MIFARE 1K (Multiple Blocks Mode; 3 consecutive blocks). Maximum of 240 bytes for MIFARE 4K (Multiple Blocks Mode; 15 consecutive blocks). Page 62 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 63
Maximum of 16 bytes for MIFARE Ultralight. Maximum of 48 bytes for MIFARE 1K (Multiple Blocks Mode; 3 consecutive blocks). Maximum of 240 bytes for MIFARE 4K (Multiple Blocks Page 63 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 64
02h = Decrement the value of the value block by the VB_Value. This command is only valid for value blocks. Page 64 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 65
This command retrieves the value from the value block. This command is only valid for value blocks. Command Command Class Read Value Block Block Number Where: Block Number (1 byte) The value block to be accessed. Page 65 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 66
Source Block Target Block Block Number Number Where: Source Block Number (1 byte) Block number where the value will come from and copied to the target value block. Page 66 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 67
Basically, all ISO 14443-4–compliant cards (PICCs) can understand the ISO 7816-4 APDUs. The ACR1281U-C1 reader only needs to communicate with the ISO 14443-4–compliant cards through exchanging ISO 7816-4 APDUs and responses. ACR1281U-C1 will handle the ISO 14443 Parts 1-4 Protocols internally.
Page 68
= 80h; INS = B2h; P1 = 80h; P2 = 00h; = None; Data In = None; Le = 08h Answer: 00 01 02 03 04 05 06 07 [$90 00h] Page 68 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
LED Status Description Description 1 = ON Bit 0 Red LED 0 = OFF 1 = ON Bit 1 Green LED 0 = OFF Bit 2 – 7 Page 70 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
LED Status Description Description 1 = ON Bit 0 Red LED 0 = OFF 1 = ON Bit 1 Green LED 0 = OFF Bit 2 – 7 Page 71 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Data In Buzzer Control Buzzer on Duration Where: Buzzer on Duration (1 byte) 01 – FFh = Duration (unit: 10 ms) Response Response Class Data Out Result Page 72 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
To make the LED blink whenever the card Bit 7 Card Operation Blinking LED (PICC or ICC) is being accessed. Response Response Class Data Out Default Result Behaviors Page 73 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
1 = Enable be activated 0 = Disable To make the LED blink whenever the Bit 7 Card Operation Blinking LED card (PICC or ICC) is being accessed. Page 74 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
1. It is recommended to enable the option “Turn off Antenna Field is the PICC is inactive,” so that the “Inactive PICC” will not be exposed to the field all the time to prevent the PICC from “warming up.” Page 78 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 79
4. The JCOP30 card comes with two modes: ISO 14443A-3 (MIFARE 1K) and ISO 14443A-4 modes. The application has to decide which mode should be selected once the PICC is activated. Page 79 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
1 – 0 = 1000 ms 1 – 1 = 2500 ms Bit 6 1 = Enable Bit 7 Enforce ISO 14443A Part 4 0 = Disable Page 80 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Data In Manual PICC Polling Response Response Class Data Out Result Status Where: Status (1 byte) 00h = PICC is detected FFh = No PICC is detected Page 81 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
The tag types to be 0 = Skip detected during PICC 1 = Detect Polling Bit 1 ISO 14443 Type B 0 = Skip Bit 2 – 7 Page 82 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
The tag types to be 0 = Skip detected during 1 = Detect PICC Polling Bit 1 ISO 14443 Type B 0 = Skip Bit 2 – 7 Page 83 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
00h = Share Mode: ICC and PICC interfaces can work at the same time. 01h = Exclusive Mode: PICC is disabled when Auto Polling and Antenna Power Off when ICC is inserted (Default). Page 84 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
00h = Share Mode: ICC and PICC interfaces can work at the same time. 01h = Exclusive Mode: PICC is disabled when Auto Polling and Antenna Power Off when ICC is inserted (Default). Page 85 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
PICC or environment does not meet the requirement of the proposed communication speed. 2. If the higher speed setting affects the performance of the reader, please switch back to a lower speed setting. Page 86 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Step 1: Connect the “ACR1281U PICC Interface” with T=1 protocol. Step 2: Access the PICC by exchanging APDUs. Step N: Disconnect the “ACR1281U PICC Interface”. Shut down the application. Page 88 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
In which, the first byte “AF” is the status code returned by the MIFARE DESFire card. The Data inside the blanket [$1DD7h] can simply be ignored by the application. Page 89 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk...
Page 90
1. If the response length is less than 2, the status code [90 00h] will be added in order to meet the requirement of PC/SC. The minimum response length is 2. Page 90 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk...
Press Enter to send to reader, and then check the response. Note: PCSCDirectCommand.exe is not available in the Software Development Kit (SDK). Please contact ACS for more information. Page 93 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
8. Buzzer Control 00 = Turn Off Duration: 01 – FE = Duration x 10 ms 01 – FF = Duration × 10 ms FF = Turn On Page 95 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk Version 1.08...
Page 96
MIFARE, MIFARE Classic, MIFARE DESFire, MIFARE Mini and MIFARE Ultralight are registered trademarks of NXP B.V. and are used under license. Windows and Windows Vista are registered trademarks of Microsoft Corporation in the United States and/or other countries. Page 96 of 96 ACR1281U-C1 – Application Programming Interface info@acs.com.hk www.acs.com.hk...
Need help?
Do you have a question about the ACR1281U-C1 and is the answer not in the manual?
Questions and answers