MagTek IntelliStripe 320 User Manual

INTELLISTRIPE 320
COMMAND REFERENCE MANUAL
Manual Part Number 99875168 Rev 11
FEBRUARY 2009
1710 Apollo Court
Seal Beach, CA 90740
FAX: (562) 546-6301
Technical Support: (651) 415-6800
www.magtek.com
Copyright © 2000-2009
MagTek, Inc.
Printed in the United States of America
Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of MagTek, Inc.
MagTek is a registered trademark of MagTek, Inc.
IntelliStripe is a registered trademark of MagTek, Inc.
REVISIONS
Rev Number Date Notes
1 15 May 00 Initial Release 2 18 Oct 00 Section 7: Transport cooling mode changed from 10 to 5 secs.
Added Appendix B, Memory Cards. The first is SLE 4442/4432 Memory Card Control.
3 13 Nov 00 Added support for SLE 4428/441 8 and SLE 4428/4418 Memory
Card Controls.
4 12 Jul 01 Sec 7, Notify Indicator Change 0 to 1 Property and Notify
Indicator Change 1 to 0 Property, Values: changes to bits 1-2, 3, and 4-31; text changed in 1-2 and 4-31.
5 23 Oct 01 Section 5. Editorial Corrections throughout. Appendix B. Added
support for the SLE4404 Memory Card and I
6 2 May 02 Section 4: Added Decode JIS Type 2 Property; Changed
Decode Status Definitions in CMD ID 81 and 82, Added JIS to Card Encode Type in CMD 81 and 82. Appendix B: Completely revised SLE 4404 Memory Card Control.
7 22 May 02 Section 5: Added description at the end of “Card Types”
including list of card types.
8 5 Sep 06 Removed Warranty information; added support for: saving
properties, acquiring MagnePrint, adjusting sensor timing for eject, enabling power fail eject, controlling the buzzer, and adjusting host communication properties
9 18 Sep 06 Added Section 10 for OTI SCI1000 Contactless Smart Card
Application
10 01 Jun 08 Included information about the Contactless Smart Cards that are
supported and Mifare commands.
11 10 Feb 09 Added description of Warm Reset command for Smart Cards.
The Warm Reset feature has existed for a long time but it had not been documented in the manual.
2
C Cards families.
ii

TABLE OF CONTENTS

SECTION 1. APPLICATION MESSAGES..................................................................................................1
OVERVIEW...............................................................................................................................................1
MESSAGE FORMAT................................................................................................................................1
Message Header..................................................................................................................................1
Data Field.............................................................................................................................................4
SECTION 2. GENERIC COMMANDS.........................................................................................................5
GET PROPERTY COMMAND..................................................................................................................5
SET PROPERTY COMMAND..................................................................................................................7
SAVE PROPERTY COMMAND ...............................................................................................................8
SECTION 3. DEVICE APPLICATION.........................................................................................................9
GET/SET/SAVE PROPERTY COMMANDS ............................................................................................ 9
MODEL NUMBER PROPERTY..............................................................................................................10
SOFTWARE ID PROPERTY..................................................................................................................11
SOFTWARE RESET COMMAND ..........................................................................................................12
SECTION 4. MAGNETIC STRIPE APPLICATION ...................................................................................13
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 13
NOTIFY READ STATE PROPERTY......................................................................................................14
NOTIFY READ TRACK PROPERTY......................................................................................................15
DECODE JIS TYPE 2 PROPERTY........................................................................................................16
CLEAR DATA COMMAND.....................................................................................................................17
GET TRACK 123 DECODE DATA COMMAND.....................................................................................18
GET TRACK DECODE DATA COMMAND............................................................................................20
GET MAGNEPRINT DATA COMMAND.................................................................................................22
SECTION 5. SMART CARD APPLICATION ............................................................................................ 25
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 25
RESPONSE CODES USED THROUGHOUT THE APPLICATION.......................................................25
NOTIFICATIONS IN THE SMART CARD APPLICATION.....................................................................25
Request/Response/Notification Model...............................................................................................26
Example Request/Response/Notification Sequence..........................................................................26
THE CONDRPT PROPERTY.................................................................................................................27
ERROR/WARNING CONDITION TEMPLATES.....................................................................................27
CARD TYPES.........................................................................................................................................29
PROPERTIES.........................................................................................................................................31
ATR MAP STRUCTURE – MICROPROCESSOR CARDS ONLY......................................................... 39
POWER UP COMMAND........................................................................................................................41
POWER DOWN COMMAND..................................................................................................................44
T=0 ERROR / WARNING CONDITION TEMPLATES...........................................................................44
T=1 ERROR / WARNING CONDITION TEMPLATES...........................................................................45
WARM RESET COMMAND ...................................................................................................................46
TPDU, CARD TO IFD COMMAND.........................................................................................................47
TPDU, IFD TO CARD COMMAND.........................................................................................................48
APDU EXCHANGE COMMAND.............................................................................................................49
SELECT CONNECTOR COMMAND .....................................................................................................51
SECTION 6. LED APPLICATION .............................................................................................................53
iii
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 53
LED STATE PROPERTY .......................................................................................................................53
SECTION 7. TRANSPORT APPLICATION..............................................................................................55
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 55
INDICATORS PROPERTY.....................................................................................................................55
NOTIFY INDICATOR CHANGE 0 TO 1 PROPERTY............................................................................58
NOTIFY INDICATOR CHANGE 1 TO 0 PROPERTY............................................................................59
AUTO CONSUME PROPERTY..............................................................................................................60
MSR DIRECTION PROPERTY..............................................................................................................61
EJECT MIDDLE SENSOR TO MOTOR OFF DELAY PROPERTY.......................................................62
POWER FAIL DETECT PROPERTY.....................................................................................................63
CONSUME CARD COMMAND..............................................................................................................64
EJECT CARD COMMAND.....................................................................................................................65
SECTION 8. BUZZER APPLICATION......................................................................................................67
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 67
TONE SEQUENCE 1 PROPERTY.........................................................................................................68
TONE SEQUENCE 2 PROPERTY.........................................................................................................69
TONE SEQUENCE 3 PROPERTY.........................................................................................................70
TONE SEQUENCE 4 PROPERTY.........................................................................................................71
PLAYBACK TONE SEQUENCE COMMAND ........................................................................................ 72
SECTION 9. HOST COMMUNICATIONS APPLICATION........................................................................ 73
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 73
USB SERIAL NUMBER PROPERTY.....................................................................................................74
RS232 PLUG AND PLAY SUPPORT ENABLE PROPERTY ................................................................ 75
USB PRODUCT PROPERTY................................................................................................................. 76
MCP ERROR RECOVERY ENABLE PROPERTY ................................................................................77
MCP EDC CHECK ENABLE PROPERTY ............................................................................................. 79
MCP AUTO BAUD ENABLE PROPERTY..............................................................................................80
FIXED BAUD RATE PROPERTY...........................................................................................................81
RESET DETECTED PROPERTY...........................................................................................................82
PROTOCOL PROPERTY.......................................................................................................................83
SECTION 10. OTI SCI 1000 CONTACTLESS SMART CARD APPLICATION.......................................85
GET/SET/SAVE PROPERTY COMMANDS .......................................................................................... 85
NOTIFY CONTACTLESS MAGSTRIPE PROPERTY............................................................................ 85
CONTACTLESS AUTOMATIC RF CONTROL PROPERTY ................................................................. 86
Auto Mode..........................................................................................................................................87
Example Notification Sequence .........................................................................................................88
RF ON Command...............................................................................................................................89
RF OFF COMMAND...............................................................................................................................89
Sending OTI Module Transparent Commands....................................................................................... 90
APPENDIX A. EXAMPLE HOST APPLICATION.....................................................................................91
APPENDIX B. MEMORY CARD SUPPORT.............................................................................................93
SLE 4442/4432 MEMORY CARD CONTROL........................................................................................93
Properties...........................................................................................................................................93
Power Up............................................................................................................................................94
APDU Exchange Command...............................................................................................................94
Read Binary APDU............................................................................................................................. 94
iv
Update Binary APDU..........................................................................................................................95
Verify APDU (Programmable Security Code) .................................................................................... 96
SLE 4428/4418 MEMORY CARD CONTROL........................................................................................97
Properties...........................................................................................................................................97
Power Up............................................................................................................................................97
APDU Exchange Command...............................................................................................................97
Read Binary APDU............................................................................................................................. 98
Read Protection Status APDU ...........................................................................................................98
Update Binary APDU..........................................................................................................................99
Update Binary With Protection APDU..............................................................................................100
Verify APDU (Programmable Security Code) .................................................................................. 101
SLE 4404 MEMORY CARD CONTROL...............................................................................................102
Properties.........................................................................................................................................102
Power Up..........................................................................................................................................103
APDU Exchange Command.............................................................................................................103
Special handling for C4 and RST.....................................................................................................103
Read Binary APDU........................................................................................................................... 104
Write Binary APDU...........................................................................................................................104
Erase Binary APDU..........................................................................................................................105
Verify/Erase Application Zone APDU...............................................................................................106
I2C™ MEMORY CARD CONTROL........................................................................................................107
Properties.........................................................................................................................................107
Power Up..........................................................................................................................................108
APDU Exchange Command.............................................................................................................108
Read Binary APDU........................................................................................................................... 109
Update Binary APDU........................................................................................................................109
GEMPLUS GAM326 MEMORY CARD CONTROL..............................................................................110
Properties.........................................................................................................................................110
Power Up..........................................................................................................................................111
APDU Exchange Command.............................................................................................................111
Read Binary APDU........................................................................................................................... 112
Write Binary APDU...........................................................................................................................112
Erase Counter APDU.......................................................................................................................113
Internal Authenticate APDU .............................................................................................................114
APPENDIX C. MIFARE COMMANDS.....................................................................................................117
INDEX .......................................................................................................................................................121
v
vi

SECTION 1. APPLICATION MESSAGES

This section describes the format of application messages and defines the protocol for using these messages.

OVERVIEW

Application messages are the blocks of information exchanged between two applications. They consist of a header and data. The message format and contents are independent of the transport mechanism by which the messages are exchanged. Each message has a length that is provided by the transport mechanism for messages being received or is supplied to the transport mechanism for messages being transmitted. The transport mechanism is outside the scope of this document.

MESSAGE FORMAT

The following diagram illustrates the message format:
MTYP APPL CMND RC DATA

Message Header

The message header contains four one-byte fields: Message Type, Application ID, Command ID and Result Code. The header is followed by zero or more bytes of data. The existence and format of the data depends on the Application ID and Command ID. The following sections describe each field of the header.
Message Type
This field specifies the message type: request, response or notification. The table below defines the encoding of the message type:
Bits Value Definition
7-6
5-0 Reserved for future use.
Requests are the messages sent by a host application to a device application. The device performs the requested operation and sends a response message to the host application. The device can service only one request at a time. If a request is pending, no further requests should be sent to the device until a response is received.
00 Request message type. 01 Response message type. 10 Notification message type. 11 Reserved for future use.
1
IntelliStripe 320 Command Reference
Responses are the messages sent as a reply to a previously sent request. The response contains the result of the requested operation. The device application must send each response within a pre-determined finite amount of time from receiving the request. This device will send all responses within 5 seconds.
Notifications are sent by a device application when it needs to notify the host application that the device’s state has changed or that some external event has occurred (i.e., a magnetic card has been inserted). The device can send a notification at any time. The device does not expect a response or any specific action from the host application.
For device operations that take long or indefinite amount of time, the host application usually sends a request that initiates the operation. The device sends a response, indicating it has started the operation. When the operation completes, the device sends a notification message to the host application.
Application ID
This field specifies the application ID. The application ID identifies the device application that a message corresponds to. A device application is a functional subsystem in the device. For example, a device might contain a magnetic stripe, transport, and a smart card functional subsystem. Each application in a device has a unique application ID and a defined command set.
The following application ID values are defined:
App ID (Hex) Definition
00-7F This range is for generic applications. A generic application
has a common command set for different device models.
80-FF This range is for custom applications. A custom application
has a unique command set for a particular device model.
Command ID
This field specifies the command ID. The Command ID has a different meaning for each of the three message types:
For requests, the command ID defines the operation to be carried out by the device
application.
For responses, the command ID defines the operation that was carried out by the device
application (always the same value as the Command ID from the request).
For notifications, the command ID specifies the event that has occurred in the device
application.
2
Section 1. Application Messages
The following command ID values are defined:
Value (Hex) Definition
00-7F This range is for generic commands. A generic command
has a common meaning for different device applications. The existence of generic commands allows standardizing on commonly used commands across multiple device applications. Device applications are not required to support all generic commands. Generic commands are defined further elsewhere in this document.
80-FF This range is for custom commands. A custom command
has a unique meaning for a particular device application. Custom commands are defined further elsewhere in this document.
Result Code
This field specifies the result code. The result code has different meaning for each of the three message types:
For requests, the result code is currently undefined and should be set to 0. For responses, the result code defines the result of the operation that was carried out by the device application. For notifications, the result code specifies the result of the event that has occurred in the device application.
3
IntelliStripe 320 Command Reference
The following result codes are defined:
Value (Hex) Definition
00-7F This range is for generic result codes. A generic result code
has a common meaning for different device applications. The following values are currently defined: 0 – success 1 – failure 2 – warning 3 – bad message header 4 – bad application id 5 – bad command id 6 – bad parameter 7 – timeout 8 – busy
80-FF This range is for custom result codes. A custom result code
has a unique meaning for a particular device application.

Data Field

If there is additional data associated with the application message, it is contained in this field. The length of this field is equal to the length of the message minus the length of the message header.
4

SECTION 2. GENERIC COMMANDS

This section defines the commands that are generic to all device applications. Not all device applications support these commands.

GET PROPERTY COMMAND

Command ID: 00 (Hex) Description:
This command is used to retrieve the value of an application property.
Request Message Data:
Byte Field Description
1 Property Type Property Type definition follows 2 Property ID Property ID identifies the property
Property Type definition:
The bits are identified by numbering the least significant bit 0 and the most significant bit 7.
Bits Value Definition
7-4 0 Reserved for future use. 3-0
If a property type other than NONE is used, the type will be checked with the type of the property ID being requested. If these types do not match, then the command will fail.
0 Property type – None. The property type is unspecified. 1 Property type Dword – 32-bit integer. 2 Property type String – zero-terminated ASCII string. 3 Property type Boolean – 8-bit integer (1 – TRUE, 0 –
FALSE)
4 Property type Binary – binary data.
5–15 Property types reserved for future use.
5
IntelliStripe 320 Command Reference
Response Message Data:
Byte Field Description
1 Property Type Property Type definition follows 2 Property ID Property ID identifies the property 3 Property Value Value of the property
The property type field is the same as defined in the request message data. Only valid property types are returned. The property type None is never returned. If the property type is Dword, the format of the property value is in the Intel LSB,MSB (Little Endian) layout. For example Dword value 0x12345678 is formatted as 0x78 0x56 0x34 0x12. Four bytes are always returned.
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Failure = 01 (Hex)
The command failed.
6
Section 2. Generic Commands

SET PROPERTY COMMAND

Command ID: 01 (Hex) Description:
This command is used to modify the value of an application property.
Request Message Data:
Byte Field Description
1 Property Type Property Type definition follows 2 Property ID Property ID identifies the property 3 Property Value Value of the property
Property Type definition:
The bits are identified by numbering the least significant bit 0 and the most significant bit 7.
Bits Value Definition
7-4 0 Reserved for future use. 3-0
0 Reserved for Future use. 1 Property type Dword – 32-bit integer. 2 Property type String – zero-terminated ASCII string. 3 Property type Boolean – 8-bit integer (1 – TRUE, 0 –
FALSE)
4 Property type Binary – binary data.
5–15 Property types reserved for future use.
The property type None, defined in the get property command, is not allowed. Valid property types are required or the command will fail. If the property type is Dword, the format of the property value is in the Intel LSB,MSB (Little Endian) layout. For example Dword value 0x12345678 is formatted as 0x78 0x56 0x34 0x12. All four bytes are required.
Response Message Data: None
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Failure = 01 (Hex)
The command failed.
7
IntelliStripe 320 Command Reference

SAVE PROPERTY COMMAND

Command ID: 02 (Hex)
Description:
This command is used to save the current property value as the power up / reset default value. This command can be used to modify the property default values so that the properties do not have to be initialized to other values after a power cycle or reset. Typically the set property command is sent first to set the property to the desired power up / reset value. After which, the save property command is sent to save the property in non-volatile memory so that it can then be used as the new default value after a power cycle or reset. Not all properties support this command. See the description of each property to see if this command is supported or not.
Request Message Data:
Byte Field Description
1 Property Type Property Type definition follows 2 Property ID Property ID identifies the property 3 Security Code 1 55 (hex) 4 Security Code 2 AA (hex)
Property Type definition:
The bits are identified by numbering the least significant bit 0 and the most significant bit 7.
Bits Value Definition
7-4 0 Reserved for future use. 3-0
0 Property type – None. The property type is unspecified. 1 Property type Dword – 32-bit integer. 2 Property type String – zero-terminated ASCII string. 3 Property type Boolean – 8-bit integer (1 – TRUE, 0 –
FALSE)
4 Property type Binary – binary data.
5–15 Property types reserved for future use.
Response Message Data: None
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Failure = 01 (Hex)
The command failed.
8

SECTION 3. DEVICE APPLICATION

Application ID: 00 (Hex) Description:
This application deals with device functionality.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex)
Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.
9
IntelliStripe 320 Command Reference

MODEL NUMBER PROPERTY

Property ID: 00 (Hex) Property Type: String Maximum Length: 33 (including terminating zero) Power Up/Reset Value: “IntelliStripe 320” Get/Set/Save support: Get Description:
This property is used to get the devices model number.
Values:
The value is fixed at “IntelliStripe 320”.
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 00 00 00 02 00
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 23 Value (Hex) 40 00 00 00 02 00 49 6E 74 65 6C 6C 69 53 74
72 69 70 65 20 33 32 30 00 “IntelliStripe 320” (ASCII)
10
Section 3. Device Application

SOFTWARE ID PROPERTY

Property ID: 01 (Hex) Property Type: String Maximum Length: 33 (including terminating zero) Power Up/Reset Value: Software dependent Get/Set/Save support: Get Description:
This property is used to get the devices software ID.
Values:
The value is fixed and is software dependent. For example, the software ID could be “16051337A01” where “16051337” is the software part number, “A” is the software revision and “01” is the software version.
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 00 00 00 02 01
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 18 Value (Hex) 40 00 00 00 02 01 31 36 30 35 31 33 33 37 41 30
31 00 “16051337A01” (ASCII)
11
IntelliStripe 320 Command Reference

SOFTWARE RESET COMMAND

Command ID: 80 (Hex) Description:
This command is used to reset the device. This will put the device in its power up state. The device should be allowed time to power up before trying to communicate with the device. The maximum time it would take the device to reset would be 5 seconds.
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 00 80 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 00 80 00
12

SECTION 4. MAGNETIC STRIPE APPLICATION

Application ID: 01 (Hex)
Description:
This application deals with decoding and presenting magnetic stripe card data. This application works closely with the transport application, which deals with card transportation and magnetic stripe data acquisition. The transport application must be used to acquire magnetic stripe data before any data is available to decode and present by the magnetic stripe application.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex) Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.
13
IntelliStripe 320 Command Reference

NOTIFY READ STATE PROPERTY

Property ID: 00 (Hex) Property Type: Dword
Power Up/Reset Value: 0 (OFF) Get/Set/Save support: All Description:
If the notify read state is not set to OFF, then a notification message will be sent to the host when a card is read. The notification message will have the same syntax as the command response of the command that corresponds to the notify read state. The only difference is that the message header will contain a notification message type instead of a response message type. Note that when the Notify Read State is set to GET TRACK DECODE DATA, the track number is obtained from the Notify Read Track Property.
Values:
Value Notify Read State
0 OFF 1 GET TRACK 123 DECODE DATA 2 GET TRACK DECODE DATA
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 00 01 01 00 01 00 02 00 00 00 (GET TRACK
DECODE DATA)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 01 01 00
14
Section 4. Magnetic Stripe Application

NOTIFY READ TRACK PROPERTY

Property ID: 01 (Hex) Property Type: Dword Power Up/Reset Value: 2 (Track 2) Get/Set/Save support: All Description:
This property contains the track number that is used when the Notify Read State property is set to the GET TRACK DECODE DATA state. This is the track that is sent in the notification message when a card is read.
Values:
Value Notify Read Track
1 TRACK 1 2 TRACK 2 3 TRACK 3
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 00 01 01 00 01 01 03 00 00 00 (TRACK 3)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 01 01 00
15
IntelliStripe 320 Command Reference

DECODE JIS TYPE 2 PROPERTY

Property ID: 15 (Hex) Property Type: Boolean Power Up/Reset Value: 0 (False) Get/Set/Save support: All Description:
If this property is set to true then cards encoded to JIS X 6302 type 2 standards can be decoded.
Values:
Value Decode JIS Type 2
0 False 1 True
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 01 01 00 03 15 01 (True)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 01 01 00
16
Section 4. Magnetic Stripe Application

CLEAR DATA COMMAND

Command ID: 80 (Hex) Description:
This command is used to clear all magnetic stripe data so that the data can no longer be acquired from the device. After this command is issued, no magnetic stripe data will be available until a card is read.
After a card is read, the magnetic stripe data is held in the device until:
1. Another card read occurs.
2. A Clear Data command is issued.
3. The device is power cycled or reset.
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 01 80 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 01 80 00
17
IntelliStripe 320 Command Reference

GET TRACK 123 DECODE DATA COMMAND

Command ID: 81 (Hex) Description:
This command is used to get decoded information related to a magnetic stripe read for tracks 1, 2 and 3. This command always returns data from the most current magnetic stripe data acquisition. This command is used to get decode status, card encode type, 3 track data lengths and decoded card data for 3 tracks. Each track of decoded data starts with a start sentinel and ends with an end sentinel and is converted to ASCII format. The ASCII representation of the start and end sentinels vary depending on the encode format.
Request Message Data: None
Response Message Data:
Byte Field Description
1 Decode Status Decode status definition follows 2 Card Encode Type Card Encode Type definition follows 3 Track 1 Data Length Length of track 1 data 4 Track 2 Data Length Length of track 2 data 5 Track 3 Data Length Length of track 3 data 6 - ? Track 1, 2, 3 Data Track 1 followed by track 2 then track 3 decoded data
Decode Status definition:
The bits are identified by numbering the least significant bit 0 and the most significant bit 7.
Bit Field Description
0 Track 1 error Indicates track 1 decode error if set to 1 1 Track 2 error Indicates track 2 decode error if set to 1 2 Track 3 error Indicates track 3 decode error if set to 1 3-7 RFU Reserved for future use
A decode error is only indicated if a valid start sentinel exists on the track and the track cannot be decoded. If a track cannot be decoded and if it does not have a decode error it is considered blank.
18
Section 4. Magnetic Stripe Application
Card Encode Type definition:
Value Encode Type Description
0 ISO/ABA ISO/ABA encode format 1 AAMVA AAMVA encode format 2 CADL CADL encode format. Note that some versions of this reader
can only read track 2 for this format. They can not read tracks 1 and 3. However, this format is obsolete. There should no longer be any cards in circulation that use this format. California
is now using the AAMVA format. 3 Blank The card is blank 4 Other The card has a non-standard encode format. For example,
ISO/ABA track 1 format on track 2. 5 Undetermined The card encode type could not be determined because no
tracks could be decoded. 6 None No decode has occurred. This type occurs if no magnetic stripe
data has been acquired since the data has been cleared or
since the device was powered on. 7 JIS Type 2 JIS X 6302 Type 2 encode format
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 01 81 00
Example Response:
Field MTYP APPL CMND RC DCD STAT ENCD TYP
Byte 1 2 3 4 5 6 Value (Hex) 40 01 81 00 00 00
Field TK1 LEN TK2 LEN TK3 LEN TK123 DATA
Byte 7 8 9 10 - 153 Value (Hex) 37 22 37 Track1 Track2 Tra ck3
19
IntelliStripe 320 Command Reference

GET TRACK DECODE DATA COMMAND

Command ID: 82 (Hex)
Description:
This command is used to get decoded information related to a magnetic stripe read for a single track. This command always returns data from the most current magnetic stripe data acquisition. This command is used to get decode status, card encode type and decoded card data for a given track. The track of decoded data starts with a start sentinel and ends with an end sentinel and is converted to ASCII format. The ASCII representation of the start and end sentinels vary depending on the encode format.
Request Message Data:
Byte Field Description
1 Track Number Number of desired track. This value should be 1, 2 or 3.
Response Message Data:
Byte Field Description
1 Track Number Number of retrieved track. Always the same as requested track. 2 Decode Status Decode status definition follows 3 Card Encode Type Card Encode Type definition follows 4 - ? Track Data Track decoded data
Decode Status definition:
The bits are identified by numbering the least significant bit 0 and the most significant bit 7.
Bit Field Description
0 Track 1 error Indicates track 1 decode error if set to 1 1 Track 2 error Indicates track 2 decode error if set to 1 2 Track 3 error Indicates track 3 decode error if set to 1 3-7 RFU Reserved for future use
A decode error is only indicated if a valid start sentinel exists on the track and the track cannot be decoded. If a track cannot be decoded and if it does not have a decode error it is considered blank.
20
Section 4. Magnetic Stripe Application
Card Encode Type definition:
Value Encode Type Description
0 ISO/ABA ISO/ABA encode format 1 AAMVA AAMVA encode format 2 CADL CADL encode format. Note that some versions of this reader
can only read track 2 for this format. They can not read tracks 1
and 3. However, this format is obsolete. There should no
longer be any cards in circulation that use this format. California
is now using the AAMVA format. 3 Blank The card is blank 4 Other The card has a non-standard encode format. For example,
ISO/ABA track 1 format on track 2. 5 Undetermined The card encode type could not be determined because no
tracks could be decoded. 6 None No decode has occurred. This type occurs if no magnetic stripe
data has been acquired since the data has been cleared or
since the device was powered on. 7 JIS Type 2 JIS X 6302 Type 2 encode format
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Bad Parameter = 06 (Hex) The command failed due to a bad parameter in the request message data field
Example Request:
Field MTYP APPL CMND RC TRACK
Byte 1 2 3 4 5 Value (Hex) 00 01 82 00 02
Example Response:
Field MTYP APPL CMND RC TRACK DCD STAT ENCD TYP TK DATA
Byte 1 2 3 4 5 6 7 8 - 41 Value (Hex) 40 01 82 00 02 00 00 Track2
21
IntelliStripe 320 Command Reference

GET MAGNEPRINT DATA COMMAND

Command ID: 86 (Hex) Description:
This command is used to get MagnePrint™ information for the most recently read card.
Note 1: This command available only on units with MagnePrint feature.
Request Message Data: None Response Message Data:
Byte Field Description
1-4 MagnePrint status MagnePrint status. Byte 1 LSB is status bit 0. Byte 4 MSB is
status bit 31 MagnePrint status is defined as follows: Bit 0 = This is a MagnePrint-capable product Bits 1 through 15 = Product revision & mode Bit 16 = STATUS-only state Bit 17 = Noise too high or “move me” away from the noise source (used only in STATUS-only) Bit 18 = Swipe too slow Bit 19 = Swipe too fast Bit 20 = Unassigned Bit 21 = Actual Card Swipe Direction (0 = Forward, 1 = Reverse) Bits 22 thru 31 = Unassigned (always set to Zero)
Note that bits 16 and 17 will never be set because they would only be set if noise was too high during the swipe and in that case this command will fail setting the result code to 86 (Hex) to indicate the noisy condition. In this case, no response message data will be available.
5-58 MagnePrint™ data MagnePrint™ data
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
MagnePrint™ Not Installed = 84 (Hex)
The MagnePrint™ feature is not installed on this device. Note that some versions of this reader will return result code 05 (Hex) if MagnePrint is not installed. Result code 05 (Hex) indicates that this command is not available.
Data cleared = 85 (Hex)
MagnePrint™ data was cleared by a Clear Read Data command.
22
Section 4. Magnetic Stripe Application
Excess noise = 86 (Hex)
The MagnePrint™ circuit is sensing excessive electrical noise in the environment, no MagnePrint™ data is available. Moving the reader away from noise sources (monitors, speakers, etc.) may solve this problem. Note that this result indicates that the noisy condition was present at the time the card was swiped. It is not a real time indication that noise is present. For a real time indication that noise is present see the Indicators property in the Transport application.
Data not available = 87 (Hex)
There is no MagnePrint™ data available for this card format. This could occur when swiping a blank card.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 01 86 00
Example Response:
Field MTYP APPL CMND RC STATUS DATA
Byte 1 2 3 4 5-8 9-62 Value (Hex) 40 01 86 00 MagnePrint status MagnePrint™ data
23
IntelliStripe 320 Command Reference
24

SECTION 5. SMART CARD APPLICATION

Application ID: 02 (Hex) Description:
This application deals with smart card communications.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex)
Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.

RESPONSE CODES USED THROUGHOUT THE APPLICATION

Two Response Codes are used throughout most of the application and have the same meaning in all cases.
80 (Hex) – This Response Code is used in conjunction with the Request/Response/Notification Model for all commands. It means command has not yet completed and that a Notification message will be sent later when the command has completed.
08 (Hex) – This Response Code may be used with any command and indicates either:
- The Smart Card Application can not find hardware to execute on, or
- The Smart Card Application is busy executing a previous command.

NOTIFICATIONS IN THE SMART CARD APPLICATION

The Smart Card Application attempts to respond to all requests in a timely manner. Because different Smart Cards may take longer than others to respond to a given request, it is not possible to predict how long it will take to complete a request. Because of this, we have adopted a Request/Response/Notification model for most commands to the Smart Card Application. The Get and Set Property commands are excluded from this model.
25
IntelliStripe 320 Command Reference

Request/Response/Notification Model

When the Smart Card Application receives a Request, it initiates the requested action. If the action completes in a timely manner, a Response message is sent informing the Host Application of completion. If the request does not complete in a timely manner, a Response message is sent indicating that the command has not yet completed (Response Code 80 (Hex)) and that a Notification message will be sent later when the command has completed. The Notification message is identical in every way except for its Command Type to the Response message that would have been sent if the request had completed in a timely manner.

Example Request/Response/Notification Sequence

Request message (Power Up Command):
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 02 80 80
Response message (RC = 80 means Request Initiated, Notification to follow):
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 02 80 80
Notification message (Card Powered Up OK, Data is ATR):
Field MTYP APPL CMND RC PVAL
Byte 1 2 3 4 5-8 Value (Hex) 80 02 80 00 3B 60 00 0A
26
Section 5. Smart Card Application

THE CONDRPT PROPERTY

This property is used to give a detailed status of the Power Up Command, the TPDU, Card To IFD Command, the TPDU, IFD To Card Command, and the APDU Exchange Command. It consists of the following fields:
Bytes Meaning
0 Ignore 1 Primary Status
0x80 = No Errors 0x01 = Parameter Errors, details follow in Secondary Status 0x01 = Header Block less than required length 0x04 = Length of Data not consistent with Lc 0x06 = Requested Data larger than available buffer space 0x82 = Card Handling Errors, details follow in Secondary Status 0x01 = Card Not In Connector 0x02 = Card Not Powered 0x05 = Card Not Responding (I 0x03 = Abnormal Condition Report, details follow in Accumulator
2 Secondary Status, as defined above.
3 – 6 Accumulator is a bit map field documenting the abnormal conditions
encountered during the process. The meaning of the individual bits depends on the command that produced the accumulator contents, see the definitions in the corresponding command descriptions.
7 – 10 Error Conditions Template – the actual Error Conditions Template used, in
conjunction with the Warning Conditions Template, to formulate the Accumulator contents.
11 -
14
Warning Conditions Template – the actual Warnings Conditions Template used, in conjunction with the Error Conditions Template, to formulate the Accumulator contents.
2
C cards only)

ERROR/WARNING CONDITION TEMPLATES

In dealing with Smart Cards, there are numerous situations that can arise in operation that might be considered abnormal. We define three basic manners of handling these situations:
Errors – These are situations that are considered disastrous. When they are encountered, the card is deactivated immediately and the Result Code Failure (01 Hex) is returned.
Warnings – These are situations that are considered noteworthy, but may not require the card to be deactivated. The operation requested was able to complete. When these situations are encountered the Result Code Warning (02 Hex) is returned.
Ignore – These are situations that are considered of no importance. The operation requested was able to complete. When these situations are encountered the Result Code Success (00 Hex) is returned.
27
IntelliStripe 320 Command Reference
Of course the operation requested may complete without encountering any abnormal situations at all. When this happens the Result Code Success (00 Hex) is returned.
Criteria for treating abnormal situations may change from application to application. One way of dealing with changing criteria is via Error/Warning Condition Templates. Each template is 4 bytes long. Each bit can be used to define a particular condition. If the bit is set in an Error Conditions Template and the condition is encountered, it is considered an Error and the card is deactivated with the Result Code Failure (01 Hex) being returned. Bits set in the Error Conditions Template override bits set in a corresponding Warning Conditions Template. If the bit is set in the Warning Conditions Template (and not in the corresponding Error Conditions Template) and the condition is encountered, it is considered a Warning and the operation is allowed to proceed, but a Result Code of Warning (02 Hex) will be returned when the operation completes. If the bit is not set in either the Error or Warning Conditions Tem plate and the condition is encountered, the condition is Ignored, the operation is allowed to proceed, and a Response Code of Success (00 Hex) is returned.
As conditions are encountered, they are recorded in an Accumulator bit map. Each bit in the Accumulator bit map corresponds directly to the bits in the Error and Warning Conditions Template. The Accumulator bit map does not distinguish between Errors, Warnings, and Ignored conditions; it simply records the occurrence of the conditions. The Accumulator is part of the CondRpt property.
Different operations use different Error/Warning Conditions Templates.
28
Section 5. Smart Card Application

CARD TYPES

Multiple card types are supported. The default card type (after power up) is 0x00, which supports microprocessor cards (T=0/T=1). The card type may be selected by the host application by setting the desired type in Property 01 (Card Type). The specified card type is used on all connectors until a new card type is set via the Set Property command.
There are two major categories of card types. The first are ISO 7816-3(1997) Microprocessor cards. Most Microprocessor cards available today comply with 7816-3 and this manual does not address their functionality in depth. The second category is Memory or Synchronous cards. There are numerous Memory cards available in the market. Some of them conform to ISO 7816­10, some don’t. There are no standards for command sets used to control these cards. The protocols and commands used to control these cards vary widely. In an effort to promote ease of use, we attempt to provide a command set similar in appearance and structure to the command set specified for the control of Microprocessor cards in ISO 7816-4. For the user this means there will be some consistency of principles of operation between the different Memory cards and Microprocessor cards.
Memory cards are controlled using three basic commands, Power Up, Power Down, and APDU Exchange. Some of the operating conditions can be specified via Properties documented in the Properties table later in this section and in Appendix B. Memory Card Support. The details of the Power Up and APDU Exchange commands vary somewhat depending on the type of Memory card being used and are documented in a later section of this manual. The Power Down command functions identically for Microprocessor and Memory cards.
Control of many memory cards depends on the manufacturer’s specifications for the card, and it would be challenging/impossible to implement a well designed application without the manufacturer’s specifications. Many manufacturers release specifications only with Non Disclosure Agreements, so MagTek may not be able to provide such documentation to users. It is assumed that the user has access to the manufacturer’s specifications for the card type being used.
Currently supported values of the Card Type Property are: Value Card Type
0x00 ISO 7816-3(1997) Microprocessor Cards (T=0/T=1) 0x01 SLE 4428/4418 (or compatible) Memory Cards 0x02 SLE 4442/4432 (or compatible) Memory Cards 0x03 SLE 4404 family Memory Cards (includes many similar cards) 0x05 I
2
C Cards
0x06 Gemplus GAM326 Memory Card
29
IntelliStripe 320 Command Reference
30
Section 5. Smart Card Application

PROPERTIES

Reset Values marked with * are per ISO 7816-3(1997), or EMV 4.1. Changing these properties is not advisable unless the card you are operating is non-standard.
General Properties used by the whole application. In order for these properties to influence a card session, they must be set before the card session begins. Once set, these property values will persist for the current connector until a device reset, or until they are changed by further property settings.
Name ID
(Hex)
CondRpt 00 Binary 15 N/A Get Operation Condition Report. This property only has meaning if the most
CardType 01 Binary 1 0x00 Get/Set Card Type Volts 02 Binary 1 0x03* Get/Set Card Voltages allowed:
UART-ID 03 Binary 11 N/A Get ID of Smart Card UART Microprocessor Card Setup Properties, used to control the Power Up sequence. In order for these properties to influence a card session, they must
be set before the card session begins. Once set, these property values will persist for the current connector until a device reset, or until they are changed by further property settings.
Name ID
(Hex)
Initial ETU 15 Dword 2 372* Get/Set Initial value for ETU, in card clocks. Used to set bit time. Initial CWT 16 Dword 2 449* Get/Set Maximum time, in 2 ms units, to wait between characters during the ATR.
Initial BWT 18 Dword 2 6* Get/Set Maximum time, in 2 ms units, to wait for first character of ATR after Reset Default EGT 19 Dword 1 0* Get/Set Default EGT, used if card sends no EGT info in TC1. Default BGT 1A Dword 1 22* Get/Set Default BGT, always used. Power Up Error Conditions Template
1B Binary 4 (Hex)*
Type Length Reset
Value
Type Length Reset
Value
0F 00 00 00
Get/Set/
Save
Get/Set Description
Get/Set Used to define which conditions shall be considered errors when
Description
recent request was Power Up, Exchange APDU, or Exchange TPDU. This property gives detailed information on the operation and is most useful if the RC in the response was either Failure or Warning. See Error / Warning Condition Templates section for a detailed explanation of this property.
See Card Types in this section for values
0x01 = 5 volts only 0x02 = 3 volts only 0x03 = 5 and 3 volts
In EMV Mode this property is set to 472 yielding 10080 etus.
powering up the card. The options in this bit-map are defined in the description of the Power Up command.
31
IntelliStripe 320 Command Reference
Power Up Warning Conditions Template Power Up Warm Reset Conditions Filter Template
PPS Allowed 1E Boolean 1 TRUE* Get/Set If a card sends an ATR allowing more than one protocol and/or speed,
Protocol Selection Allowed
Speed Selection Allowed
Force PPS1 Transmission
Reset Delay 22 Dword 1 2* Get/Set Time to hold RST low in either a Cold or Warm Reset sequence. The
Abort on Parity Error in ATR
1C Binary 4 (Hex)*
70 d0 47
00
1D Binary 4 (Hex)*
00 00 00
00
1F Boolean 1 TRUE Get/Set This property indicates if a PPS sequence is allowed to select a different
20 Boolean 1 TRUE Get/Set This property indicates if a PPS sequence is allowed to select a different
21 Boolean 1 FALSE Get/Set This property is only referenced when performing a PPS sequence. If it is
23 Boolean 1 FALSE* Get/Set If this property is TRUE and a parity error is detected in the ATR, the card
Get/Set Used to define which conditions shall be considered warnings when
powering up the card. The options in this bit-map are defined in the description of the Power Up command.
Get/Set Used in combination with an EMV Cold / Warm Power Up sequence.
When a warm reset is necessary, the Warning Conditions Template is ANDed with the inverse of the Warm Reset Conditions Filter Template, then the resulting Warning Conditions Template is copied to the Error Conditions Template just before the Warm Reset occurs. The effect is to allow conditions which were considered warnings during the Cold Reset to be ignored during the Warm Reset. See the description of the Power Up command for more information.
the value of this property indicates whether a PPS sequence should be performed. If this property is set to TRUE, a PPS will be performed, otherwise it will not be sent.
protocol. If it is set TRUE and a PPS sequence is performed, the sequence will not attempt to select a different protocol.
speed. If it is set to TRUE and a PPS sequence is performed, the sequence will not attempt to select a different speed.
TRUE, the PPS sequence will always include a PPS1 byte. If it is FALSE a PPS1 byte would only be included if a speed change were required. This property exists to allow the user to tailor the PPS sequence for cards with special requirements. Unless your card is having problems with PPS, we recommend you leave this property FALSE.
units are increments of 200 card clocks. The default value of 2 yields 400 clocks per ISO 7816-3(1997). In EMV Mode this property is set to 205, yielding 41,000 clocks.
is powered down immediately and the Power Up request fails. If it is FALSE and a parity error occurs in the ATR, the IFD will request the byte from the card again.
32
Section 5. Smart Card Application
ATR Secondary Timeout
EMV Reset Rules 25 Boolean 1 FALSE* Get/Set If this property is TRUE, EMV Reset Rules are followed in the Power Up
TC2 Minimum 26 Binary 1 0x01* Get/Set This property gives the minimum value allowed for TC2 in the ATR. A
TC2 Maximum 27 Binary 1 0xFF* Get/Set This property gives the maximum value allowed for TC2 in the ATR. A
TA3 Minimum 28 Binary 1 1* Get/Set This property gives the minimum value allowed for TA3 in the ATR. A
TA3 Maximum 29 Binary 1 254* Get/Set This property gives the maximum value allowed for TA3 in the ATR. A
BWI Maximum 2A Binary 1 9* Get/Set This property gives the maximum value allowed for BWI in the ATR. A
CWI Maximum 2B Binary 1 15* Get/Set This property gives the maximum value allowed for CWI in the ATR. A
24 Dword 2 0* Get/Set If this property is zero, there is no limit on the total time an ATR takes to
complete. If this property has a non-zero value, it specifies (in 2 ms intervals) the maximum time allowed from the start of the first byte of the ATR to the reception of the last byte in the ATR. If this time is exceeded, the card is deactivated and the Power Up request fails. In EMV Mode this property is set to 939, which yields 20160 etus.
sequence. If this property is FALSE, only a Cold Reset is performed. In EMV Mode this property is TRUE. See EMV specification for details of operation.
lower value will cause an Error or Warning depending on the conte nts of the Error and Warning Condition Templates.
higher value w ill cause an Error or Warning depending on the contents of the Error and Warning Condition Templates. In EMV Mode this property has the value 10. TC2 is used to calculate the Work Waiting Time in T=0.
lower value w ill cause an Error or Warning depending on the contents of the Error and Warning Condition Templates. In EMV Mode this property has the value 16. TA3 gives IFSC, the maximum number of bytes in the INF field of a T=1 message.
higher value w ill cause an Error or Warning depending on the contents of the Error and Warning Condition Templates. TA3 gives IFSC, the maximum number of bytes in the INF field of a T=1 message.
higher value w ill cause an Error or Warning depending on the contents of the Error and Warning Condition Templates. BWI is found in TB3 of the ATR and is used to calculate the Block Wait Time (BWT) for T=1. In EMV Mode this property is 4.
higher value w ill cause an Error or Warning depending on the contents of the Error and Warning Condition Templates. CWI is found in TB3 of the ATR and is used to calculate the Character Wait Time (CWT) for T=1. In EMV Mode this property is 5.
33
IntelliStripe 320 Command Reference
EMV TD2 Rules 2C Boolean 1 FALSE* Get/Set This property indicates whether the Power Up sequence should use EMV
rules for screening TD2. If the property is TRUE, the EMV rules are used (protocol T=14 may be designated, though it will not be used). If the property is FALSE, TD2 with T=14 will cause an Error or Warning depending on the contents of the Error and Warning Condition
Templates. This property is TRUE in the EMV Mode. Parity Error Repeat Count
Operating Mode 2E Binary 1 0 Get/Set This property defines the Operating Mode for microprocessor cards.
PPS Delay 30 Dword 4 2 Get/Set This property defines the delay between receiving an ATR from a card
Microprocessor Card Operating Properties, used to monitor Microprocessor Card operatio ns. Settings of these properties only apply to the current card session.
Name ID
Protocol 38 Binary 1 N/A Get This property gives the protocol number in use for the current card Proposed Protocol 39 Binary 1 N/A Get This property gives the protocol number the card proposed for use Speed 3A Dword 2 N/A Get This property gives the speed (in clocks/ETU) for the current card Proposed Speed 3B Dword 2 N/A Get This property gives the speed (in clocks/ETU) the card proposed for use Proposed FI/DI 3C Binary 1 N/A Get This property gives the FI and DI from TA1 which were used to calculate
2D Dword 1 5* Get/Set In T=0 there is a mechanism for requesting retransmission of a character
with incorrect parity. This property sets the total number of
receptions/transmissions allowed for a single character in T=0.
Changing this changes numerous other properties. This property
should only be changed when no cards are currently activated.
Values are as follows:
0 – ISO 7816-3(1997) Mode
1 – EMV 4.1 Mode
Trying to set this property to any other value will get a RC of failure.
Setting this property sets the Operating Mode of all connectors in the
device.
and transmitting a PPS request to a card. This delay is in 10ms units. So
the default value of 2 is equivalent to 20ms. Valid values for this delay
are 0 – 254 (0 – 2540ms).
(Hex)
Type Length Reset
Value
Get/Set Description
session.
pending a PPS sequence.
session.
pending a PPS sequence.
the Proposed Speed property.
34
Section 5. Smart Card Application
Actual EGT 3D Dword 1 N/A Get This property is the EGT value for the current session. If TC1 was
transmitted in the ATR it was calculated from TC1, otherwise it was
calculated from the Default EGT property.
Actual Class 3E Binary 1 N/A Get This property gives the Class Indicator as reported by the card in the
ATR, or in the absence of a Class Indicator from the card, the default
(Class A only). Actual Specific Mode
ATR Map 40 Binary 67 N/A Get This property gives a detailed analysis of the ATR as received from the
T=0 Microprocessor Card Setup Properties, used to control the T=0 protocol operations. In order for these properties to influence a card session, they must be set before the card session begins. Once set, these property values will persist for the current connector until a device reset, or until they are changed by further property settings.
Name ID
Initial T=0 Error Conditions Template
Initial T=0 Warning Conditions Template
T=0 INS Mask 53 Binary 1 0xFE* Get/Set This property defines the mask that is ANDed with an INS byte returned
T=0 Microprocessor Card Operating Properties, used to control the T=0 protocol operations. Settings of these properties only apply to the current card session.
3F Boolean 1 N/A Get This property gives the specific mode indication as reported by the card in
the ATR, or in the absence of the Specific Mode byte (TA2), the default
value:
FALSE = Negotiable Mode (default)
TRUE = Specific Mode
card. For details see ATR Map Structure.
Type Length Reset
(Hex)
51 Binary 4 (Hex)*
52 Binary 4 (Hex)
Value
0F 00 00 00
00 00 00 00
Get/Set Description Get/Set Used to define which conditions shall be considered errors when running
with the T=0 protocol. See Error / Warning Condition Templates for
further discussion. See T=0 Error / Warning Conditions for specific
coding.
Get/Set Used to define which conditions shall be considered warnings when
running with the T=0 protocol. See Error / Warning Condition Templates
for further discussion. See T=0 Error / Warning Conditions for specific
coding.
from the card. If the INS byte, or its inverse, matches the result, the INS
byte is considered to be a valid procedure byte. In the EMV Mode, this
property is set to 0xFF, requiring all bits to match.
35
IntelliStripe 320 Command Reference
Name ID
(Hex)
T=0 Actual WWT 60 Dword 2 N/A Get This is the Work Wait Time, in units of 2 ms, being used for T=0 T=0 Actual Error
Conditions Template
T=0 Actual Warning Conditions Template
T=0 Actual INS Mask
T=1 Microprocessor Card Setup Properties, used to control the T=1 protocol operations. In order for these properties to influence a card session, they must be set before the card session begins. Once set, these property values will persist for the current connector until a device reset, or until they are changed by further property settings. Initial NAD 6F Binary 1 0x00* Get/Set This property is the NAD byte sent in a T=1 protocol frame. Leave it at
Initial IFSD Adjustment Allowed
Initial Resynch Allowed
Initial Chaining Allowed
61 Binary 4 (Hex)*
62 Binary 4 (Hex)
63 Binary 1 0xFE* Get/Set This property defines the mask that is ANDed with an INS byte returned
70 Boolean 1 TRUE* Get/Set This property indicates whether an IFSD adjust S(IFSD Req, 254)
71 Boolean 1 TRUE* Get/Set This property indicates whether T=1 handling is allowed to send a
72 Boolean 1 TRUE* Get/Set This property indicates whether T=1 handlind is allowed to chain
Type Length Reset
Value
0F 00 00 00
00 00 00 00
Get/Set Description
operations for this card.
Get/Set Used to define which conditions shall be considered errors when running
with the T=0 protocol. See Error / Warning Condition Templates for further discussion. See T=0 Error / Warning Conditions for specific coding.
Get/Set Used to define which conditions shall be considered warnings when
running with the T=0 protocol. See Error / Warning Condition Templates for further discussion. See T=0 Error / Warning Conditions for specific coding.
from the card. If the INS byte, or its inverse, matches the result, the INS byte is considered to be a valid procedure byte. In the EMV Mode, this property is set to 0xFF, requiring all bits to match.
0x00 unless your card is special. message will be sent to the card after the ATR has been received (in T=1
Protocol). If TRUE, the message is sent, if FALSE, no message is sent. If the S(IFSD Req, 254) message is not sent, the card would assume the default IFSD of 32. This may be undesirable.
RESYNCH message when it has certain protocol errors (see 7816­3(1997). If it is TRUE, the RESYNCH message is allowed. If it is FALSE, the message is not permitted. In EMV Mode this property is set to FALSE.
messages longer than IFSC to the card. If TRUE, chaining is allowed. If FALSE, chaining is not allowed and any request longer than IFSC will fail.
36
Section 5. Smart Card Application
Initial T=1 Error Conditions Template
Initial T=1 Warning Conditions Template
Initial Use EMV NAD Rules
IFSD Allowed after ATR
T=1 Microprocessor Card Operating Properties, used to control the T=1 protocol operations. Settings of these properties only apply to the current card session. Actual NAD 88 Binary 1 0x00* Get/Set This is the NAD byte per ISO 7816-3(1997). Actual CWT 89 Dword 2 N/A Get This is the current CWT, in units of 2 ms, calculated per ISO 7816-
Actual BWT 8A Dword 2 N/A Get This is the current BWT, in units of 2 ms, calculated per ISO 7816­Actual EDC 8B Binary 1 N/A Get This is the EDC indicator per ISO 7816-3(1997).
Current Session Resynch Allowed Current Chaining Allowed Current IFSC 8E Dword 1 N/A Get The IFSC in use for the current session. Current Output Sequence Number Current Input Sequence Number Current T=1 Error Conditions Template
73 Binary 4 (Hex)*
C1 0B 60 03
74 Binary 4 (Hex)*
3E F4 9E 00
75 Boolean 1 FALSE* Get/Set TRUE indicates to validate NAD according to EMV rules. FALSE
76 Boolean 1 TRUE* Get/Set TRUE indicates an S(Req IFSD(254)) should be sent to the card after the
8C Boolean 1 N/A Get/Set Similar to the Initial Resynch Allowed property, but applies to the current 8D Boolean 1 N/A Get/Set Similar to the Initial Chaining Allowed proprety, but applies to the current
8F Dword 1 N/A Get This is the sequence number of the next I-block that will be sent to the 90 Dword 1 N/A Get This is the sequence number expected in the next I-block that will be 91 Binary 4 N/A* Get/Set Used to define which conditions shall be considered errors when running
Get/Set Used to define which conditions shall be considered errors when running
with the T=1 protocol. See Error / Warning Condition Templates for further discussion. See T=1 Error / Warning Conditions for specific coding.
Get/Set Used to define which conditions shall be considered warnings when
running with the T=1 protocol. See Error / Warning Condition Templates for further discussion. See T=1 Error / Warning Conditions for specific coding.
indicates to ignore NAD received from cards. In EMV Mode this property is TRUE.
ATR has been received. FALSE indicates no S(Req IFSD) should be sent. In all cases, the effective IFSD is 254 as the IFD always accepts full length messages.
3(1997). 3(1997).
session only. session only.
card. received from the card. with the T=1 protocol. See Error / Warning Condition Templates for
further discussion. See T=1 Error / Warning Conditions for specific coding. The values are initialized from the Initial T=1 Error Conditions Template property.
37
IntelliStripe 320 Command Reference
Current T=1 Warning Conditions Template
Current Use EMV NAD Rules
92 Binary 4 N/A* Get/Set Used to define which conditions shall be considered warnings when
running with the T=1 protocol. See Error / Warning Condition Templates
for further discussion. See T=1 Error / Warning Conditions for specific
coding. The values are initialized from the Initial T=1 Warning Conditions
Template property.
93 Boolean 1 N/A Get/Set TRUE indicates to validate NAD according to EMV rules. FALSE
indicates to ignore NAD received from cards. In EMV Mode this property
is TRUE. The value is initialized from the Initial Use EMV NAD Rules
property.
Note: Other Property IDs are specified in Appendix B. Memory Card Support.
38
Section 5. Smart Card Application

ATR MAP STRUCTURE – MICROPROCESSOR CARDS ONLY

The ATR Map structure is retrieved by reading property 40 (Hex). This property gives a detailed analysis of the ATR as received from the card. The structure is as follows:
Bytes Meaning
0 TS character, as received from the card 1 T0 character, as received from the card 2 TA1 Present? 0 = no, 1 = yes 3 TA1 value
If TA1 Present = 1, as received from the card
If TA1 not present, set to 0x11 4 TB1 Present? 0 = no, 1 = yes 5 TB1 value
If TB1 Present = 1, as received from the card
If TB1 Present = 0, set to 0x25 6 TC1 Present? 0 = no, 1 = yes 7 TC1 value
If TC1 Present = 1, as received from the card
If TC1 Present = 0, set to 0X00 8 TD1 Present? 0 = no, 1 = yes 9 TD1 value
If TD1 Present = 1, as received from the card
If TD1 Present = 0, ignore the value
10 TA2 Present? 0 = no, 1 = yes 11 TA2 value
If TA2 Present = 1, as received from the card
If TA2 Present = 0, ignore the value
12 TB2 Present? 0 = no, 1 = yes 13 TB2 value
If TB2 Present = 1, as received from the card
If TB2 Present = 0, ignore the value
14 TC2 Present? 0 = no, 1 = yes 15 TC2 value
If TC2 Present = 1, as received from the card
If TC2 Present = 0, set to 0x0A
16 TD2 Present? 0 = no, 1 = yes 17 TD2 value
If TD2 Present = 1, as received from the card
If TD2 Present = 0, ignore the value
18 TCK Present, 0 = no, 1 = yes 19 TCK value
If TCK Present = 1, as received from the card
If TCK Present = 0, ignore the value
20 Number of history bytes received from the card
21 – 36 History bytes as received from the card. The bytes start at position 21 and continue
for the count specified in location 20. Ignore additional bytes
37 T=0 Available? 0 = no, 1 = yes 38 T=1 Available? 0 = no, 1 = yes 39 TAi for T=1 Present? 0 = no, 1 = yes
39
IntelliStripe 320 Command Reference
Bytes Meaning
40 TAi for T=1 value
If TAi for T=1 Present = 1, as received from the card
If TAi for T=1 Present = 0, 0x20
41 TBi for T=1 Present? 0 = no, 1 = yes 42 TBi for T=1 value
If TBi for T=1 Present = 1, as received from the card
If TBi for T=1 Present = 0, 0x4D
43 TCi for T=1 Present? 0 = no, 1 = yes 44 TCi for T=1 value
If TCi for T=1 Present = 1, as received from the card
If TCi for T=1 Present = 0, 0x00
45 T=15 Present? 0 = no, 1 = yes 46 TAi for T=15 Present? 0=no, 1=yes 47 TAi for T=15 value
If T=15 Present = 1, as received from the card
If T=15 Present = 0, 0x01
48 Convention, 0 = direct, 1 = inverse 49 FI, see ISO 7816-3(1997) 50 DI, see ISO 7816-3(1997) 51 II, see ISO 7816-3(1997) 52 PI1, see ISO 7816-3(1997) 53 N, see ISO 7816-3(1997) 54 Specific Mode Indicator, 0 = Negotiable, 1 = Specific 55 Specific Protocol 56 Specific Mode Implicit Parameters Requested? 0 = no, 1 = yes 57 Specific Mode Changeable, 0 = Changeable, 1 = Not Changeable 58 PI2 Present? 0 = no, 1 = yes 59 PI2 value
If PI2 Present = 1, as received from the card
If PI2 Present = 0, ignore the value
60 WI 61 Clock Stop Allowed Indication
0 = never
1 = stop clock low
2 = stop clock high
3 = stop clock high or low
Note: This is an indication of what stop clock modes are possible for the card, the
IFD does not put a capable card into the clock stop mode.
62 Classes supported by the card
1 = 5 volts only
2 = 3 volts only
3 = both 5 and 3 volts
63 IFSC being supported by the card 64 CWI 65 BWI 66 Error Detection Code
0 = LRC
1 = CRC
40
Section 5. Smart Card Application

POWER UP COMMAND

Command ID: 80 (Hex) Description:
This command is used to power up a smart card in the currently selected connector. If it is available, the ATR from the card is returned.
Request Message Data: None Response Message Data:
Byte Field Description 1-n ATR Answer to Reset as received from the card.
Response Message Result Codes
Code (Hex) Meaning 00 Success, the command completed without problems 01 Failure, the command was not able to complete, see CondRpt property for
details. See below for Error/Warning Conditions Template construction.
02 Warning, the command completed, but some problems arose, see CondRpt
property for details. See below for Error/Warning Conditions Template construction.
Error/Warning Conditions Template Construction – Microprocessor Cards Only
The Error/Warning Condition Templates (Power Up Error Conditions Template and Power Up Warning Conditions Template properties respectively) have the following structure:
Byte Bit Meaning
0 0 Unrecoverable Receive Error. This condition indicates a receive error that
could not be corrected by the permitted number of parity correction retries. 0 1 Timeout On Receive. This condition indicates a receive timeout. 0 2 Specific f/d ratio required but not supported. This condition arises when a
card sends the TA2 byte and the values of FI and DI in TA1 require an f/d
ratio the IFD can not support. The IFD supports f/d ratios as low as 31,
which is equivalent to an I/O rate of 129kbs. 0 3 Specific protocol required but not supported. The card has required a
protocol which the IFD does not support. The IFD supports T=0 and T=1. 0 4 Requested f/d ratio not supported, may be negotiable. The card has
requested an f/d ratio that is not supported, but it has indicated that it may
negotiate via Warm Reset. 0 5 Requested protocol not supported, may be negotiable. The card has
requested a protocol that is not supported, but it has indicated that it may
negotiate via Warm Reset.
41
IntelliStripe 320 Command Reference
Byte Bit Meaning
0 6 TCK not present or incorrect. This condition only appears when the
ISO/EMV rules require a TCK and the card does not send it. 0 7 Card requests VPP. This condition occurs only if the card requests VPP.
This IFD does not support VPP. 1 0 Card started ATR early. This condition occurs when a card starts the ATR
too earlier than allowed by ISO or EMV rules. 1 1 Invalid TS. This condition indicates that the TS character had a value other
than 0x3B or 0x3F. 1 2 Unknown Interface Byte. This condition occurs when an interface byte not
defined by ISO 7816-3 or EMV is sent as part of the ATR. 1 3 Invalid Protocol Sequence. This condition occurs when the ATR specifies
protocols in a non-ascending order. 1 4 Specific Mode requesting Implicit Parameters. This condition happens
when the card sends TA2 with bit b5 (see ISO 7816-3(1997)) set. 1 5 TC2 present with T=0. This condition indicates that TC2 was sent in an
ATR that does not support T=0. 1 6 IFSC out of allowed range. This condition indicates that the card requested
an IFSC out of the range permitted by current rules. The current range is
specified by properties TA3 Minimum and TA3 Maximum. 1 7 Invalid EDC type requested. The card has requested an unsupported EDC
type. At this time the IFD only supports LRC. 2 0 PPS sequence failed. The IFD was unable to complete a successful PPS
sequence. In order to operate this card, it may be necessary to change
one or more of the following properties:
PPS Allowed
Protocol Selection Allowed
Speed Selection Allowed
Force PPS1 Transmission
See your card’s documentation for more details. 2 1 Parity Error in ATR. 2 2 EGT out of range. The EGT calculated from N in the ATR is larger than
254 ETUs. 2 3 TD2 not according to EMV rules. Indicates that TD2 does not conform to
EMV rules. The condition is only detected if the property EMV TD2 Rules
is set to TRUE. 2 4 T=15 received. This condition only indicates that the card sent a byte
specifying T=15. 2 5 TB2 received. This condition only indicates that the card sent a TB2 byte. 2 6 TC2 outside of allowed range. The card sent a TC2 byte out of the allowed
range. The allowed range is specified in properties TC2 Minim um and TC2
Maximum. 2 7 EMV TB3 error. This condition indicates that for a card requesting T=1
either TB3 was absent or the values specified for BWI or CWI were out of
range. See EMV, ICC, I-4.3.3.10 3 0-7 Reserved for Future Use
42
Section 5. Smart Card Application
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 02 80 00
Example Response:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-8 Value (Hex) 40 02 80 00 3B 60 00 00
43
IntelliStripe 320 Command Reference

POWER DOWN COMMAND

Command ID: 81 (Hex) Description:
This command is used to power down a smart card in the currently selected connector.
Request Message Data: None Response Message Data: None Response Message Result Codes
Code Meaning 00 Success.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 02 81 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 02 81 00

T=0 ERROR / WARNING CONDITION TEMPLATES

Byte Bit Meaning
0 0 Timeout On Receive. This condition indicates a receive timeout. 0 1 Unrecoverable Receive Error. This condition indicates a receive error
that could not be corrected by the permitted number of parity
correction retries. 0 2 Invalid Procedure Byte received from card. 0 3 Unrecoverable Transmit Error. This condition indicates a transmit
error that could not be corrected by the permitted number of parity
correction retries. 0 4-7 Reserved for Future Use
1-3 All Reserved for Future Use
44
Section 5. Smart Card Application

T=1 ERROR / WARNING CONDITION TEMPLATES

Byte Bit Meaning
0 0 Timeout On Receive. This condition indicates a receive timeout. 0 1 Parity Error in received data. This condition indicates that there wa s
a parity error in a message received from the card.
0 2 I/O errors in a message received from the card. These errors could
be Length, EDC, or an invalid PCB. 0 3 The card rejected a message with the in dication: Error Free 0 4 The card rejected a message with the indication: EDC Error 0 5 The card rejected a message with the indication: Other Error 0 6 Reserved for Future Use. 0 7 Card Aborted a chain being sent by the IFD. 1 0 Card Aborted a chain being sent by the Card. 1 1 Input Buffer Overflow. The card tried to send a chain of messages
that is larger than the available buffer space. 1 2 The card sent an I-Block message (or chain) with no content in the
INF field. 1 3 The card was sending chained data when a Resynch sequence was
required, the chained data from the card was lost. 1 4 The IFD was not sending a chained messag e to the card and the
card sent an R-Block requesting a message other than the one we
are trying to send. This is a protocol error on the part of the card. 1 5 Invalid Sequence Number in an I-Block received from a card. 1 6 The IFD was sending a chained message to the card and the card
sent an R-Block requesting a message other than the one we are
trying to send. 1 7 Reserved for Future Use 2 0 Invalid S-Block Response Type from the card. An S-Block was sent
to the card and it responded with an S-Block of the wrong type. 2 1 Invalid S-Block Response Data from the card. An S-Block was sent
to the card and it responded with an S-Block with an invalid INF field. 2 2 Invalid S-Block Request Type from card. The card sent an S-Block
Request with an invalid Type. 2 3 Invalid S-Block Request Data from card. The card sent an S-Block
Request with an invalid INF field. 2 4 Resynch needed, completed successfully. 2 5 Resynch needed, but not performed because it is disables (property
Initial Resynch Allowed or Current Session Resynch Allowed). 2 6 Resynch not attempted, protocol had not yet started. 2 7 Reserved for Future Use 3 0 Resynch failed. 3 1 S-Block exchange failed, no more retries. 3 2-7 Reserved for Future Use
45
IntelliStripe 320 Command Reference

WARM RESET COMMAND

Command ID: 82 (Hex) Description:
This command is used to perform a Warm Reset on a smart card in the currently selected connector. If it is available, the ATR from the card is returned.
Request Message Data: None Response Message Data:
Byte Field Description 1-n ATR Answer to Reset as received from the card.
Response Message Result Codes
Code (Hex) Meaning 00 Success, the command completed without problems. 01 Failure, the command was not able to complete, see CondRpt property for
details. See below for Error/Warning Conditions Template construction.
02 Warning, the command completed, but some problems arose, see CondRpt
property for details. See below for Error/Warning Conditions Template construction.
Error/Warning Conditions Template Construction – Microprocessor Cards Only
See Error/Warning Conditions Template Construction for the Power Up command.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 02 82 00
Example Response:
Field MTYP APPL CMND RC PVAL
Byte 1 2 3 4 5-8 Value (Hex) 40 02 82 00 3B 60 00 00
46
Section 5. Smart Card Application

TPDU, CARD TO IFD COMMAND

Command ID: 83 (Hex) Description:
Note
Unless your card can not operate in the APDU mode, it is recommended not to use this command, as it is not compatible with EMV Rules nor the intended ISO 7816-4 application usage.
This command is used to send a TPDU to a card requesting data from the card. It is the user’s responsibility to assure that the INS byte specifies a card command which will result in data being returned to the IFD. The TPDU is sent to the card and the reply is collected according to ISO 7816-3(1997) rules.
Request Message Data:
Byte Field Description 1 CLA CLA byte per card’s specification 2 INS INS byte per card’s specification 3 P1 P1 byte per card’s specification 4 P2 P2 byte per card’s specification 5 P3 P3, number of bytes expected in response from the card, per ISO
7816-3(1997)
Response Message Data:
Byte Field Description 1-n TPDU Response Response TPDU received from the card. SW1/SW2 are at
the end.
Response Message Result Codes
Code (Hex) Meaning 00 Success, the command completed without problems 01 Failure, the command was not able to complete, see CondRpt property for
details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
02 Warning, the command completed, but some problems arose, see CondRpt
property for details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
47
IntelliStripe 320 Command Reference
Example Request:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-9 Value (Hex) 00 02 83 00 00 B0 81 00 02
Example Response:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-8 Value (Hex) 40 02 83 00 0B 03 00 00

TPDU, IFD TO CARD COMMAND

Command ID: 84 (Hex) Description:
Note
Unless your card can not operate in the APDU mode, it is recommended not to use this command, as it is not compatible with EMV Rules nor the intended ISO 7816-4 application usage.
This command is used to send a TPDU to a card with data for the card, or with no data for the card and no data expected in response from the card. It is the user’s responsibility to assure that the INS byte specifies a card command which will not
result in data being returned to the IFD. The TPDU is sent to the card and the SW1/SW2 reply is collected according to ISO 7816­3(1997) rules.
Request Message Data:
Byte Field Description 1 CLA CLA byte per card’s specification 2 INS INS byte per card’s specification 3 P1 P1 byte per card’s specification 4 P2 P2 byte per card’s specification 5 P3 P3, number of Data bytes to send to the card 6-n Data Data to be sent to the card
Response Message Data:
Byte Field Description 1-2 TPDU Response SW1/SW2.
Response Message Result Codes:
Code (Hex) Meaning 00 Success, the command completed without problems
48
Section 5. Smart Card Application
01 Failure, the command was not able to complete, see CondRpt property for
details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
03 Warning, the command completed, but some problems arose, see CondRpt
property for details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
Example Request:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-11 Value (Hex) 00 02 84 00 00 A4 02 0C 02 00 01
Example Response:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-6 Value (Hex) 40 02 84 00 90 00

APDU EXCHANGE COMMAND

Command ID: 85 (Hex) Description:
This command is used to exchange an APDU with a card. See ISO 7816-4 and EMV for information on APDU structure. This command functions differently for T=0 and T=1 protocols:
For T=0, the Command APDU is mapped onto TPDU’s and the exchange is managed according to EMV rules, returning a Response APDU. For T=1, the Command APDU is sent directly to the card and the Response APDU is returned. For Memory cards, the Command APDU is interpreted and the appropriate Control Sequence is sent to the card. A Response APDU is returned.
Request Message Data:
Byte Field Description 1-n Command APDU Command APDU per ISO 7816-4 and EMV
Response Message Data:
Byte Field Description 1-n Response APDU Response APDU per ISO 7816-4 and EMV
49
IntelliStripe 320 Command Reference
Response Message Result Codes:
Code (Hex) Meaning 00 Success, the command completed without problems 01 Failure, the command was not able to complete, see CondRpt property for
details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
02 Warning, the command completed, but some problems arose, see CondRpt
property for details. See T=0 or T=1 Error/Warning Condition Templates for Template construction.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 02 85 00
Field DATA
Byte 5-11 Value (Hex) 00 A4 02 0C 02 00 01
Example Response:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5-6 Value (Hex) 40 02 85 00 90 00
50
Section 5. Smart Card Application

SELECT CONNECTOR COMMAND

Command ID: 86 (Hex) Description:
The IFD supports up to 8 connectors numbered 0-7. Connector 0 is the User Connector, and is used by default when the system starts. Connectors 1-7 may be used for Secure Access Modules (SAMs) as part of application infrastructure.
This command allows the application to select the connector to be used in commands that follow. The connector assignment stays in effect until it is changed by another Select Connector Command or the device is power cycled.
Request Message Data:
Byte Field Description 1 Connector Number The number, in Hex, to be selected
Response Message Data: None Response Message Result Codes
Code Meaning 00 Success
Example Request:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5 Value (Hex) 00 02 86 00 02
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 02 86 00
51
IntelliStripe 320 Command Reference
52

SECTION 6. LED APPLICATION

Application ID: 81 (Hex) Description:
This application deals with the host controlled LED.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex) Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.

LED STATE PROPERTY

Property ID: 00 (Hex) Property Type: Dword Power Up/Reset Value: 0 (OFF) Get/Set/Save support: All Description:
Changing this property changes the LED state. The LED state can be retrieved by getting this property.
Values:
The lowest order byte governs the color of the LED as follows:
Value LED State
0 OFF 1 RED 2 GREEN
The next byte signals whether the LED will blink and the frequency of the blink. Blinking will only be active if the specified color is Red or Green. A value of zero specifies solid color with no blinking. A value in the range of 1 – 254 specifies, at 10 milliseconds per count, how long both the on and off period of the LED should be. A value of 255 is not allowed and will result in an error.
53
IntelliStripe 320 Command Reference
Example Set Property Request: Green LED Blinking, 100 msec on, 100 msec off
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 – 10 Value (Hex) 00 81 01 00 01 00 02 64 00 00 (GREEN)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 81 01 00
54

SECTION 7. TRANSPORT APPLICATION

Application ID: 82 (Hex) Description:
This application deals with card transportation and magnetic stripe data acquisition. This application works closely with the Magnetic Stripe application. The Magnetic Stripe application deals with decoding and presenting magnetic stripe card data.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex)
Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.

INDICATORS PROPERTY

Property ID: 00 (Hex) Property Type: Dword Power Up/Reset Value: Dependent on indicator states Get/Set/Save support: Get Description:
This property is used to get the transport indicators. These indicators are used to determine the state of the transport and the location of any cards present in the transport.
Values:
The bits are identified by numbering the least significant bit 0 and the most significant bit 31.
55
IntelliStripe 320 Command Reference
Bits Indicator Description
0 Front Card
Present
1 Middle Card
Present
2 Rear Card Present Set to 1 if a card is present at the rear of the card transport
3 Auto Transporting Set to 1 if the transport is transporting a card automatically,
4 Transport Cooling Set to 1 if the transport is cooling else cleared to 0. When
5 - 6 RFU Reserved for future use.
7 *MagnePrint Noise Set to 1 if the MagnePrint™ circuit is sensing excessive
8-31 RFU Reserved for future use
Set to 1 if a card is present anywhere in the front (insertion) end of the card transport, or else cleared to 0. This bit can be used to indicate the beginning of a card insertion or the end of a card withdrawal. Note that once a standard sized card is transported completely to the rear of the reader, this indicator is no longer set. Set to 1 if a card is present anywhere in the middle of the card transport, or else cleared to 0. This bit can be used to indicate that a card is in a position from which it can be ejected. If this bit is set, then a standard sized card should be in contact with the transport rollers and thus be in a position from which it can be ejected. Note that this bit is still set once a standard sized card is transported completely to the rear of the reader.
else cleared to 0. This bit can be used to indicate that the transport has completely transported the card into the reader, and that the card is in a position from which smart card communications can occur.
or else cleared to 0. The transport is automatically transporting when it transports a card due to an auto transport property being set such as the Auto Consume property. The Auto Transporting bit would not be set if the transport is consuming a card in response to a consume card command. This bit can be used to verify that the transport is idle before taking action on the card position indicators.
this bit is set, the transport will temporarily not be functional. This cooling mechanism is to ensure that the transport is not damaged by excessive stalling of the motor by the card user or by the host software. A stall occurs when a card is held in position while the transport tries to move the card. The transport will give up trying to move the card in 0.5 to 2 seconds. If 2 stalls or blind ejects occur within a 5-second period, then the transport goes into a cooling mode in which it will not function for 5 seconds during which time this bit is set.
electrical noise in the environment, else cleared to 0. If this bit is set MagnePrint™ data may not be available. Moving the reader away from noise sources (monitors, speakers, etc.) may solve this problem. Note that the reader will not check for noise until after a card swipe occurs. So a card has to be swiped to initiate noise detection. If noise is detected after the swipe, the reader will continue to check for noise until the noise is no longer present. If no noise is detected after the swipe, the reader will not check for noise again until after the next swipe.
* Available only on units with MagnePrint feature
56
Section 7. Transport Application
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 82 00 00 01 00
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 40 82 00 00 01 00 06 00 00 00 (Middle and Rear
Card Present)
57
IntelliStripe 320 Command Reference

NOTIFY INDICATOR CHANGE 0 TO 1 PROPERTY

Property ID: 01 (Hex) Property Type: Dword Power Up/Reset Value: 0 Get/Set/Save support: All Description:
This property is used to control notification messages sent in response to a transport indicator changing from a 0 to a 1 state. If the bit corresponding to an indicator is set, then a notification message will be sent from the device to the host in response to that indicator changing from a 0 to a 1 state. The notification message will have the same syntax as the get property command response of the indicator property. The only difference is that the message header will contain a notification message type instead of a response message type. If more than one indicator changes state at the same time, only one notification message will be sent that contains the state of all the indicators.
Values:
The bits are identified by numbering the least significant bit 0 and the most significant bit
31.
Bits Indicator Description
0 Front Card
Present
1-2 RFU (0) Reserved for future use (Must be zero)
3 Auto Transporting If set to 1, a notification message will be sent in response to a
4 – 6 RFU Reserved for future use
7 *MagnePrint Noise If set to 1 a notification message will be sent in response to a
8-31 RFU Reserved for future use
* Available only on units with MagnePrint feature
If set to 1, a notification message will be sent in response to a 0 to 1 transition of the front card present indicator. If cleared to 0, no notification will be sent.
0 to 1 transition of the auto transporting indicator. If cleared to 0, no notification will be sent.
0 to 1 transition of the MagnePrint™ noise indicator. If cleared to 0, no notification will be sent.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 00 82 01 00 01 01 01 00 00 00 (Front Card
Present)
PVAL
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
58
Section 7. Transport Application

NOTIFY INDICATOR CHANGE 1 TO 0 PROPERTY

Property ID: 02 (Hex) Property Type: Dword Power Up/Reset Value: 0 Get/Set/Save support: All Description:
This property is used control notification messages sent in response to a transport indicator changing from a 1 to a 0 state. If the bit corresponding to an indicator is set, then a notification message will be sent from the device to the host in response to that indicator changing from a 1 to a 0 state. The notification message will have the same syntax as the get property command response of the indicator property. The only difference is that the message header will contain a notification message type instead of a response message type. If more than one indicator changes state at the same time, only one notification message will be sent that contains the state of all the indicators.
Values:
The bits are identified by numbering the least significant bit 0 and the most significant bit 31.
Bits Indicator Description
0 Front Card
Present
1-2 RFU (0) Reserved for future use (Must be zero)
3 Auto Transporting If set to 1, a notification message will be sent in response to a
4 – 6 RFU Reserved for future use
7 *MagnePrint Noise If set to 1 a notification message will be sent in response to a
8-31 RFU Reserved for future use
*Available only on units with MagnePrint feature
If set to 1, a notification message will be sent in response to a 1 to 0 transition of the front card present indicator. If cleared to 0, no notification will be sent.
1 to 0 transition of the auto transporting indicator. If cleared to 0, no notification will be sent.
1 to 0 transition of the MagnePrint™ noise indicator. If cleared to 0, no notification will be sent.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 00 82 01 00 01 02 01 00 00 00 (Front Card
Present)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
59
IntelliStripe 320 Command Reference

AUTO CONSUME PROPERTY

Property ID: 03 (Hex) Property Type: Boolean Power Up/Reset Value: 0 (Disabled) Get/Set/Save support: All Description:
This property is used to enable and disable card auto consuming. When auto consuming is enabled, the reader will attempt to consume a card when the card is being inserted into the mouth of the reader. The transport attempts to consume a card into the transport to a position where smart card communications can occur and magnetic stripe reading is complete. The reader will not attempt to consume a card if a card is already present in the transport. When the reader is attempting to automatically consume a card, the Auto Transporting indicator is set. If the consume attempt is successful and the card is standard size, the Rear Card Present indicator and the Middle Card Present indicator will be set to show that the card is completely consumed. If the Middle Card Present indicator is set and the consume attempt is unsuccessful, then the card should be ejected. After a card is ejected or a consume fails, the card needs to be completely removed from the reader before the reader attempts to automatically consume a card again.
Values:
Value State Description
0 Disabled Cards will not be automatically consumed. 1 Enabled Cards will be automatically consumed.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 Value (Hex) 00 82 01 00 03 03
7
01 (Enabled)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
60
Section 7. Transport Application

MSR DIRECTION PROPERTY

Property ID: 04 (Hex) Property Type: Dword Power Up/Reset Value: 1 (Consume) Get/Set/Save support: All
Description:
This property is used to control the magnetic stripe read direction.
Values:
Value State Description
0 Both The reader can read during both card consuming and ejecting. 1 Consume The reader can only read during card consuming. 2 Eject The reader can only read during card ejection.
Note
If the front-gate option is installed, the IntelliStripe 320 Reader will be incapable of reliably reading mag-stripe cards during the card-ejection cycle. (Reliable mag-stripe reading will only be possible during the card-insertion cycle). If mag-stripe reading is required during the card-ejection cycle, then the product must be ordered without the front-gate option.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 - 10 Value (Hex) 00 82 01 00 01 04 01 00 00 00
(Consume)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
61
IntelliStripe 320 Command Reference

EJECT MIDDLE SENSOR TO MOTOR OFF DELAY PROPERTY

Property ID: 05 (Hex) Property Type: Dword Power Up/Reset Value: 51 (.5 inches) Get/Set/Save support: All
Description:
This property is used to control the distance that the card ejects past the middle sensor when using the card eject command with the normal eject type option. The units of this property is milli-seconds. Once the card unblocks the middle sensor during card ejection, a timer will start counting down a number of milli-seconds equal to the value of this property. Once this timer hits zero the motor will be shut off. To convert the distance you desire the card to stop past the middle sensor to milli-seconds, multiple the desired number of inches by 100. The card moves at about 1 inch per 100ms. The value of this property can range from 0 to 255ms.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 82 01 00 01 05
Field PVAL
Byte 7 - 10 Value (Hex) 33 00 00 00 (51ms or .5
inches)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
62
Section 7. Transport Application

POWER FAIL DETECT PROPERTY

Property ID: ff (Hex) Property Type: Boolean Power Up/Reset Value: 1 (Enabled) Get/Set/Save support: All Description:
This property is used to enable and disable power fail detection. When power fail detection is enabled, the device will monitor its supply voltage. If the supply voltage falls significantly out of the specified range, the device will eject any cards that are present, provided a power fail eject capacitor is connected to the device, then it will wait for the supply voltage to return to normal after which it will perform a power up reset cycle.
Values:
Value State Description
0 Disabled Power fail detect disabled. 1 Enabled Power fail detect enabled.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 82 01 00 03 ff
Field PVAL
Byte 7 Value (Hex) 01 (Enabled)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 01 00
63
IntelliStripe 320 Command Reference

CONSUME CARD COMMAND

Command ID: 80 (Hex) Description:
This command attempts to consume a card into the transport to a position where smart card communications can occur and magnetic stripe reading is complete. A card must be present at the front (insertion) end of the transport when this command is executed in order for it to succeed. The reader will not attempt to consume a card if a card is already present in the transport. If the consume attempt is successful and the card is standard sized, the Rear Card Present indicator and the Middle Card Present indicator will be set to show that the card is completely consumed. If the Middle Card Present indicator is set and the consume attemp t is unsuccessful then the card should be ejected.
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully. Transporting Failed = 80 (Hex) The transport operation failed to complete successfully. Transport Busy = 81 (Hex)
The command failed because the transport is busy transporting a card. This could
occur if the transport is set to Auto Consume. Transport Cooling = 82 (Hex)
The command failed because the transport is cooling. This occurs if the transport
is temporarily disabled due to too many stalls. See the transport indicators
property for more details.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 82 80 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 80 00
64
Section 7. Transport Application

EJECT CARD COMMAND

Command ID: 81 (Hex)
Description:
This command attempts to eject a card from inside the transport to a position where the card can be removed by the user and where magnetic stripe reading is complete. A card must be present at the middle or rear of the transport when this command is executed in order for it to succeed. If the eject attempt is successful and the card is standard sized, the Rear Card Present indicator and the Middle Card Present indicator will be clear to show that the card is completely ejected from inside the transport. Also the Front Card Present indicator will be set until the user removes the card from the reader. If the reader is set to auto consume, it will not auto consume a card until the user removes the ejected card from the reader.
The card can be ejected three different ways. The way the card is ejected is specified by the optional eject type parameter. If this parameter is omitted, the card will be ejected normally. The eject type parameter is defined below.
Note
If the front-gate option is installed, the IntelliStripe 320 Reader
will be incapable of reliably reading mag-stripe cards during the
card-ejection cycle. (Reliable mag-stripe reading will only be
possible during the card-insertion cycle). If mag-stripe reading is
required during the card-ejection cycle, then the product must be
ordered without the front-gate option.
Request Message Data: Optional 1 byte eject type field. The eject type field can be 0 for normal, 1 for long or 2 for blind. If this optional field is omitted, the eject type will default to normal.
When the eject type is set to normal (0), the reader will attempt to eject the card, using the sensors, to a final position at which it is located so that it is no longer under the read head and so that it is still under the motor drive roller. In this position the card can either be pulled out by the user or consumed back into the reader in case the reader needs to make another read attempt. This option stops the card in a position where the rear edge of the card is .5 inches in front of the middle sensor. This distance can be adjusted by modifying the eject middle sensor to motor off delay property.
When the eject type is set to long (1), the reader will attempt to eject the card, using the sensors, to a final position at which it is located so that it is no longer under the read head or the motor drive roller. In this position the card can be pulled out by the user but it can not be consumed back into the reader without user intervention. This option stops the card in a position where the rear edge of the card is 1.5 inches in front of the middle sensor or until the card is no longer under the motor drive roller. This option was added for customers that have bezels too deep for the normal eject option to eject the card out far enough for the users to grab onto it.
65
IntelliStripe 320 Command Reference
When the eject type is set to blind (2), the reader will attempt to eject the card without using any sensors. This option can be used to attempt to eject a card that has jammed in the unit or that is in the unit but is invisible to the sensors. This option will simply run the motor in the eject direction for a fixed time period that would normally drive a card out of the device. Since no sensors are used for this option the card may be ejected past the motor driver roller and depending on the bezel used, it may eject completely out of the unit.
Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully. Transporting Failed = 80 (Hex) The transport operation failed to complete successfully. Transport Busy = 81 (Hex)
The command failed because the transport is busy transporting a card. This could
occur if the transport is set to Auto Consume. Transport Cooling = 82 (Hex)
The command failed because the transport is cooling. This occurs if the transport
is temporarily disabled due to too many stalls or blind ejects. See the transport
indicators property for more details.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 82 81 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 82 81 00
66

SECTION 8. BUZZER APPLICATION

Application ID: 07 (Hex) Description:
This application deals with the buzzer.
Note
The buzzer is an optional feature intended to be used primarily
with the contact-less smartcard option. It is not installed on all
configurations.
The buzzer is used two distinct ways. First, it is used as a stand-alone application giving the host the ability to generate tone sequences to guide users through operations on the device. Second, it is used by the Contactless Card Application to indicate a media being read.
When it is being used by the Contactless Card Application, it is unavailable to the host.
The following table shows the available tones by name, designator, and frequency.
TONE DESIGNATOR FREQUENCY
Silent 0 N/A Low 1 1500 Hz Medium 2 2000 Hz High 3 2500 Hz

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Set Property Command ID: 02 (Hex) Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.
67
IntelliStripe 320 Command Reference

TONE SEQUENCE 1 PROPERTY

Property ID: 01 (Hex) Property Type: Binary
Length: 20 Power Up/Reset Value: 0110 0220 0330 0000 0000 0000 0000 0000 0000 0000 (low tone for
160 ms, medium tone for 320 ms, high tone for 480 ms)
Get/Set/Save support: All Description:
This property specifies an audible tone that may be played when the host chooses. The property is implemented as ten sets of Tone Information Bytes (TIB) as follows:
Byte Usage
1 TIB0, designates tone
0 = Silent 1 = Low 2 = Medium 3 = High Other values may not result in a tone
2 TIB1, duration of tone in units of 10 milliseconds (e.g. 3 = 30
milliseconds). Setting this byte to zero terminates the Tone Sequence without processing further entries
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 07 00 00 04 00
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 07 00 00 04 00
PVAL
7-26
01 10 02 20 03 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00
68
Section 8. Buzzer Application

TONE SEQUENCE 2 PROPERTY

Property ID: 02 (Hex) Property Type: Binary
Length: 20 Power Up/Reset Value: 0330 0220 0110 0000 0000 0000 0000 0000 0000 0000 (high tone for
480 ms, medium tone for 320 ms, low tone for 160 ms)
Get/Set/Save support: All Description:
This property specifies an audible tone that may be played when the host chooses. The property is implemented as ten sets of Tone Information Bytes (TIB) as follows:
Byte Usage
1 TIB0, designates tone
0 = Silent 1 = Low 2 = Medium 3 = High Other values may not result in a tone
2 TIB1, duration of tone in units of 10 milliseconds (e.g. 3 = 30
milliseconds). Setting this byte to zero terminates the Tone Sequence without processing further entries
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 07 00 00 04 01
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 07 00 00 04 01
PVAL
7-26
03 30 02 20 01 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
69
IntelliStripe 320 Command Reference

TONE SEQUENCE 3 PROPERTY

Property ID: 03 (Hex) Property Type: Binary
Length: 20 Power Up/Reset Value: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 (silent) Get/Set/Save support: All Description:
This property specifies an audible tone that may be played when the host chooses. The property is implemented as ten sets of Tone Information Bytes (TIB) as follows:
Byte Usage
1 TIB0, designates tone
0 = Silent 1 = Low 2 = Medium 3 = High Other values may not result in a tone
2 TIB1, duration of tone in units of 10 milliseconds (e.g. 3 = 30
milliseconds). Setting this byte to zero terminates the Tone Sequence without processing further entries
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 07 00 00 04 02
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 07 00 00 04 02
PVAL
7-26
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70
Section 8. Buzzer Application

TONE SEQUENCE 4 PROPERTY

Property ID: 04 (Hex) Property Type: Binary
Length: 20 Power Up/Reset Value: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 (silent) Get/Set/Save support: All Description:
This property specifies an audible tone that may be played when the host chooses. The property is implemented as ten sets of Tone Information Bytes (TIB) as follows:
Byte Usage
1 TIB0, designates tone
0 = Silent 1 = Low 2 = Medium 3 = High Other values may not result in a tone
2 TIB1, duration of tone in units of 10 milliseconds (e.g. 3 = 30
milliseconds). Setting this byte to zero terminates the Tone Sequence without processing further entries
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 07 00 00 04 03
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 07 00 00 04 03
PVAL
7-26
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
71
IntelliStripe 320 Command Reference

PLAYBACK TONE SEQUENCE COMMAND

Command ID: 80 (Hex) Description:
This command is used playback a specific tone sequence. On receipt of the command, the playback sequence is started and success is reported.
Request Message Data:
Byte Usage
1 Specifies which tone sequence to play back. Use the property number of the desired tone
sequence.
Response Message Data: None
Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request: (Playback Tone Sequence 2)
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5 Value (Hex) 00 07 80 00 02
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 07 80 00
72

SECTION 9. HOST COMMUNICATIONS APPLICATION

Application ID: 08 (Hex) Description:
This application deals with host communications.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex) Description:
These commands are used to get, set and save the value of application properties. Details of these commands are described in the Generic command section of this document. The following describes each property this application supports.
73
IntelliStripe 320 Command Reference

USB SERIAL NUMBER PROPERTY

Property ID: 00 (Hex) Property Type: String Maximum Length: 32 (including terminating zero) Power Up/Reset Value: 00 (Null string “”) Get/Set/Save support: All Description:
This property is the USB serial number. The USB serial number is reported to the host in the USB serial number string descriptor during USB device enumeration. This serial number can be used to distinguish one USB device from another in a system. For example, if two IntelliStripe 65 devices are connected to the same host using USB ports, the USB serial numbers can be used to distinguish one device from the other as long as the serial numbers are not set to the same value.
MagTek’s MCP USB driver uses the USB serial number, if present, as part of the device instance name so that if multiple devices with the same model number are connected to the same system they can be distinguished from one another. For example, if a device that has its USB product set to “IntelliStripe 65” has no serial number its device instance name will be “IntelliStripe 65”. If it has serial number “123”, its device instance name will be “IntelliStripe 65.123”. See the host communications application’s USB product property for more information.
After setting the USB serial number to a new value, the serial number needs to be saved with the save property command and then the device needs to be power cycled or reset before the new serial number value is used as the USB serial number string descriptor. If MagTek’s MCP USB driver is being used, it needs to be closed and then opened using the new device instance name before communicating further.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 08 01 00 02 00
Field PVAL
Byte 7 - 10 Value (Hex) 31 32 33 00 (“123”)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
74
Section 9. Host Communications Application

RS232 PLUG AND PLAY SUPPORT ENABLE PROPERTY

Property ID: 01 (Hex) Property Type: Boolean Power Up/Reset Value: 00 (hex) (False) Get/Set/Save support: All Description:
This property enables or disables RS232 plug and play support. This support is enabled if this property is set to 1 (true) or disabled if this property is set to 0 (false).
This property is typically only enabled if the RS232 interface of this device is being used to communicate to a PCSC driver on the Windows operating system.
If this property is enabled, the device will transmit a string on the RS232 port when the CTS signal with respect to the device is asserted (goes from negative to positive) by the host according to the Plug and Play External COM Device Specification Version 1.00.
The transmitted string will have the following format. Field Data (hex) Field Name Description 28 Begin PnP “(“ indicates PNP IDs will
follow 01,24 Pnp Rev Identifies PnP version 1.0 45,4B,41 EISA ID “EKA” MagTek manufacturer
ID 30,30,30,42 Product ID “000B” IntelliStripe 320
product ID 29 End PnP “)” indicates PnP IDs
complete
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 08 01 00 03 01 00 (false)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
75
IntelliStripe 320 Command Reference

USB PRODUCT PROPERTY

Property ID: 02 (Hex) Property Type: String Maximum Length: 64 (including terminating zero) Power Up/Reset Value: 49 6E 74 65 6C 6C 69 53 74 72 69 70 65 20 33 32 30 00 (“IntelliStripe
320”)
Get/Set/Save support: All Description:
This property is the USB product. The USB product is reported to the host in the USB product string descriptor during USB device enumeration.
MagTek’s MCP USB driver uses the USB product as part of the device instance name. For example, if a device has no serial number and it’s USB product is set to “IntelliStripe 320” then it’s device instance name will be “IntelliStripe 320”. If it has serial number “123”, its device instance name will be “IntelliStripe 320.123”. See the host communications application’s USB serial number property for more information.
After setting the USB product to a new value, the USB product needs to be saved with the save property command and then the device needs to be power cycled or reset before the new USB product value is used as the USB product string descriptor. If MagTek’s MCP USB driver is being used, it needs to be closed and then opened using the new device instance name before communicating further.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 08 01 00 02 02
Field PVAL
Byte 7 - 23 Value (Hex) 49 6E 74 65 6C 6C 69 53 74 72 69 70 65 20 33 32 30 00 (“IntelliStripe
320”)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
76
Section 9. Host Communications Application

MCP ERROR RECOVERY ENABLE PROPERTY

Property ID: 03 (Hex) Property Type: Boolean Power Up/Reset Value: 01 (hex) (True) Get/Set/Save support: All Description:
This property enables or disables the MCP error recovery feature. This feature is enabled if this property is set to 1 (true) or disabled if this property is set to 0 (false).
Disabling this property will greatly reduce the development effort required to implement the MCP protocol. In fact, disabling this property will reduce the protocol to simply sending and receiving I-frames with the exception of the optional auto baud synchronization S-frame sequence. However, disabling this property will also disable the error recovery feature of the protocol. The error recovery feature of the protocol allows the protocol to automatically recover from minor communication channel problems without requiring intervention from the application layer. Users that have reliable communications channels do not need the error recovery feature, so most users do not require this feature. Users that are writing their own MCP USB drivers are encouraged to disable this property to help simplify the driver development effort. If this property is disabled and it is not made non-volatile by using the Save property command, then this property should be set as the first I-frame sent to the device after power up to avoid having to implement any of the error recovery aspects of the protocol.
Disabling this property will change the following aspects of the MCP protocol from the devices perspective.
The protocol will no longer automatically recover from minor communications channel
problems.
The device will no longer check the send and receive sequence numbers received from
the host. The host is no longer required to maintain these sequence numbers. They can always be set to zero.
The device will no longer require the host to acknowledge I-frames that it sent. The
device will assume that the host received the I-frame correctly. The host is no longer required to send R-frames. The device will never send the host a polling R-frame. The block wait timeout (BWT) is no longer used. The device will no longer send the host an R-frame if takes longer than 250ms (BWT) to begin sending a response I-frame due to a request I-frame (command) that takes some time to complete.
The device will no longer require the host to establish a connection by sending a
RESYNC S-frame request. The device will be ready to accept I-frames as soon as baud synchronization is completed.
The device will still enforce the protocols character wait timeout (CWT) and so should the host. This is required to reset the nodes receive handler in case of an error. The host should still enforce a 5 second message response timeout so that it can detect and handle errors.
77
IntelliStripe 320 Command Reference
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 08 01 00 03 03 01 (true)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
78
Section 9. Host Communications Application

MCP EDC CHECK ENABLE PROPERTY

Property ID: 04 (Hex) Property Type: Boolean Power Up/Reset Value: 01 (hex) (True) Get/Set/Save support: All Description:
This property enables or disables MCP EDC (error detection code) checking. This feature is enabled if this property is set to 1 (true) or disabled if this property is set to 0 (false). Disabling this property will cause the device to no longer check the header EDC and the frame EDC for R­frames and S-frames. This property has no affect on the I-frame EDC checking because this is controlled by the I-frames PCB field. When this property is disabled, the EDC fields are still required, however they can be set to any value.
Disabling this property will simplify the protocol a bit, but it will also reduce the error detection/recovery feature of the protocol. This property can be useful when sending commands to the device manually so that the EDC does not have to be calculated manually. This property can also be useful during MCP protocol driver development.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 08 01 00 03 04 01 (true)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
79
IntelliStripe 320 Command Reference

MCP AUTO BAUD ENABLE PROPERTY

Property ID: 05 (Hex) Property Type: Boolean Power Up/Reset Value: 01 (hex) (True) Get/Set/Save support: All Description:
This property enables or disables MCP auto baud synchronization. This feature is enabled if this property is set to 1 (true) or disabled if this property is set to 0 (false). When this property is disabled, the device will no longer require the host to perform the auto baud synchronization sequence. Instead, the device will use the fixed baud rate specified by the host communication applications fixed baud rate property. After changing this property, the property will also need to be saved in non-volatile memory (Save property command) and the device will need to be power cycled or reset before the change will take affect.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 08 01 00 03 05 01 (true)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
80
Section 9. Host Communications Application

FIXED BAUD RATE PROPERTY

Property ID: 06 (Hex) Property Type: Dword Power Up/Reset Value: 0a (hex) (57600 baud) Get/Set/Save support: All Description:
This property contains the value of the RS232 interfaces fixed baud rate. The MCP protocol does not use this property unless its host communications applications MCP auto baud enable property is set to false. After changing this property, the property will also need to be saved in non-volatile memory (Save property command) and the device will need to be power cycled or reset before the change will take affect.
Values:
Value (hex) Baud Rate 05 9600 06 14400 07 19200 08 28800 09 38400 0A 57600 0B 115200
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 08 01 00 01 06
Field PVAL
Byte 7 - 10 Value (Hex) 0a 00 00 00 (57600 baud)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
81
IntelliStripe 320 Command Reference

RESET DETECTED PROPERTY

Property ID: 07 (Hex) Property Type: Boolean Power Up/Reset Value: 01 (hex) (True) Get/Set/Save support: Get/Set Description:
This property can be used to determine if the device has been reset. To use this property, first set it to false, then monitor it periodically, if its value changes to true, then the device has been reset.
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID PVAL
Byte 1 2 3 4 5 6 7 Value (Hex) 00 08 01 00 03 07 00 (false)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
82
Section 9. Host Communications Application

PROTOCOL PROPERTY

Property ID: 08 (Hex) Property Type: Dword Power Up/Reset Value: 00 (hex) (MCP) Get/Set/Save support: All Description:
This property contains the value of the communications protocol used by this device. The communications protocol is independent of the communications interface that is used. For example, both the RS232 and USB interfaces can use any protocol. After changing this property, the property will also need to be saved in non-volatile memory (Save property command) and the device will need to be power cycled or reset before the change will take affect.
Values:
Value (hex) Protocol 00 MCP 01 ASCII Hex
MCP Protocol:
This binary protocol is described in MagTek’s MCP Serial Transport Protocol reference manual, part number 99875163. This is the default protocol used by this device. MagTek’s MCP Windows Driver for the RS232 and USB interfaces uses this protocol. This protocol is rather complicated, however, it can be extremely simplified by adjusting some of the other properties found in this application such as the Error Recovery Enable property.
ASCII Hex Protocol:
This is a very simple ASCII based protocol. This protocol is very simple to implement. For the RS232 interface, a terminal emulation application such as Window’s HyperTerminal can be used to communicate to the device using this protocol. USB drivers can be designed to use this protocol if they follow the pipe structure described in the USB section of MagTek’s MCP Serial Transport Protocol reference manual, part number 99875163. Since this is an ASCII based protocol used to send Binary data, it is twice as slow as the binary MCP protocol because it requires twice as many bytes to be sent.
Only the following ASCII characters are valid for this protocol. All other characters will be ignored by the device.
83
IntelliStripe 320 Command Reference
Value (Hex) Code/Char 0D Carriage Return <CR> 18 Cancel <CAN> 30-39 1-9 41-46 A-F a-f a-f
Command requests should be sent to the device as they are defined in this manual followed by a carriage return. Each binary byte should be sent as two ASCII hex characters. For example, the binary byte 5A (hex) should be sent as the two ASCII characters 5 (35 hex) and A (41 hex). The device will send Command responses and notification messages to the host as they are defined in this manual followed by a carriage return. The device will only send upper case letters A thru F. The host is free to also send lower case a thru f in addition to upper case A thru F.
The device is also free to send the cancel character (18 hex) at anytime to cancel anything that may be in the devices receive buffer prior to sending the carriage return. However, this cannot be used to cancel a command that is in progress. The host should wait at least 50ms before sending anything else to the device after sending this cancel character. The device will not respond to the cancel character. The cancel character could be useful when the host application first starts or after a communications error occurs to make sure that the device is in a known state.
If the device is using the ASCII protocol, the host would send the following sequence of bytes (in hex) to send the following example request: 30 30 30 38 30 31 30 30 30 31 30 38 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0D
If the device is using the ASCII protocol the device would send the following sequence of bytes (in hex) to send the following example response: 34 30 30 38 30 31 30 30 0D
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 08 01 00 01 08
Field PVAL
Byte 7 - 10 Value (Hex) 00 00 00 00 (MCP)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 08 01 00
84
SECTION 10. OTI SCI 1000 CONTACTLESS SMART CARD
APPLICATION
Application ID: 0E (Hex) Description:
This application deals with communications with the OTI module. This module supports MasterCard-PayPass™, Visa-Wave™ , AMEX-ExpressPay™, Discover and Mifare cards.

GET/SET/SAVE PROPERTY COMMANDS

Get Property Command ID: 00 (Hex) Set Property Command ID: 01 (Hex) Save Property Command ID: 02 (Hex) Description:
These commands are used to retrieve and set the value of application properties. Details of these commands are described in the Generic Command Section of this document. The following describes each property this application supports.

NOTIFY CONTACTLESS MAGSTRIPE PROPERTY

Property ID: 00 (Hex) Property Type: Boolean
Power Up/Reset Value: 1 (ON) Get/Set support: Both Description:
If the Notify Contactless Magstripe state is set to ON, then a notification message will be sen t to the host when a Contactless Smart Card enters the operating field.
Values:
Value Notify Answer To Request State
0 OFF 1 ON
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 0E 01 00 03 00
Field PVAL
Byte 7 Value (Hex) 01 (NOTIFY ANSWER TO REQUEST STATE - ON)
85
IntelliStripe 320 Command Reference
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 0E 01 00
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 0E 00 00 03 00
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 0E 00 00 03 00
Field PVAL
Byte 7 Value (Hex) 01 (NOTIFY ANSWER TO REQUEST STATE - ON)

CONTACTLESS AUTOMATIC RF CONTROL PROPERTY

Property ID: 01 (Hex) Property Type: Boolean
Power Up/Reset Value: 0 (OFF) Get/Set support: Both Description:
Due to close proximity of the antenna to the magnetic stripe read head, the RF field can prevent magnetic stripe data from being read correctly. The RF can be turned off automatically by the reader when reading magnetic stripe data in the withdrawal direction. This only works when the transport application MSR direction property is not set to non-directional. When the Contact­less Automatic RF Control state is set to ON, the RF is automatically turned OFF just prior to withdrawing a card, after the card withdrawal completes, the RF will be turned back ON. If a card is partially inserted and pulled back out of the reader, the RF will turn OFF and after a timeout, will turn back ON.
The reader is not capable of automatically turning the RF off prior to a card insertion. However, this can be done manually by the host by using the RF OFF and RF ON commands to make sure the RF does interfere with a read on insertion.
If a command is sent to the reader to turn RF OFF, then the automatic control of the RF will also be disabled until a command turning ON the RF is received.
86
Section 10. OTI SCI 1000 Contactless Smart Card Application
Values:
Value AUTOM ATIC RF CONTROL PROPERTY
0 OFF 1 ON
Example Set Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 0E 01 00 03 01
Field PVAL
Byte 7 Value (Hex) 01 (AUTOMATIC RF CONTROL - ON)
Example Set Property Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 0E 01 00
Example Get Property Request:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 00 0E 00 00 03 01
Example Get Property Response:
Field MTYP APPL CMND RC PTYP PID
Byte 1 2 3 4 5 6 Value (Hex) 40 0E 00 00 03 01
Field PVAL
Byte 7 Value (Hex) 01 (AUTOMATIC RF CONTROL – ON)

Auto Mode

The contactless module is always in Auto Mode and will automatically read the card’s equivalent magnetic stripe data when it comes within reading range. The reader will also sound a buzzer when the contactless card data is successfully read. This data is also sent to the host automatically.
87
IntelliStripe 320 Command Reference

Example Notification Sequence

On the assumption that the Notify Contactless Magstripe Property is ON, the application will send the message when a contactless card comes into the operating field.
Contactless Magstripe Notification message for Paypass, Visa Wave, ExpressPay and Discover:
On a successful read:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 80 0E 00 00
Field DATA
Byte 5 – up to 124 (Variable Length) Value (Hex) DF 23 (LEN) (Track 1 Data) DF 22 (LEN)
(Track 2 Data)
Contactless Magstripe Notification message for Mifare:
On a successful read:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 80 0E 00 00
Field DATA
Byte 5 – up to 124 (Variable Length) Value (Hex) DF 0D (LEN) (UID)
Notes:
(1) DF 23 is the header for Track 1 (2) DF 22 is the header for Track 2 (3) LEN number of bytes available for Track 1 or Track 2. (4) For Track 2 data, 2 characters are sent using one byte, the application software will have
to convert each character into two bytes.
(5) DF 0D id the header for a Mifare Card’s UID. See appendix D to read Mifare cards.
88
Section 10. OTI SCI 1000 Contactless Smart Card Application

RF ON Command

Command ID: 84 (Hex) Description:
This command is used to turn the RF field ON.
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 0E 84 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 0E 84 00

RF OFF COMMAND

Command ID: 85 (Hex) Description:
This command is used to turn the RF field OFF. When this command is accepted by the reader, the automatic control of the RF will also be disabled
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 0E 85 00
Example Response:
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 40 0E 85 00
89
IntelliStripe 320 Command Reference

SENDING OTI MODULE TRANSPARENT COMMANDS

Command ID: 81 (Hex) Description:
This command is used to send additional commands to the OTI module through the IntelliStripe 65 interface.
Request Message Data: None Response Message Data: None Response Message Result Codes:
Success = 00 (Hex)
The command completed successfully.
Example Request:
This example sends the command to the OTI module to POLL and activate once.
Field MTYP APPL CMND RC
Byte 1 2 3 4 Value (Hex) 00 0E 81 00
Field DATA
Byte 5 – 10 Value (Hex) 00 3E DF 7E 01 03
Example Response:
Field MTYP APPL CMND RC DATA
Byte 1 2 3 4 5 7 Value (Hex) 40 0E 81 00 3E 00 00
90

APPENDIX A. EXAMPLE HOST APPLICATION

The following is an example of a very simple host application that uses the IntelliStripe 320 command set to read a magnetic stripe and communicate to a smart card. This example would not be used as a real application because it has no error handling. It is intended only to be used as a demonstration of how the command set can be used to build an application.
The steps are as follows:
1. Initialize device by setting MSR Direction transport property to Consume and setting Auto
Consume transport property to Enabled.
2. Wait for a card to be consumed completely into the reader. Check Rear Card Present
indicator inside a loop until it is set. The Rear Card Present indicator is obtained by issuing the Get Indicators transport property. For error handling, also check for the following case inside the loop. If the Auto Transporting indicator is clear and the Middle Card Present Indicator is set but the Rear Card Present indicator is not set then a card is stuck in the transport so go to step 5.
3. Issue the Get Track 123 Decode Data magnetic stripe command to get the magnetic stripe
data.
4. Perform any required smart card communications.
5. Issue the Card Eject transport command to eject the card.
6. Go to step 2 to read another card.
91
IntelliStripe 320 Command Reference
92

APPENDIX B. MEMORY CARD SUPPORT

This appendix defines the commands needed to control supported Memory Cards

SLE 4442/4432 MEMORY CARD CONTROL

This section defines the commands needed to control the SLE 4442 and 4432 card types. It is assumed that the user has access to the manufacturer’s specifications for this type of card.
According to Siemens, this card is divided into “Memories” which each have different uses. The word Memory as used in this section (always starting with uppercase M) should be interpreted as one of the Memories defined by Siemens. For command purposes we equate each Memory with a Short File ID (read about this in ISO 7816-4 if you like). The Short File IDs are:
00 – Main Memory
01 – Security Memory (4442 only) 04 – Protection Memory

Properties

With the addition of the SLE 4442/4432 support come a few properties the user may need access to. If the cards you are using are true SLE 4442/4432 cards, you should not need to manipulate these properties. If you are using a clone with a different mapping, you may need to change these properties.
Name ID
(Hex)
4442­ByteSizeMain
4442­ByteSizeSec
4442­ByteSizeProt
A0 Binary 2 256 Get/Set Gives the size of Main
A1 Binary 1 4 Get/Set Gives the size of Security
A2 Binary 1 32 Get/Set Gives the size of Protection
Type Length Reset
Value
Get/Set
/Save
Description
Memory in bytes. Reads and Writes to Main Memory will be screened to assure they stay within these limits.
Memory (4442 only). All commands directed to this Memory will be screened to assure they stay within these limits.
Memory. Reads and Writes to Main Memory will be screened to assure they stay within these limits.
93
IntelliStripe 320 Command Reference

Power Up

The Power Up command is issued as with Microprocessor cards and can get same Result Codes. When the Result Code indicates an Error or Warning, the Primary Status of the CondRpt Property will never be 0x03.

APDU Exchange Command

The APDU Exchange Command is used to control logical operations of the card between Power Up and Power Down. The APDU is issued as with Microprocessor cards. The Result Codes are the same as for Microprocessor cards. When the Result Code indicates an Error or Warning, the Primary Status of the CondRpt Property will never be 0x03.
Two SW1/SW2 Status Codes may apply to any APDU:
SW1/SW2 Meaning
6E00 CLA Not Supported 6D00 INS Not Supported

Read Binary APDUl:

Command APDU:
CLA INS P1 P2 Le
00 B0 Adr1 Adr0 Len
CLA is always 00 INS is always B0 P1 is upper byte of address as follows: 80 reads Main Memory (Short File ID 0) 81 reads Security Memory (Short File ID 1) (SLE 4442 only) 84 reads Protection Memory (Short File ID 4) P2 is lower byte of address within the requested Memory Le is the number of bytes to read, 0-256, 0 indicates 256 bytes
Response APDU:
Data Field (from card) SW1 SW2
When reading from the Protection Memory, the high order bit of the first data byte returned represents the protection state of byte 0 in the Main Memory. The low order bit of the first data byte returned represents the protection state of byte 7, etc.
94
Loading...