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”
properties, acquiring MagnePrint, adjusting sensor timing for
eject, enabling power fail eject, controlling the buzzer, and
adjusting host communication properties
Data Field.............................................................................................................................................4
Power Up............................................................................................................................................94
Power Up............................................................................................................................................97
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.
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.
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.
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.
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
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.
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:
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
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
Loading...
+ 100 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.