Page 1
80161508-001 MiniSmart II Secure Smart Card Reader Command Interface August 2, 2019 2018 Rev. C ID TECH 10721 Walker Street, Cypress, CA90630 Voice: (714) 761-6368 Fax: (714) 761-8880...
Page 2
Warranty Disclaimer: The services and hardware are provided "as is" and "as-available" and the use of the services and hardware is at its own risk. ID TECH does not make, and hereby disclaims, any and all other express or implied warranties, including, but not limited to, warranties of merchantability, fitness for a particular purpose, title, and any warranties arising from a course of dealing, usage, or trade practice.
Contact your ID TECH representative to learn more about the SDK, which is free for all customers. Also, be sure to check the ID TECH public Knowledge Base for additional documentation, utilities, demos, and software updates: https://atlassian.idtechproducts.com/confluence/display/KB/MiniSmart+II+-+downloads...
Page 5
USB-HID Report 0 of length 64, with the first byte of the report set to the length of the data being sent. The USB-HID response from the MiniSmart II is: 21 02 1b 00 06 49 44 20 54 45 43 48 20 4d 69 6e 69 53 6d 61 72 74 20 49...
MiniSmart II Commands The following table lists the commands supported by the device, in alphabetical order (by command name). Documentation of individual commands begins after the table. Command Summary Table (Alphabetical by Command Name) Command Name 72 46 05 02...
Page 7
MiniSmart II 72 46 08 02 Get Internal EMV Level Two Version Number 78 31 Get Internal Firmware Version 78 46 30 Get Key Status 72 52 01 01 Get Key Type for Data encryption Key (ICC DUKPT Key) 78 46 20...
Page 8
MiniSmart II 70 53 01 41 01 Set Baud Rate 72 53 01 22 01 Set BCD Mask Data 72 46 04 03 Set CA Public Key 72 53 01 04 01 Set Card Type Option 72 46 85 03...
Page 9
MiniSmart II Load Key Command Body is 78 46 F3 <Length of Data> <Length of Encrypted Key ANS.1 Structure> <Encrypted Key ANS.1 Structure> <Length of LCL-KEK KSN> <LCL-KEK KSN> Where: <Length of Data> is 2 bytes, format is Len_L Len_H, is length of <Length of Encrypted Key ANS.1 Structure>...
Page 10
MiniSmart II Get Serial Number Command Body is 78 46 02 Response Body is 06 + 10 bytes ASCII code Serial Number, or: 15 62 00 – No Serial Number Get Model Number Command Body is 78 46 20 Response Body is 06 + Model Number Where: Model Number is “MINI2-5X”...
Page 11
MiniSmart II Response Body is 06 + PIN DUKPT Status + PIN Master Key Status + PIN Session Key Status + Data encryption Key Status + Data encryption Key Status + RKI-KEK Where: Status Note 0: None. Does not support this key.
Page 12
MiniSmart II Set Remote Key Injection Timeout Command Body is 78 53 01 01 02 <Timeout_H> <Timeout_L> Where: <Timeout_H> <Timeout_L> need be 120 seconds ~ 3600 seconds Response Body is 06 Get Remote Key Injection Timeout Command Body is 78 52 01 01 Response Body is 06 78 01 01 02 <Timeout_H>...
Page 13
MiniSmart II Where: <Data Time> is 6 bytes data – Year, Month, Date, Hour, Minute, Second Set Idle waiting time Command Body is 78 53 01 05 01 <Time> Where: <Time> is 0 or 2 seconds ~ 60 seconds (Default is 2 seconds)
Page 14
MiniSmart II 19200 38400 115200 Response Body is 06 Note: Device will use new baud rate after it responds 0x06. Get Baud Rate Command Body is 70 52 01 41 Response Body is 06 70 01 41 01 ASCIIChar...
MiniSmart II Get Data Bits Command Body is 70 52 01 42 Response Body is 06 70 01 42 01 38 (8 bits Data) Get Parity Command Body is 70 52 01 43 Response Body is 06 70 01 43 01 30 (None)
Page 16
MiniSmart II Smart Card Group (ICC EMV Level One Task) – Function Command Get ICC Reader Status Command Body is 72 46 24 Response Body is 06 + <Reader status> (1 byte) Bit Position ‘0’ ‘1’ ICC Power not ready...
Requires L2 kernel on device. Setting transaction parameters 1. Send Set Application Data Command 2. Send Set Terminal Data Command MiniSmart II Support 2C configuration, below are Terminal Data Value for 2C configuration. Manufacture need set it. Item Terminal Data (TLV format)
Page 18
MiniSmart II 4. Send Set Certification Revocation List command Transaction Flow Reader Host Start transaction command offline Offline Example:72 46 05 01…… Start transaction response Example:06 00 10 00 <TLVs> If MSR operation , response MSR data, and transaction is finished Authentication transaction command Example:72 46 05 02……...
Page 19
MiniSmart II Retrieve Application Data Command Body is 72 46 01 01 <LenL> <LenH> <5~16 bytes AID> Where: <LenL> <LenH> is the length of AID Response Body is 06 <TagCounterL> <TagCounterH> <TLV1> <TLV2>…<TLVn> or 15<ErrorCode>. Where: <TagCounterL> <TagCounterH> is the number of <TLV>...
Page 20
MiniSmart II Retrieve Terminal Data Command Body is 72 46 02 01 Response Body is 06 <TagCounterL> <TagCounterH> <TLV1> <TLV2>…<TLVn> or 15<ErrorCode> Where: <TagCounterL> <TagCounterH> is the number of <TLV> If Terminal Data does not exist, response 15 F2 01...
Page 21
MiniSmart II Retrieve CA Public Key Command Body is 72 46 04 01<5 bytes RID> <1 byte Index>. Response Body is 06 <5 bytes RID> <1 byte Index> <1 byte Hash Algorithm> <1 byte Encryption Algorithm> <20 bytes HashValue> <4 bytes Public Key Exponent> <2 bytes Modulus Length>...
Page 22
MiniSmart II <Modulus Length>: <LenL> <LenH> Indicated the length of the next field. <Modulus>: This is the modulus field of the public key. Its length is specified in the field above. <2Bytes MAC Length> is 2 bytes data – Fix is 0x00 0x00...
Page 23
MiniSmart II Second return: 06 <Response Code> <Attribution> <Output Data List> (All response except that MSR Fall Back). Or 06 <Response Code> <Output Data List> (MSR Fall Back response) Where: <Response Code> length is 2Bytes. Please refer to “Response Code” Section <Attribution>: 1 Byte:...
Page 24
MiniSmart II Note: If command format error, terminal will response 15 F2 09 If an Option tag is not occurred in the Option Data List, the tag in output TLV list will not occur all the same. If the tag ‘9f10’ and ‘9f26’ have value in the terminal, they will also occur in the command response TLV list.
Page 25
MiniSmart II Tags Example: “9F02, 9F36, 95, 9F37” means total 4 tags (9F02, 9F36, 95, 9F37) reqested to in response. Length is 7bytes. Response Body is 06 <TLV1> <TLV2> … <TLVn>. For details please refer to P127 of EMV4.3 book3.
Page 26
MiniSmart II Retrieve Terminal Identification Command Body is 72 46 87 01 Response Body is 06 <Identification> Set Terminal Identification Command Body is 72 46 87 03 <Identification> Note: <Identification> 8 bytes ‘0’ ~ ‘9’, or ‘a’ ~ ‘z’, or ‘A’ ~ ‘Z’...
Page 27
Command Body is 72 46 09 02 Response Body is 06 <20 bytes L2 Configuration Check Value> Note: MiniSmart II Support 2C configuration. Get ICC L2 AID List Check Value Command Body is 72 46 09 13 Response Body is 06 <32 bytes L2 AID List Check Value>...
Page 28
MiniSmart II yy.zzz is internal version number. Version number is start from0.99.001 Remove Transaction Amount Log Command Body is 72 46 0A 02 Response Body is 06 Smart Card Group (ICC EMV Level Two Task) – Output / Input Directly Driver Output Body Output Body Format 49 72 <DriverID>...
Page 29
MiniSmart II • Length Display Message Control - 2 bytes (Little-endian) • Display Message Control: repeatable combination of <Line> <Message> <0x1C> <Line> - Display line number (1-First Line, n-nth Line), Maximum 16 lines. The lower 7 bits is for line number.
MiniSmart II • If Menu Display, Length of Menu value (If Normal Display, Length of Key (Get Function)) • If Menu Display, Menu value, sequence number of selected line, hex format (If Normal Display, ASCII format (‘E’ is Enter, ‘C’ is Cancel)) Get MSR Data control Output Body is 49 72 03 <Len_L of Control Data>...
Page 31
MiniSmart II Key Type Option Data type Key 0x00 PIN type Key 0x01 Note: ICC Group (Task) only support A Fun of Setting/Review command except for Default All & Review All. Response Body is 06 Get Key Type for Data encryption Key (ICC DUKPT Key) Command Body is 72 52 01 01 Response Body is 06 72 01 01 01 <Option>...
Page 32
MiniSmart II Get Card Type Option Command Body is 72 52 01 04 Response Body is 06 72 01 04 01 <Option> Set ICC L1 Transaction Timeout Command Body is 72 53 01 05 01 <Timeout> Where: <Timeout> is 1 byte. Value is 8 seconds ~ 90 Seconds...
Page 33
MiniSmart II CTL2Interval Value Definition No Delay 30 ~ 100 300ms ~ 1000ms Example: 72 53 01 2F 01 50 sets the delay to 800 msec (0x50 * 10 msec) Set Pre/Post PAN Data Len Command Body is 72 53 01 20 02 <PrePANCtlDataLen> <PostPANCtlDataLen>...
Page 34
MiniSmart II Get BCD Mask Data Command Body is 72 52 01 22 Response Body is 06 72 01 22 01 <BCDMaskData> Default ICC Group All Setting Command Body is 72 53 00 Response Body is 06 Below Setting should be reset to default value:...
Page 35
MiniSmart II <NAK> <Error Code> Where: <20 bytes ASCII code KSN of RKI-KEK> is 10 bytes KSN – It is KSN. <10 bytes Serial Number> is set by itself command listed in Command Set File. <16 bytes ASCII code Authentication Code 1> is 8 bytes Authentication Code 1 8 bytes Authentication Code 1 is 8 bytes Random generated by POS Device.
MiniSmart II Data Key of RKI-KEK), and 4 bytes MAC is generated from data (detailed in below) encrypted with KBMK (generated from KBPK, KBPK is generated from Data Key of RKI-KEK). (KSN of RKI-KEK is advanced to next KSN. Refered as next-KSN hereafter.
MiniSmart II Definitions Block 0 Data 1. This Block data are 64 bytes data - FM File Format Definition 2. The Format is: <6 byte PCI , NONPCI> <1 byte File Type> <1 byte Mode> <2 byte file descriptor length> <2 byte block head size (byte)> <2 byte block tail size (byte)> <2 byte Package size (in byte)>...
MiniSmart II 2. The definition: This Check Value is calculated from Full Packets Data of BIN File. If Full Data of BIN File (For Generating FM File) are not enough for Full Packages Data, FM File Generator Tool will Pad 0xFF to calculate the Check Value.
MiniSmart II Device without any Display Part, No Indictor. Bootloader Status - Process After entering into Bootloader mode, get status to determine device encryption, firmware packet size, and packet/block to start/resume the transmission on. Command Body: 78 46 11 Response Body: (Fix 28 bytes data): 06 <’Bootloader FW ‘>...
Page 42
MiniSmart II 42 <4 bytes Flash Start Address of this Package Data> <m bytes Data> <4 bytes Flash Start Address of this Package Data>(Little Endian Mode) m will be 1024 or 2048…… Type3 – The latest 256 bytes Block 4 Data 42 FF FF FF FF <256bytes Data>...
MiniSmart II Bootloader Error Codes Error Codes Definition Software Process 0x5030 Timeout in Work State 1. Device Pause Bootloader function quit Bootloader Status and run in Application Status. 0x5031 For PCI device: Bootloader need send data Timeout in Work State 2. Device from Block 1 Data.
Page 44
MiniSmart II General Error Codes Error Code Definition 0x0400 Related Key was not loaded Non-SRED Device needs Load Manufacture Key, Firmware Key, 0x0410 and Check Values 0x0500 Key Same / Duplicate key detected 0x0702 PAN is Error 0x0D00 This Key was loaded...
Page 45
MiniSmart II 0x8200 Wrong operate step 0x2C02 No Microprocessor ICC seated 0x2C06 No card seated to request ATR 0x8B10 ICC error on power-up 0xE313 IO line low -- Card error after session start 0x9042 Invalid LCL-KEK 0x9046 Invalid Data encryption Key...
Page 46
MiniSmart II LCD Foreign Language Mapping Table Some EMV responses include message IDs for messages that should be displayed on the POS, tablet, or LCD-equipped device. Consult the following table for those messages. Note that the ID (leftmost column) is decimal (not hex) notation.
MiniSmart II Response Codes Response Code(2Bytes) Display on the LCD 0x00,0x00 APPROVED (offline) 0x00,0x01 DECLINED(offline) 0x00,0x02 APPROVED 0x00,0x03 DECLINED 0x00,0x04 GO ONLINE 0x00,0x05 CALL YOUR BANK 0x00,0x06 NOT ACCEPTED 0x00,0x07 USE MAGSTRIPE 0x00,0x08 TIME OUT 0x00,0x10 (start transaction success) 0x00,0x11...
MiniSmart II (CVM_COND_CODE_IS_NOT_SUPPORTED) 0x60, 0x07 TERMINATE (CVM_NO_MORE) 0x60, 0x08 TERMINATE (PIN_BYPASSED_BEFORE) Error Result Code TERMINATE Note: First response byte format: Bit 0 --- if transaction have advice, this bit is 1. Bit 1 --- if transaction have reversal, this bit is 1.
MiniSmart II Timings: General Purpose Commands Response Description Specific description Send Response Data Time (ms) General Purpose Commands 02 1A 00 06 49 44 54 45 43 48 Get Firmware 20 4D 69 6E 69 Release 78 46 01 53 6D 61 72 74...
Page 52
MiniSmart II Smart Card Group (ICC EMV Level 06 + <Reader status> (1 byte) Get ICC 02 02 00 06 00 no seated no 72 46 24 Reader Status 06 06 03 power on seated but no 02 02 00 06 02...
Page 53
MiniSmart II Command Body is 72 53 01 22 01 <BCDMaskData> Where: <BCDMaskData> can be can be 0x0A~0x0F, Default is 0x0C(*). Note: Set BCD Mask 72 53 01 22 02 01 00 06 06 Data l If 0x23 will be masked High...
Page 56
MiniSmart II If a <TLV> format was error, response 15 - F2 02 -If AID List has full (MAX is 16), response 15 F2 03 application Command Body is 72 46 01 04 data existed: Remove All Application Response Body is 06...
Page 57
MiniSmart II l <Modulus Length>: <LenL> <LenH> Indicated the length of the next field. l <Modulus>: This is the modulus field of the public key. Its length is specified in the field above. Note: If CA Key RID does not exist, response 15 F2 05 If CA Key Index does not exist, response 15 F2 06 Command Body is 72 46 04 02 <5 bytes RID>...
Page 58
MiniSmart II MSR, 0x00 indicate it not support FallBack. Card :2.9sc <TimeOut1> (2 bytes, unit is Second). Timeout for Card is RCTP seated. International <TimeOut2> (2 bytes, unit is Second). Waiting time till Maestro T = “Authenticate Transaction” command. 1: 5.4sc <App Data>...
Page 59
MiniSmart II <Attribution>: 1 Byte: Card l BIT0 – Card Type: 0 – Contact Card Test:639 l BIT2,1 – Encryption Mode: 00 – TDES Mode, 01 – AES RCTP Visa Mode Electron T = l BIT7~3 - Reserve 1 Card:644...
Page 60
MiniSmart II MasterCard Debit Test Card:562 Command Body is 72 46 06. Response Body is 06. Retrieve Transaction Result Command Body is 72 46 07 01<2 Byte Length><Tags>. <2 Byte Length>format is<LenL><LenH>,is the length of <Tags>. <Tags> these tags will return TLV format. Supported tags refer to “Option Data List”...
Page 61
Command Body is 72 46 09 02 Get ICC L2 Configuration Response Body is 06 <20 bytes L2 Configuration Check Check Value Value> Note: Panasonic MiniSmart II Support 4C configuration. Command Body is 72 46 0A 02 Remove Transaction Amount Log Response Body is 06...
Page 62
MiniSmart II EMV Tags Most of the following tags are industry-standard EMVCo tags. Three-byte tags (e.g. DFEE15) are ID TECH proprietary. Description Format Length 5F2A Transaction Currency Code (Default: 08 40) 5F36 Transaction Currency Exponent 5F57 Account Type Selection Authorization Response Code...
Page 63
MiniSmart II Byte 3 Meaning Card capture 9F34 Cardholder Verification Method (CVM) Results 9F35 Terminal Type (Default: 22 ) Environment Financial Merchant Cardholder Institution Attended Online only Offline with online capability Offline only Unattended Online only Offline with online capability...
Page 64
MiniSmart II Numeric keys Alphabetic and special characters keys Command keys Function Keys Byte 4 Meaning Print, attendant Print, cardholder Display, attendant Display, cardholder Code table Code table 9 Byte 5 Meaning Code table 8 Code table 7 Code table 6...
Page 65
MiniSmart II DF17 Threshold Value for Biased Random Selection DF18 Target Percentage to be Used for Random Selection DF19 Maximum Target Percentage to be used for Biased Random Selection DF21 1~128 Issuer Script Results DF22 Force Online 0 Disable 1 ...
Page 66
MiniSmart II Manual action when CA PK loading fails CA PK verified with check sum Bypass PIN Entry Subsequent bypass PIN Entry Get data for pin try counter Byte 4 Meaning Amount before CVM processing Floor limit checking Random transaction...
Page 67
MiniSmart II Advices support Issuer referrals support Batch data capture Online data capture Default TDOL Byte 7 Meaning amount and pin entered on the same keypad ICC/Magstripe reader combined Magstripe read first Support account type selection On fly script processing...
Page 68
MiniSmart II Date Change 3/2/2016 Original document (KT) 5/27/2016 Added command table (consolidated list, alphabetical). Added commands 72 46 09 13 and 72 46 09 14 (Get ICC L2 AID List Check Value and Get ICC L2 CA Public Key Check Value).
Need help?
Do you have a question about the MiniSmart II and is the answer not in the manual?
Questions and answers