BEETLE MSR Module programmable Magnetic Swipe Card Reader for BA7x User Guide
Edition March 2006
Linux™ is a registered trademark of Linus Torvalds Pentium™ is a registered trademark of the Intel Corporation MS-DOS™ and Windows XP™ are registered trademarks of the Microsoft Corporation BEETLE™ is a registered trademark of Wincor Nixdorf International GmbH Copyright© Wincor Nixdorf International GmbH, 2006 The reproduction, transmission or use of this document or its contents is not permitted without express authority. Offenders will be liable for damages. All rights, including rights created by patent grant or registration of a utility model or design, are reserved. Delivery subject to availability; technical modifications possible.
Contents Manufacturer´s Certification...............................................1 FCC-Class A Declaration............................................................................1 Warranty .....................................................................................................2 Recycling the MSR Module.........................................................................2 Before Switching on the System .................................................................3 Unpacking and Checking the System....................................................3
Swipe Card Reader (MSR Module) .....................................4 General .......................................................................................................4 How to Operate .....................................................................................4 Cleaning Instructions.............................................................................4
Installation............................................................................5 Programming the MSR and Firmware Upgrade ................8 Flash Structure ...........................................................................................8 Commands for Programming ......................................................................9 Erase MSR Flash Pages .......................................................................9 Write MSR Controller Parameters .......................................................10 Read MSR Controller Parameters.......................................................10 Write Sequences .................................................................................11 Read Sequences.................................................................................11 Write MSR-Country Codes -> Codes ..................................................12 Write MSR-Country Codes -> Option Bytes ........................................12 Read MSR-Country Codes -> Codes ..................................................13 Read MSR-Country Codes -> Option Bytes ........................................13 Test of Flash Page ..............................................................................13 Write GAP Values for MSR Data Transmission Speed ......................14 Read GAP Values for MSR Data Transmission Speed .......................15 Loader Activation.................................................................................15 Read Module Info ................................................................................16 Send Data ...........................................................................................18 Meaning of the Command Syntax.............................................................19
Technical Data ...................................................................21
FCC-CLASS A DECLARATION
Manufacturer´s Certification The device complies with the requirements of the EEC directive 89/336/EEC with regard to ‘Electromagnetic compatibilily". Therefore, you will find the CE mark on the device or packaging. The device is intended only for operation with Wincor Nixdorf approved flat screens.
FCC-Class A Declaration This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful inter-ference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense. Modifications not authorized by the manufacturer may void users authority to operate this device. This class A digital apparatus complies with Canadian ICES-003. Cet appareil numerique de la classe A est conforme à la norme NMB-003 du Canada.
1
WARRANTY
Warranty Wincor Nixdorf guarantees generally a warranty engagement for 12 months beginning with the date of delivery. This warranty engagement covers all damages which occur despite a normal use of the product. Damages because of n improper or insufficient maintenance, n improper use of the product or unauthorized modifications of the product, n inadequate location or surroundings will not be covered by the warranty. For further information of the stipulation look at your contract. All parts of the product which are subject to wear and tear are not included in the warranty engagement. Please order spare parts at the Wincor Nixdorf customer service.
Recycling the MSR Module Environmental protection does not begin when the time comes to dispose of the swipe card reader; it begins with the manufacturer. This product was designed according to our internal norm “Environmental conscious product design and development” The swipe card reader is manufactured without the use of CFCs und CCHS and is produced mainly from reusable components and materials. The used plastic materials can, for the most part, be recycled. Even the precious metals can be recycled, which saves energy and costly raw materials. Please do not stick labels onto plastic case parts. This would help us to re-use components and material. You can protect our environment by only switching on your equipment when it is actually needed. If possible, even avoid the stand-by-mode, as this 2
BEFORE SWITCHING ON THE SYSTEM wastes energy, too. Also switch your equipment off when you take a longer break or finish your work. At present, there are still some parts that are not reusable. Wincor Nixdorf disposes of old devices in an environmentally sensitive way using a recycling center that is ISO 9001 and ISO 14001 certified, as is the rest of the company. So don’t simply throw your swipe card reader on the scrap heap when it has served its time, but take advantage of the environmentally smart, up-to-date recycling methods! Please contact your competent branch or the Recycling Center Paderborn, Germany (for European countries), for information on how to return and re-use devices and disposable materials under the following mail address: Email:
[email protected] or on the internet. We look forward to your mail.
Before Switching on the System Unpacking and Checking the System Unpack the parts and check to see whether the delivery matches the information on the delivery note. If damage has occurred during shipping or if the package contents do not match the delivery note, promptly inform your Wincor Nixdorf sales outlet. Transport the device only in its original packaging (to protect it against impact and shock).
3
General
Swipe Card Reader (MSR Module) General The swipe card reader can read three ISO tracks simultaneously in one single swipe. The MSR module is fitted on the right-hand side of the screen module. The connection is made via an MF2 interface.
How to Operate Run the swipe card through the slit of the swipe card reader from top to bottom in a quick and steady movement. Make sure that the magnetic strip is to the right. When using swipe cards, the following should be observed: n n n
swipe cards should never be allowed to come into contact with liquids. swipe cards should not be bent or folded in any way. swipe cards should not be allowed to come into close contact with a magnetic field.
Swipe cards should only be inserted in the top of the specially designed slit of the reading device. If the card is inserted in another place, the reading head could be damaged.
Cleaning Instructions In order to guarantee good reading results over a longer period of time, the swipe card reader should be cleaned once a week. This is carried out by using a special cleaning card that can be purchased from Wincor Nixdorf. Clean the surface of the swipe card reader with a suitable commercially available surface cleaner. Make sure that the power plug is disconnected, connector cables are unplugged and that no liquid finds its way into the device.
4
INSTALLATION
Installation
Insert the delivered screws (Phillips Head) into the positions marked by the arrows (12.1" screen). Fasten the screws a little but do not screw them too tightly.
Two positions are available at the 15" screen. In this illustration it is the upper positions which are marked with two arrows. There is a second, lower position. Fasten the screws slightly, leaving enough place for the sheet metal.
5
INSTALLATION
Then place the MSR with the openings (see arrows) on to the screws and push it to the right. Tighten the screws.
Do not touch the electronic board.
Connect the cable to the upper socket (1) and put the cable into the guide of the cable (2). If a keyboard is to be connected, use the second connection below (3).
6
INSTALLATION
First hook the cover with the catch (see figure above) into the top of the rear side (see center figure).
Make sure that the cable lies in the guide and is fitting through the opening of the cover. Press the two engagements at the bottom until you hear a click.
7
FLASH STRUCTURE
Programming the MSR and Firmware Upgrade The MSR controller provides programmable start- and end-sequences for the MSR. A loadable country table can be used for the data. This firmware concept is necessary for the software to produce the utility for programming the MSR controller. The necessary commands are described on the following pages. A Loader upgrade will not be supported.
Flash Structure Implemented in the hardware of the MSR controller is a 64K-Byte FLASH. It maintains the Loader, MSR controller parameter, MSR data (start-/ende-sequences, country table), firmware header and the firmware. The pagesize is min. 128 Byte. For the Atmel microcontroller AT89C51RD2 the Flash-API routines have been moved from the 64kByte Flash area to an extra 2kByte Boot ROM area.
8
Memory address
Memory occupation
0x0000
Security jump to loader address if Software Boot Vector is not programmed (0x00)
0x00C0
Loader-header (64 byte)
0x0100
Loader -> start-address depending on Boot Vector (10240 Byte)
0x2000
MSR controller parameter (max. length 128 bytes)
0x2080
start-, end sequences for MSR track no. 1 (max. length 128 bytes)
0x2100
start-, end sequences for MSR track no. 2 (max. length 128 bytes)
COMMANDS FOR PROGRAMMING
0x2180
start-, end sequences for MSR track no. 3 (max. length 128 bytes)
0x2200
MSR country codes (codes) (max. length 128 bytes)
0x2280
MSR country codes (option bytes) (max. length 128 bytes)
0x2300
GAP values for varying MSR data transmission speed (max. length 128 bytes)
0x2900
Firmware-header (64 byte) + following 64 byte filled with „00“
0x2980
Firmware (variable length (max. 54912 Byte); see details in FW-Header)
0xFFFF
End of flash
Commands for Programming For the handling of start-/end-sequences for MSR and the country tables, new commands were generated. For explanation of the following abbreviations please refer to the table "meaning of command syntax" in this chapter. The introduction command ‘D7’h is sent from the system and will be acknowledged with ‘FA’h from MSR controller. The introduction command ‘D7’h is followed by the byte ComSel (Command-Select), which differentiates following orders:
Erase MSR Flash Pages With this command the MSR area of Flash will be erased. This means it will be set to default. System Request Command
ComSel
Fieldlen
LRC
D7h
00h
00h
D7h
9
COMMANDS FOR PROGRAMMING
Write MSR Controller Parameters This command stores all global MSR controller parameters in the Flash. System Request Command
ComSel
Fieldlen
KbMode
LevSel
SdMode
(nFl-3) x Data (0 – 16)
LRC
D7h
01h
nFl
nKb
nLS
nSd
xxh
xxh
stored in Flash nFl nKb nLS nSd
= 03h – 13h (3 - 19) = 00h – 02h = 00h – 07h = 00h – 01h
Read MSR Controller Parameters The stored parameters can be read again with this command. System Request Command
ComSel
D7h
02h
MSR Reply Fieldlen
KbMode
LevSel
SdMode
(nFl-3) x Data
LRC
nFl
nKb
nLS
nSd
xxh
xxh
nFl nKb nLS nSd
10
= 03h – 13h (3 - 19) = 00h – 02h = 00h – 07h = 00h – 01h
COMMANDS FOR PROGRAMMING
Write Sequences With this command the start-/end-sequences (header/trailer) for each of the three possible tracks of the MSR can be written into the Flash. After successful programming these start-/end sequences will be sent to the system for each programmed track no. while reading a magnet stripe card successfully. System Request Command
ComSel
DevSel
Opt
Fieldlen Start
nFIS x SeqStart
Fieldlen End
nFIE x SeqEnd
LRC
D7h
05h
nDS
nO
nFlS
xxh
nFIE
xxh
xxh
stored in Flash nDS nO nFlS nFlE
= 00h – 05h = 00h – FFh = 00h – 20h (0 – 32) = 00h – 10h (0 – 16)
NOTE for possible data lengths The maximum number of codes for Header strings is 32 and for Trailer strings is 16. At the interface between MSR controller and the system make codes consist of 1 byte and break codes of 2 bytes. So a Header string may consist of up to 10 simple keystrokes and a trailer string of 5 simple keystrokes. Note, however, that there exist so-called extended keys, with 2 bytes make code and 3 bytes break code. Also, if large letters or special characters occur in the string, additional shift keystrokes will be inserted automatically by the KB-Utility (KbUti.exe).
Read Sequences To realize a copy function from one MSR controller to another, it must be possible to read programmed start-/end-sequences. System Request Command
ComSel
DevSel
D7h
06h
nDS
11
COMMANDS FOR PROGRAMMING nDS
= 00h – 05h
MSR Reply Opt
Fieldlen Start
nFIS x SeqStart
Fieldlen End
nFIE x SeqEnd
LRC
NO
nFlS
xxh
nFIE
xxh
xxh
NO nFlS nFlE
= 00h – FFh = 00h – 20h (0 – 32) = 00h – 10h (0 – 16)
Write MSR-Country Codes -> Codes With this command it is possible to write the first part of the country codes into the Flash. This part consists of a 64 Byte country code. System Request Command
ComSel
FieldLen
64k Länder-Code
LRC
D7h
07h
40h
xxh
xxh
stored in Flash
Write MSR-Country Codes -> Option Bytes With this command it is possible to write the second part of the country codes into the Flash. This part consists of a 64 Byte option code, which realises whether the country code is sent with Shift- or Alt- keycode. System Request Command
ComSel
FieldLen
64k x OptByte
LRC
D7h
08h
40h
xxh
xxh
stored in Flash
12
COMMANDS FOR PROGRAMMING
Read MSR-Country Codes -> Codes To realize a copy function from one MSR controller to another, it must be possible to read the programmed country code. System Request Command
ComSel
D7h
09h
MSR Reply FieldLen
64 x Country Code
LRC
40h
xxh
xxh
Read MSR-Country Codes -> Option Bytes To realize a copy function from one MSR controller to another, it must be possible to read the programmed option bytes. System Request Command
ComSel
D7h
0Ah
MSR Reply FieldLen
64 x OptByte
LRC
40h
xxh
xxh
Test of Flash Page This command is exclusively provided for testing the Flash during the production process. The test is non-destructive, i.e. after the test the MSR controller has to be programmed again.
13
COMMANDS FOR PROGRAMMING 64 Byte data are written into the selected Flash page. Thereafter every byte of this page is read and compared. System request Command
ComSel
PageNo Low-Byte
PageNo Low-Byte
Fieldlen
64 x Daten
LRC
D7h
0Bh
nPNL
nPNH
40h
xxh
xxh
stored in Flash nPNL nPNH
= 00h – FFh (0-255) = 00h – 01h
Write GAP Values for MSR Data Transmission Speed This command stores valid values for programmable GAP-Handling into the flash. These values will be used for accelerating or slowing down the MSR-data transmissions speed depending on the used system. System Request Command
ComSel
ComSel2 (write)
Fieldlen
nFL x Data (1-16)
LRC
D7h
0Eh
01h
nFl
xxh
xxh
im Flash gespeichert ComSel2 nFl nFl x Data
= 01h-02h ( 01 = write; 02 = read) = 01h – 10h (1 - 16) = GAP values (valid data: 1…6)
1 – GAP duration 0,55ms 2 – GAP duration 0,85ms 3 – GAP duration 1,5ms 4 – GAP duration 2,0ms 5 – GAP duration 2,5ms 6 – GAP duration 3,4ms
14
COMMANDS FOR PROGRAMMING The values above are calculated in the case the MSR tracks of MSR-controller are not programmed with header/trailer by the customer. Otherwise, if header/trailer are programmed the GAP duration may be a little bit higher. When programming the external flash with keycodes and/ or header/trailer (for MSR) by using the utility KbUti.exe the flash contents including programmed GAP values will be erased. So, if needed you have to program keycodes and/or header trailer (for MSR) first, before programming GAP values into the flash. Please follow the same procedures when setting a keyboard from programmed state into default state by using the utility.
Read GAP Values for MSR Data Transmission Speed This command is used to read out the programmed value for GAP-Handling from flash. System Request Command
ComSel
ComSel2 (read)
D7h
0Eh
02h
ComSel2 = 02h (read)
MSR Reply FieldLen
nFl x GAP- Value
LRC
nFl
xxh
xxh
nFl
= 01h- 10h (1-16)
Loader Activation This command belongs to the firmware upgrade command set and causes a change of firmware for the loader. All Bytes of the command will be acknowledged by the firmware. With the Loader activated the acknowledge comes from the loader.
15
COMMANDS FOR PROGRAMMING System Request Command
ComSel1
ComSel2
PckNo
LRC
D7h
0Ch
01h
xxh
xxh
MSR Reply Fieldlen
PckNo
Status
Resp. Time Out
LRC
nFl
xxh
xxh
xxh
xxh
nFl
= 00h- 03h (0-3)
ResponseTimeOut This is the maximum time in which the loader must send an acknowledge of a command. Time starts after the acknowledge of the last command byte. The waiting time is necessary, because the keyboard has no chance to lock the interface. The loader utility must ensure that no data will be sent during the waiting time. The value is 0-255 Seconds. The waiting time for the command “Loader Activation” is 2 Seconds.
Read Module Info This command belongs to the firmware upgrade command set and provides all information about all existing modules. These modules are marked by a special identification. Nonexisting modules have no data. System request
16
Command
ComSel1
ComSel2
PckNo
LRC
D7h
0Ch
02h
xxh
xxh
COMMANDS FOR PROGRAMMING MSR Reply Offset
Lenght
Datatyp
Value
Meaning
0
1
bin
b
FieldLen
1
1
bin
b
PckNo
2
1
bin
b
Status
3
5
ASCII
$MOD$
Identification
8
1
ASCII
0x20
Blank
9
6
ASCII
yymmdd
Date of release (YYMMDD)
15
1
ASCII
0x20
Blank
16
4
ASCII
rrvv
Release/Version
20
1
ASCII
0x20
Blank
21
8
ASCII
a..a
Modulname
29
1
ASCII
0x2E
Dot "."
30
3
ASCII
aaa
Extension
33
1
bin
0x00
String-End-Terminator
34
3
bin
bbb
Data length (big endian)
37
2
bin
bb
16 Bit Checksum (big endian)
39
1
ASCII
0x3A
Colon ":" ® next Module
...
...
...
...
...
n-1
1
ASCII
0x3B
Semicolon ";"
n
1
bin
b
LRC
17
COMMANDS FOR PROGRAMMING
Send Data This command belongs to the firmware upgrade command set, by which the programmable Header and Data are sent to the KB controller. The package length PckLen is limited up to max. 128 Byte. This is for the knowledge of KB controller, to calculate how much RAM is available. Each package is consecutively numbered by a package number PckNo. After all data are sent, an empty Data package (PckLen = Zero) must be sent from the FW upgrade utility. The Loader verifies the Checksum and sends remaining data to the Flash. System request Command
ComSel1
ComSel2
PckNo
PckLen
npkLx Data (1- 128)
LRC
D7h
0Ch
03h
xxh
npckL
xxh
xxh
nPkL
= 00h- 7Fh (0- 255)
MSR reply Fieldlen
PckNo
Status
LRC
nFl
xxh
xxh
xxh
nFl
18
= 00h- 03h (0- 4)
MEANING OF THE COMMAND SYNTAX
Meaning of the Command Syntax Following syntax is used for the commands described above (summary):
Command:
Introductory Command D7h
ComSel:
Command Selection
Fieldlen:
Fieldlength contains the number of following data bytes.
LRC:
Longitudinal Redundancy Check. Comparison between System LRC and the generated LRC from MSR controller will be done after command output.
KbMode:
In the MSR controller parameter commands the Controller Mode deposits the conditions for the mode of operation how to select the levels. This applies analogously for handling the Level Select.
LevSel:
Selection of Level for MSR controller operation or programming.
SdMode
In the Subdevice Mode is fixed the operation mode of the device MSR. It is possible to choose between DOS/WINMode and programmable Mode.
Track No
The Track Numero (number) defines the track of the read MSR data .This number assigns a track to a page in the Flash.
Opt
Depend of command: Not used
MSR data
MSR data as header and trailer are stored in the Flash.
DevSel
Device Selection for programming the start- and endSequence.
FieldlenStart Fieldlength of Start Sequence. SeqStart
Databytes of Start Sequence
19
MEANING OF THE COMMAND SYNTAX FieldlenEnd
Fieldlength of End Sequence.
SeqEnd
Databytes of End Sequence
Countrycode 64 Databytes of Countrycode OptByte
20
64 Optionbytes belonging to the Country code table, which contains the condition of Shift and Alt.
TECHNICAL DATA
Technical Data Number of tracks
3
Swipe direction
vertical
Read speed
15 to 80 cm/sec.
Coding of swipe cards
according to ISO/IEC 7811-2
Connector
keyboard: 6 Pin Mini DIN
Operating Condition IEC721 3-3 Class 3K3
+5°C to 40°C (41°F to 104°F)
Storage Condition IEC721 3-1 Class 1K2
+5°C to 40°C (41°F to 104°F)
Transport Condition IEC721 3-2 Class 2K2
-25°C to 60°C (-13°F to 140°F)
Width
78 mm (3.07")
Height
215 mm (8.46")
Depth
36 mm (1.42")
Weight
345 g
21