Beruflich Dokumente
Kultur Dokumente
MS246
Magnetic Stripe Reader
80096504-001
Rev C 05/02/11
Page 2 of 61
Page 3 of 61
Page 4 of 61
Page 5 of 61
1. Introduction
The Unitech MS246 is an intelligent, programmable magnetic stripe reader that provides a
wide range of functionality and value in a convenient package size. The entire unit is just
100mm long, about the length of a credit card. It reads up to three tracks of information
with a single swipe in either direction, and has a beeper and three-color LED indicator to
signal a successful read. The MS246 is programmable so that the data format and
intelligent interface output can be programmed & configured to match application and
communication requirements.
Page 6 of 61
Page 7 of 61
4. Applicable Documents
ISO 7810 1985
ISO 7811 - 1 through 6
ISO 7816 - 1 through 4
ISO 4909
ISO 7812
ISO 7813
ANSI X.94
Page 8 of 61
5. Operation
A card may be swiped through the reader slot when the LED is green. The magnetic
stripe must face toward the magnetic read head and may be swiped in either direction.
After a card is swiped, the LED will turn off temporarily until the decode process is
completed. If there are no errors decoding the card data then the LED will turn green. If
there are any errors decoding the card data, the LED will turn red for less than one second
to indicate that an error occurred and then turn green.
The beeper also provides error indication. The beeper will beep for each correctly read
track of data on the magstripe card. Depending on the security level configured, the card
data might be displayed in clear or encrypted mode.
Page 9 of 61
6. Specification
Power Consumption
Swipe speed
Indicators
Tri-color LED:
o Red indicates a bad read.
o LED is off while reading and decoding.
o Green indicates a good read and ready to read.
Beeper:
o A beep sound indicates a good read.
Communication Interface
USB:
o Complies with USB 2.0 specification.
Card Size
Supports cards that meet the ISO 7810 and 7811 1-7 standards.
Dimension
USB interface:
o Standard USB interface cable.
o Series A plug.
o Standard cable length is 6 feet.
o Pin Out Table:
J1
Color
Signal
1
CASE_GND
3
GRN
+DATA
P1
SHELL
3
Page 10 of 61
Red
White
BLK
V_IN
-DATA
GND
1
2
4
LED indicator
Page 11 of 61
7. Command Process
Command requests and responses are sent to and received from the device. For USB
interface devices, the commands are sent to the device using HID class specific request
Set_Report (21 09 ). The response to a command is retrieved from the device using
HID class specific request Get_Report (A1 01 ). These requests are sent over the
default control pipe. For RS232 interface devices, please see the commands listed below.
Function ID Table:
The complete table of Function ID used in command/response are listed in Appendix A.
Setting Command:
The setting data command is a collection of many function setting blocks and its
format is as follows.
Command:
<STX><S><FuncSETBLOCK1><FuncBLOCKn><ETX><LRC>
Response: <ACK> or <NAK> for wrong command (invalid funcID, length and
value)
Each function-setting block <FuncSETBLOCK> has following format:
<FuncID><Len><FuncData>
Where:
<FuncID> is one byte identifying the setting(s) for the function.
<Len> is the length count for the following function-setting block <FuncData>.
<FuncData> is the current setting for this function. It has the same format as in
the sending command for this function.
Get Setting Command:
This command will send current setting to application.
Command: <STX> <R> <FuncID> <ETX> <LRC 1>
Response: <ACK> <STX> <FuncID> <Len> <FuncData> <ETX> <LRC 2>
<FuncID>, <Len> and <FuncData> definition are the same as described above.
Where:
Characters
<STX>
<ETX>
<ACK>
<NAK>
Hex Value
02
03
06
15 for
Description
Start of Text
End of Text
Acknowledge
Negative Acknowledge
Page 12 of 61
<UnknownID>
<AlreadyInPOS>
RS232 and
USB HID
interface;
FD for USB
KB interface
16
17
<R>
<S>
<LRC>
52
53
-
49
Reader Reset
4D
P
Q
R
S
50
51
52
53
Arm/Disarm to Read
Read Buffered Data
Read MSR Options
Set MSR Options
Use
Requests readers copyright notice
Requests version string
Special command to load encryption
keys
Reset the reader. Software reset does
not resend startup string
Command to enter OPOS or JPOS
mode
Arm to Capture Buffer Mode MSR
Read Stored MSR Data
Read various reader optional settings
Set various reader optional functions
Page 13 of 61
Page 14 of 61
Page 15 of 61
Page 16 of 61
Page 17 of 61
Page 18 of 61
Page 19 of 61
7.9.10.Track Selection
There are up to three tracks of encoded data on a magnetic stripe.
This option selects the tracks that will be read and decoded.
02 53 13 01 <Track_Selection Settings> 03 LRC
<Track_Selection Settings>
0 = Any Track.
1 = Require Track 1 Only.
2 = Require Track 2 Only.
3 = Require Track 1 & Track 2.
4 = Require Track 3 Only.
5 = Require Track 1 & Track 3.
6 = Require Track 2 & Track 3.
7 = Require All Three Tracks.
8 = Any Track 1 & 2.
9 = Any Track 2 & 3.
Note: If any of the required multiple tracks fail to read for any reason, no data for
any track will be sent.
Copyright 2011, Unitech America Inc. All rights reserved.
Page 20 of 61
Page 21 of 61
8. Data Format
The USB version of the reader can be operated in two different modes:
- HID Unitech mode (herein referred to as HID mode), Product ID: 2010.
- HID with Keyboard Emulation (herein referred to as KB mode), Product ID: 2030.
When the reader is operated in the HID mode, it behaves like a vendor defined HID
device. A direct communication path can be established between the host application and
the reader without interference from other HID devices.
Page 22 of 61
Encode Type
ISO/ABA
AAMVA
Other
Raw
Description
ISO/ABA encode format.
AAMVA encode format.
The card has a non-standard format. For
example, ISO/ABA track 1 format on track
2.
The card data is sent in Raw encrypted
format. All tracks are encrypted and no
mask data is sent.
T1, T2 or T3 data: The length of each track data field is fixed at 110 bytes, but
the length of valid data in each field is determined by the track data length field
that corresponds to the track number. The track data includes all data string
starting with the start sentinel and ending with the end sentinel.
Unitech Reader Data Structure
Offset
Usage Name
0
T1 decode status
1
T2 decode status
2
T3 decode status
3
T1 data length
4
T2 data length
Page 23 of 61
Value
12
01
00 02
00
00
00
08
0A CD
20 10
20 20
20 30
00 01
01
02
00
01
Description
USB 2.0
Unused
Unused
Unused
HID Unitech Structure
HID Other Structure
HID Keyboard
Configuration Descriptor:
Field
Length
Des type
Total Length
No. Interface
Configuration Value
Value
09
02
22 00
01
01
Description
Page 24 of 61
00
80
32
Interface Descriptor:
Field
Length
Des type
Interface No.
Alternator Setting
# EP
Interface Class
Sub Class
Interface Protocol
iInterface
Value
09
04
00
00
01
03
01
01
00
Description
Value
09
21
11 01
00
01
22
37 00
3D 00
52 00
Description
Value
07
05
83
03
40 00
01
Description
HID
HID Descriptor:
Field
Length
Des type
bcdHID
Control Code
numDescriptors
DescriptorType
Descriptor Length
HID
Number of Class Descriptors to follow
Report Descriptor
HID Unitech format
HID Other format
HID Keyboard format
End Point
EP3 In
Interrupt
Page 25 of 61
Description
Usage Page (MSR)
Usage(Decoding Reader Device)
Collection (Application)
Logical Minimum
Logical Maximum
Report Size
Usage (Tk1 Decode Status)
Usage (Tk2 Decode Status)
Usage (Tk3 Decode Status)
Usage (Tk1 Data Length)
Usage (Tk2 Data Length)
Usage (Tk3 Data Length)
Usage (Card Encode Type)
Report Count
Input (Data,Var,Abs,Bit Field)
Usage (Total Sending Length)
Report Count (2)
Input (Data, Var, Abs, Bit Field)
Usage (Output Data)
Report Count (512 + 16 )
Input (Data, Var, Abs, Bit Field)
Usage (Command Message)
Report Count
Feature (Data,Var, Abs, Buffered Bytes)
End Collection
Description
Usage Page (Generic Desktop)
Usage(Keyboard)
Collection (Application)
Usage Page (Key Codes)
Usage Minimum
Usage Maximum
Copyright 2011, Unitech America Inc. All rights reserved.
Page 26 of 61
Logical Minimum
Logical Maximum
Report Size
Report Count
Input (Data,Variable,Absolute)
Report Count (1)
Report Size
Input Constant
Report Count
Report Size
Usage Page (LED)
Usage Minimum
Usage maximum
Output(Data Variable Absolute)
Report Count
Report Size
Output (Constant)
Report Count
Report Size
Logical Minimum
Logical Maximum (102)
Usage Page (key Code)
Usage Minimum
Usage Maximum (102)
Input(Data, Array)
Usage Page (UNITECH)
Report Count
Logical maximum (255)
Logical Minimum
Report Size (8)
Usage (Setup data byte)
Report Count (8)
Feature (Data Var, Abs)
End Collection
Page 27 of 61
Name
Right Shift
Left Shift
Right Ctrl
Left Ctrl
Read Error 1
Read Error 2
Track x ID
Track x Error
Track x Length 1
Track x Length 2
Track Data (no extra
Track ID for raw data)
The data format is independent with MSR setting. There is no track x data if track x
sampling data does not exist.
OPOS header:
Only HID KB interface has [Right Shift, Left Shift, Right Ctrl, Left Ctrl] under
POS mode.
Read Error:
Read Error 1 byte bits:
MB
LB
0
B6
B5
B4
B3
B2
B1
B0
B0
1: Track 1 sampling data exists (0: Track 1 sampling data does not exist).
B1
1: Track 2 sampling data exists (0: Track 2 sampling data does not exist).
B2
1: Track 3 sampling data exists (0: Track 3 sampling data does not exist).
Copyright 2011, Unitech America Inc. All rights reserved.
Page 28 of 61
LB
B12
B11
B10
B9
B8
B7
B7
1: Track 4 sampling data exists (0: Track 4 sampling data does not exist).
B8
1: Track 4 JIS II decode success (0: Track4 JIS II decode fail).
B9, B10, B11
000: ISO Card (7, 5) or (7, 5, 5) encoding.
001: Old CADL Card (6, 5, 6) encoding (no longer included).
010: AAMVA Card (7, 5, 7) encoding.
011: JIS I Card (8, 5, 8) encoding.
100: JIS II card (8) or ISO+JIS II.
110: OPOS Raw Data Output.
111: JIS I + JIS II.
B12
Reserved for future use
Decode flag will set to 1 (B3, B4 and B5 all set to 1) in OPOS raw data mode.
Track ID
Track ID is a byte of ID, it will be '1', '2' and '3' for track 1, 2 and 3; it is not
accurate to use start sentinel to identify track.
Track x Error
Track x error is a byte of flags, it will be in format of: 0 0 1 b4, b3, b2 b1 b0
b0
1: Start sentinel error (0: Not start sentinel error).
b1
1: End sentinel error (0: Not end sentinel error).
b2
1: Parity error (0: Not parity error).
b3
1: LRC error (0: Not LRC error).
b4
1: Other error (0: Not other error).
Track x Error is set to 0x20 in OPOS raw data mode.
Track Length
Assume actual "Track x Data Length" is hex code xy; the Track x data length for
OPOS mode output will be hex code 3x, 3y.
Track x data length does not include the byte of "Track x data LRC", it is <30>
<30> in case of read error on track x.
Track Data
Card Track x LRC code is track x card data.
Page 29 of 61
Page 30 of 61
Page 31 of 61
STX
Data Length low byte
Data Length high byte
Card Encode Type1
Track 1-3 Status2
Track 1 data length
Track 2 data length
Track 3 data length
Clear/masked data sent status 3
Encrypted/Hash data sent status 4
Track 1 clear/mask data
Track 2 clear/mask data
Track 3 clear/mask data
Track 1 encrypted data
Track 2 encrypted data
Track 3 encrypted data
Session ID (8 bytes) (Security level 4 only)
Page 32 of 61
For Type 04 or 84 raw data format, all tracks are encrypted and no mask
data is sent. No track indicator 01, 02, or 03 in front of each track.
Track indicator 01,02, and 03 will still exist for non-encrypted mode.
Note 2: Track 1-3 status byte
Field 4:
Bit 0: 1 track 1 decoded data present.
Bit 1: 1 track 2 decoded data present.
Bit 2: 1 track 3 decoded data present.
Bit 3: 1 track 1 sampling data present.
Bit 4: 1 track 2 sampling data present.
Bit 5: 1 track 3 sampling data present.
Bit 6, 7 Reserved for future use.
Note 3: Clear/mask data sent status
Field 8 (clear/mask data sent status) and field 9 (encrypted/hash data sent
status) will only be sent out in enhanced encryption format.
Page 33 of 61
Page 34 of 61
Page 35 of 61
Page 36 of 61
Page 37 of 61
Page 38 of 61
8.6.1.
Page 39 of 61
Masked Data:
Track 1 data masked in ASCII:
%*4266********9999^BUSH JR/GEORGE
W.MR^*******************************?*
Track 2 data masked in ASCII:
;4266********9999=***************?*
Copyright 2011, Unitech America Inc. All rights reserved.
Page 40 of 61
8.6.2.
028501003F48236B252A343236362A2A2A2A2A2A2A2A393939395E42555348204A
522F47454F52474520572E4D525E2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2A3B343236362A2A2A2A2A2A2A2A3939
39393D2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2A3B3333333333333333333337
363736373630373037303737363736373633333333333333333333373637363736303730
373037373637363736333333333333333333333736373637363037303730373736373637
3633333333333333333333373637363736303730373F32ED9DB728814F150D177F769
B0441C52B2B1994C83D058F1DDA5DAA6753CF0F61BB7690C7E8A276D3D60651
3D1F8B79423C70594A0849CBB4C7B5A8DAC2B1A21B11F1C47EF4F12AC07D59A
79E9369372D3F906A7F6C6D2B9076BCF05B334441FAEC8B4EFBEB9DD20EBF97
B29D910C415FCEA8DA8FEB9775343418AC88F65E1DB7ED4D10973F99DFC8463F
F6DF113B6226C4898A9D355057ECAF11A5598F02CA31629949011900000000044B
6F03
Masked data:
Track 1: %*4266********9999^BUSH JR/GEORGE
W.MR^*******************************?*
Track 2: ;4266********9999=***************?*
Track 3:
;33333333337676760707077676763333333333767676070707767676333333333376767
607070776767633333333337676760707?2
Key Value: 8A 92 F6 74 00 BF 25 2E 57 9A A9 01 FF 27 48 41
Copyright 2011, Unitech America Inc. All rights reserved.
Page 41 of 61
8.6.3.
Example of decryption of a three-track ABA card with the enhanced encryption format.
The MS246 reader with default settings except enhanced encryption structure format:
Enhanced encryption format (this can be recognized because the high bit of the fourth
byte underlined (80) is 1.
029801803F48236B03BF252A343236362A2A2A2A2A2A2A2A393939395E42555348
204A522F47454F52474520572E4D525E2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2A3B343236362A2A2A2A2A2A2A2
A393939393D2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2ADA7F2A52BD3F6DD
8B96C50FC39C7E6AF22F06ED1F033BE0FB23D6BD33DC5A1F808512F7AE18D47
A60CC3F4559B1B093563BE7E07459072ABF8FAAB5338C6CC8815FF87797AE3A7
BEAB3B10A3FBC230FBFB941FAC9E82649981AE79F2632156E775A06AEDAFAF6
F0A184318C5209E55AD44A9CCF6A78AC240F791B63284E15B4019102BA6C50581
4B585816CA3C2D2F42A99B1B9773EF1B116E005B7CD8681860D174E6AD316A0E
CDBC687115FC89360AEE7E430140A7B791589CCAADB6D6872B78433C3A25DA9
DDAE83F12FEFAB530CE405B701131D2FBAAD970248A456000933418AC88F65E1
DB7ED4D10973F99DFC8463FF6DF113B6226C4898A9D355057ECAF11A5598F02C
A31688861C157C1CE2E0F72CE0F3BB598A614EAABB16299490119000000000206E
203
STX, length(LSB, MSB), card type, track status, length track 1, length track 2, length
track 3
02 9801 80 3F 48-23-6B 03BF
Copyright 2011, Unitech America Inc. All rights reserved.
Page 42 of 61
Page 43 of 61
Page 44 of 61
8.6.4.
02A001803F48236B03FF252A343236362A2A2A2A2A2A2A2A393939395E42555348
204A522F47454F52474520572E4D525E2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2A3B343236362A2A2A2A2A2A2A2
A393939393D2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F2A6D7D5B204D3579694
E148F3FB2565544D35825EA89BA30C966D34363151BF592F995EDA86B94A47EBF
DF6434CB3A075DDD18F616E21F1E2038BC3AD5F96C1387177BD89409DA2E92A
684543E007087F8694AEA8D3DB36BA10BC4D4B2771C622FEC8271A6E021AA564
4ED559EC09CABF19F36B422CA2016B48A7241B2DA9584ED4415B4F30637734CF
5031AF475DAF27C188A1A771264011BAA090E91893BC2A52EDD56F8E6E9554BC
0C5207C04E3C21B6DA2A48F2257DC6946DBFBC87F3189E5C8B954BF7303D01E4
43155911E4137AEAD52441567AA1D50924A7597EC9D758AB4F3A8E82BF81A2E3
418AC88F65E1DB7ED4D10973F99DFC8463FF6DF113B6226C4898A9D355057ECA
F11A5598F02CA31688861C157C1CE2E0F72CE0F3BB598A614EAABB16299490119
0000000003D67C03
Clear/masked data:
Track 1: %*4266********9999^BUSH JR/GEORGE
W.MR^*******************************?*
Track 2: ;4266********9999=***************?*
Key Value: 89 52 50 33 61 75 51 5C 41 20 CF 45 F4 1A BF 1C
KSN: 62 99 49 01 19 00 00 00 00 03
Session ID: AA AA AA AA AA AA AA AA
Decrypted data in ASCII:
%B4266841088889999^BUSH JR/GEORGE
W.MR^0809101100001100000000046000000?!
;4266841088889999=080910110000046?0
Copyright 2011, Unitech America Inc. All rights reserved.
Page 45 of 61
Page 46 of 61
Page 47 of 61
Page 48 of 61
Page 49 of 61
Appendix A
The following is a table of default settings and available settings (value within
parentheses) for each function ID.
Function ID
Hex
Description
HTypeID*
10
Terminal
Type
BeepID
11
Beep Setting
2 (0~4)
ChaDelayID
*
Track
SelectID
12
Character
Delay
Track
Selection
0 (0~5)
Polling
IntervalID
DataFmtID
14
1 (1 ~ 255)
0 (0~2)
Unitech Format
FmtOptionID
16
H59
TrackSepID
17
Polling
Interval
Data Output
Format
UIC, MagTek
Track
Separator
Send
OptionID
19
Send Option
MSRReading
ID
1A
MSR Reading
1 (0~F)
5 for Port
Powered IV
1 (0~2)
DTEnable
SendID*
Decoding
MethodID
1B
DT Enable
Send
Decoding
Direction
ReviewID
1F
Terminator
ID
21
13
15
1D
Review All
Settings
Terminator
Default
Setting
'0'
(0~2,'4'~'6'
)
0 (0~9)
CR/Enter
0 for Port
Powered IV
Description
PC/AT, Scan Code Set 2,
1, 3, PC/AT with external
keyboard and PC/AT
without external keyboard
Beep volume high
and frequency high
2 ms inter-character delay
Decoding in both
direction; 0 raw data, 2
forward, 3 reverse
None
CR/Enter
Page 50 of 61
22
Firmware
Version
USB HID Fmt 0
(0,1,8)
USBHIDFmt
ID
23
ForeignKB
ID
SecureKeyID
*
ArmtoRead
ID*
ReaderReset
ID*
Track1Prefix
ID
Track2Prefix
ID
Track3Prefix
ID
Track1Suffix
ID
Track2Suffix
ID
Track3Suffix
ID
LZ1ID*
LZ2ID*
LZ3ID*
LZ4ID*
EpVerID*
BaudID
24
Foreign KB
25
Obsolescent
encryption
@ (0x200x7F)
3C
3D
3E
3F
40
41
Baud Rate
0xD
0xD
0xD
0xD
None
5 (2~9)
DataID
42
Data Bit
0 (0~1)
ParityID
HandID
43
44
Data Parity
Hand Shake
0 (0~4)
0 (0~1)
StopID
XOnID
45
47
XOffID
48
Stop Bit
XOn
Character
XOff
Character
u
r
No simple encryption
30
32
None
34
Track 1 Prefix 0
35
Track 2 Prefix 0
36
Track 3 Prefix 0
37
Track 1 Suffix 0
38
Track 2 Suffix 0
39
Track 3 Suffix 0
0 (0~1)
DC1
DC3
0x13 as XOff
Page 51 of 61
s
s
s
s
s
49
PostPANID
4A
MaskCharID
4B
CrypTypeID
4C
OutputMode
ID
Serial
NumberID
DispExpDate
ID,
4D
CapsCaseID*
DataSeqID*
StartCharID*
SessionID
51
52
53
54
Mod10ID
55
DesKeyID
56
AesKeyID
57
KeyManage
TypeID
T1GENERIC
FMTID*
T2GENERIC
FMTID*
T3GENERIC
FMTID*
HashOptID,
58
HexCaseID,
LRCID
4E
50
PAN to not
mask
PAN to not
mask
Mask the
PAN with this
character
Encryption
type
Std, OPOS or
JPOS
Device serial
#
Mask or
display
expiration
date
4 (0-6)
* 20-7E
1 (1-2)
1 3DES 2 AES
Standard mode
any 8 bytes
'0''0'-'1'
4 (0-4)
None
None
None
None
'0' '0'-'2'
0
0
1(0-1)
59
None
5A
None
5B
None
5C
'3' (0-7)
5D
60
'0' (0-1)
0 (0~1)
LRC
character
k
Without LRC in output
Page 52 of 61
61
62
Track 1, 7 Bit
Start Char
T1, 6B Start
T16BStartID
T15BStartID
63
T1, 5B Start
T27BStartID
64
Track 2, 7 Bit
Start Char
T25BStartID
65
T2, 5BStart
%
; for Port
Powered IV
;
T37BStartID
66
Track 3, 7 Bit
Start Char
T36BStartID
67
T3, 6BStart
T35BStartID
68
T3, 5BStart
T1EndID
69
T2EndID
6A
T3EndID
6B
T1ERRSTA
RTID
T2ERRSTA
RTID
T3ERRSTA
RTID
T4ERRSTA
RTID*
BootloaderID
*
T344EndID*
T28BStartID
6C
Track 1 End
Sentinel
Track 2 End
Sentinel
Track 3 End
Sentinel
Track 1 error
code
Track 2 error
code
Track 3 error
code
T38BStartID
EquipFwID
73
77
BeepOffCom
ID*
7A
6D
6E
6F
70
71
72
Boot Loader
Mode
%
+ for Port
Powered IV
!
+ for Port
Powered IV
;
+ for Port
Powered IV
?
'?'
? as End Sentinel
'?'
? as End Sentinel
;
+
None
None
None
0
JIS T12
SS/ES
JIS T3 SS/ES 0
Feature option 0-7
setting
Turn off Beep 0
Reader firmware
configuration
Page 53 of 61
n
r
7B
Check for
0 (0-2)
track sync bits
ErrorZoneID
*
Security
LevelID
7C
Encrypt
OptID
84
Encryption
options
8 encrypt trk
3 if card type
0; (0-F)
EncryptStrID
85
'0'
MaskOptID
86
Encrypt
structure
Clear / mask
data options
WinCETestI
D*
PrefixID
PostfixID
AA
None
7E
D2
D3
0 key exhausted; 1
non-encrypted; 1 key
loaded non encrypted
3 encrypted; 4
Bit 0 encrypt trk1; bit 1
encrypt trk2; bit 3 encrypt
trk3; bit 4 encrypt trk3 if
card type 0
0 original; 1 enhanced
n
r
None
Preamble
Postamble
0
0
AddedFieldI FA
DE Added
0
D*
Field
SearchCmdI FB
DE Search
0
No search command
D*
Cmd
SendCmdID* FC
DE Send Cmd 0
No send command
*Unused entries in this table were left for completeness even though unused in the
MS246 reader to avoid conflicting definitions between products.
Note not all function ID are present in different hardware versions of the MS246. The last
column above has some codes:
- feature not currently supported; exists for compatibility.
s feature not available in the USB version.
u feature available only in the USB version.
k feature not available in the USB version.
r reset all does not affect this value.
n not directly settable.
Most function ID settings that relate to the content of formatting of the track output do
not work in secure mode. Exceptions to this are Preamble and Postamble in keyboard
mode only.
It is currently not possible to mix security with OPOS and JPOS support.
Page 54 of 61
Appendix B
For most characters, "Shift On" and "Without Shift" will be reversed if Caps Lock is on.
Firmware needs to check current Caps Lock status before sending out data.
For Function code B1 to BA, if "Num Lock" is not set, then set it and clear it after
finishing sending out the code.
For Function code BB to C2, C9 to CC, if "Num Lock" is set, then clear it and set it after
finishing sending out the code.
Keystroke
Ctrl+2
Ctrl+A
Ctrl+B
Ctrl+C
Ctrl+D
Ctrl+E
Ctrl+F
Ctrl+G
BS
Tab
Ctrl+J
Ctrl+K
Ctrl+L
Enter
Ctrl+N
Ctrl+O
Ctrl+P
Ctrl+Q
Ctrl+R
Ctrl+S
Ctrl+T
Ctrl+U
Ctrl+V
Ctrl+W
Ctrl+X
Ctrl+Y
Ctrl+Z
ESC
Hex
Value
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
Functional
Code
\bs
\tab
\enter
\esc
USB KB Code
1F Ctrl On
04 Ctrl On
05 Ctrl On
06 Ctrl On
07 Ctrl On
08 Ctrl On
09 Ctrl On
0A Ctrl On
2A
2B
0D Ctrl On
0E Ctrl On
0F Ctrl On
28
11 Ctrl On
12 Ctrl On
13 Ctrl On
14 Ctrl On
15 Ctrl On
16 Ctrl On
17 Ctrl On
18 Ctrl On
19 Ctrl On
1A Ctrl On
1B Ctrl On
1C Ctrl On
1D Ctrl On
29
Page 55 of 61
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
31 Ctrl On
30 Ctrl On
23 Ctrl On
2D Ctrl On
2C
1E Shift On
34 Shift On
20 Shift On
21 Shift On
22 Shift On
24 Shift On
34
26 Shift On
27 Shift On
25 Shift On
2E Shift On
36
2D
37
38
27 Shift On
1E Shift On
1F Shift On
20 Shift On
21 Shift On
22 Shift On
23 Shift On
24 Shift On
25 Shift On
26 Shift On
33 Shift On
33
36 Shift On
2E
37 Shift On
38 Shift On
1F
04 Shift On
05 Shift On
06 Shift On
07 Shift On
08 Shift On
Page 56 of 61
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
09 Shift On
0A Shift On
0B Shift On
0C Shift On
0D Shift On
0E Shift On
0F Shift On
10 Shift On
11 Shift On
12 Shift On
13 Shift On
14 Shift On
15 Shift On
16 Shift On
17 Shift On
18 Shift On
19 Shift On
1A Shift On
1B Shift On
1C Shift On
1D Shift On
2F
31
30
23 Shift On
2D Shift On
35
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
Page 57 of 61
PgUp
PgDn
Tab
bTab
Esc
Enter
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
\f1
\f2
\f3
\f4
\f5
\f6
\f7
\f8
\f9
\fa
\fb
\fc
\home
\end
\right
\left
\up
\down
\pgup
\pgdn
\tab
\btab
\esc
\enter
13
14
15
16
17
18
19
1A
1B
1C
1D
2F Shift On
31 Shift On
30 Shift On
35 Shift On
2A
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
4A
4D
4F
50
52
51
4B
4E
2B
2B Shift On
29
28
Page 58 of 61
99
9A
9B
9C
9D
9C
9F
A0
A1
A2
A3
A4
A5
\num_enter
\del
\ins
\bs
\sp
\ps
\ctr1
\ctr2
\ctr3
\l_ctrl_bk
\l_ctrl_mk
\l_shift_bk
\l_shift_mk
Left_Windows
Left_Alt_Break
Left_Alt_Make
Right_Ctrl_Break
Right_Ctrl_Make
Right_Shift_Break
Right_Shift_Make
A6
A7
A8
A9
AA
AB
AC
\l_windows
\l_alt_bk
\l_alt_mk
\r_ctrl_bk
\r_ctrl_mk
\r_shift_bk
\r_shift_mk
Right_Windows
Right_Alt_Break
Right_Alt_Make
Num_Lock
Num_0
Num_1
Num_2
Num_3
Num_4
Num_5
Num_6
Num_7
Num_8
Num_9
Num_Home
Num_PageUp
Num_PageDown
Num_End
AD
AE
AF
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
\r_windows
\r_alt_bk
\r_alt_mk
\num_lock
\num0
\num1
\num2
\num3
\num4
\num5
\num6
\num7
\num8
\num9
\num_home
\num_pgup
\num_pgdn
\num_end
58
4C
49
2A
2C
48
2F Ctrl On
30 Ctrl On
31 Ctrl On
Clear Ctrl Flag
Set Ctrl Flag for following char(s)
Clear Shift Flag
Set Shift Flag for following
char(s)
E3 (left GUI)
Clear Alt Flag
Set Alt Flag for following char(s)
Clear Ctrl Flag
Set Ctrl Flag for following char(s)
Clear Shift Flag
Set Shift Flag for following
char(s)
E7 (right GUI)
Clear Alt Flag
Set Alt Flag for following char(s)
53
62 Num Lock On
59 Num Lock On
5A Num Lock On
5B Num Lock On
5C Num Lock On
5D Num Lock On
5E Num Lock On
5F Num Lock On
60 Num Lock On
61 Num Lock On
5F
61
5B
59
Page 59 of 61
BF
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
D0
\num_up
\num_right
\num_down
\num_left
\prt_sc
\sysrq
\scroll
\menu
\break
\caps_lock
\num_/
\num_*
\num_\num_+
\num_.
\num_del
\num_ins
\delay
60
5E
5A
5C
46
9A
47
76
39
54
55
56
57
63 Num Lock On
63
62
Delay 100 ms
Control Code
Bit 3: 0
Ctrl-2
Ctrl-A
Ctrl-B
Ctrl-C
Ctrl-D
Ctrl-E
Ctrl-F
Ctrl-G
BS
Tab
Ctrl-J
Ctrl-K
Ctrl-L
Enter
Ctrl-N
Ctrl-O
Ctrl-P
Ctrl-Q
Ctrl-R
Alt Code
Bit 3: 1
Alt-000
Alt-001
Alt-002
Alt-003
Alt-004
Alt-005
Alt-006
Alt-007
Alt-008
Alt-009
Alt-010
Alt-011
Alt-012
Alt-013
Alt-014
Alt-015
Alt-016
Alt-017
Alt-018
Page 60 of 61
Ctrl-S
Ctrl-T
Ctrl-U
Ctrl-V
Ctrl-W
Ctrl-X
Ctrl-Y
Ctrl-Z
ESC
Ctrl-\
Ctrl-]
Ctrl-6
Ctrl--
Alt-019
Alt-020
Alt-021
Alt-022
Alt-023
Alt-024
Alt-025
Alt-026
Alt-027
Alt-028
Alt-029
Alt-030
Alt-031
Page 61 of 61