Section 2-9 Swipe reader interfaces This section: Defines the built-in Wiegand and Mag Stripe data formats which can be read by the 4422 swipe card module, the 4410 swipe card and PINpad module, the 4420 dual swipe card module and 4010 Swipe Controllers. Gives examples of the readers which provide this data. Helps you choose the interface number to enter in the I/F field in the Access Point record for a swipe reader. Describes how to define your own Wiegand and Mag Stripe data interfaces for use with 4422 Swipe Card modules in 4101 and 4010 Controllers, and 4010 Swipe Controllers. Describes how to send the configuration data to the Controllers. Contents Introduction to swipe reader interfaces... 9-2 Selecting a Reader... 9-2 Implementation... 9-3 Choosing an interface... 9-3 Currently defined Wiegand data interfaces... 9-4 Currently defined Swipe Card (ANSI/ABA) data interfaces... 9-5 Low Level TTL Mag Stripe Outputs... 9-7 Card Coding Structures... 9-8 Configuring your own swipe reader interfaces... 9-8 The Wiegand interface definition command... 9-9 The Mag Stripe interface definition command... 9-10 Tops and tails for messages... 9-12 Examples... 9-13 35-bit Wiegand... 9-13 9 data character Mag Stripe... 9-14 Making a sequence file and downloading it to the Controllers... 9-15 9-1
Introduction to swipe reader interfaces As well as offering real hands free and proximity reading using Cotag cards and tags, the system is also able to use any of the available swipe card technologies by means of Swipe Card modules in the 4101 Controller and the Swipe Card version of the 4010 Controller. The 4422 swipe card module and the 4010-S Controller are designed to interpret data from all access control swipe card readers and any other identification device with a compatible interface. This specifically includes: Wiegand Magnetic Stripe Bar Code 5000 series Readers and Reader Interfaces It specifically excludes RS232 and similar serial data interfaces. The inclusion of 5000 Readers and Reader Interfaces in this list provides one way of upgrading from other OEM systems. More importantly, it enables 5000 Reader Interfaces to be used for Automatic Vehicle Identification as part of the access control system. (See the 4101 Controller Installation Handbook for more information.) Selecting a Reader We are currently able to endorse Mag Stripe Readers from Dorado, Infrared Bar Code Readers from Intelligent Controls/ID Systems and Wiegand Readers from Sensor Engineering. There are other manufacturers who have suitable products but we have not tested them. Please read the section later in this appendix on Low Level TTL Mag Stripe Outputs which tells you the type of reader to avoid. The following readers have been tested and are compatible with the 4422 swipe card module and the 4010-S Controller: Sensor 30387 Wiegand pass-through reader. Use interface 300. Dorado 644B Mag Stripe pass-through reader - emulating 26 bit or 34 bit Wiegand. Use interface 300 or 302. Intelligent Controls 8030/8035 Barcode reader - emulating 26 bit Wiegand or ABA Mag Stripe. Use interface 300 or 351 respectively. 5000 series Readers. Use interface 303 on swipe card module and set the 5000 Reader to interface 59. (This output provides battery flag and noise indication for the 4101 Controller.) The following readers have not been tested but are believed to be compatible with the 4422 swipe card module and the 4010-S Controller: 9-2
Sensor 31503, 31815, 31880, 32005 Dorado 544, 570, 740 The following notes tell you how to choose a reader and how to implement the interface with the 4422 swipe card module and the 4010-S Controller. You should study them to make sure you understand the issues involved in sourcing and setting up the cards and readers, then contact your chosen supplier. Please call Technical Support in Cambridge, England if you need any further advice. Implementation The steps required to set up a system with swipe readers are: Decide on a suitable reader technology and supplier. Choose a card format, reader with compatible output and swipe card module interface. Purchase the readers and cards from the manufacturer or his distributor. Bar code and Wiegand cards are bought pre-coded. You can buy your own Mag Stripe encoder for ease of card control. Purchase 4422 swipe card modules and/or 4010-S Controllers. Install the hardware, set up the readers and 4422 swipe card modules and 4010-S Controllers if necessary. Enter the interface number in the I/F field in the Access Point record, for example: 300. Choosing an interface You enter the interface number in the I/F field in the Access Point record in the Access Configuration program. You choose a number (see below) which defines the protocol the swipe card module will use for the interface. It may also be necessary to make a jumper change on the swipe card module itself. (Refer to the 4422 Installation Note or 4101 or 4010 Controller Installation Handbook for details of the jumpers.) 9-3
Currently defined Wiegand data interfaces I/F Setting Data Bits Site Code Iss. No. Card No. Parity Start Bit Stop Bit MSB/LSB 1st Reader Type 300 24 2-9 N 10-25 E 1-13 O 14-26 N N MSB #0 301 32 1-16 N 17-32 N N N MSB #1 302 32 1-17 N 18-33 E 1-17 O 18-34 N N MSB #2 303 48 1-16 25-27 33-48 N N N MSB #3 304 34 21-33 18-20 2-17 N 1 0 LSB #4 305 48 1-16 25-27 33-48 N N N MSB #5 306 44 1-16 N 25-40 N N N MSB #6 307 34 23-34 18-20 1-16 N N N MSB #7 308 30 2-5 N/A 6-31 E 1-15 N N MSB #8 O 16-32 309 32 N/A N/A 1-32 N N N MSB #9 #0 Used with Sensor Wiegand 30387 reader #1 Used with Cotag 5000 Reader family, with an i/f such as 00, 02, 08, 18, 22 for Site Code taken from bits 17 to 32 of Cotag data format. Or use i/f 2A for Site Code taken from bits 33 to 48 of Cotag data format. #2 Used with Dorado readers. #3 Used with Cotag 5000 Reader family, with i/f 59 selected. Noise indication code output upon detection of excessive noise and a battery flag at bit 49, provided for the 4101 Controller. #4 Used with Cardkey 34 bit Wiegand. #5 General purpose Wiegand. #6 Used with Deister Reader. #7 Used with Cardkey 34 bit Ncrypt. #8 Used with Motorola 32 bit Wiegand (26bit card numbers) #9 Used with SM500 series smart card readers. This interface is only supported by the 4422 Swipe Card Reader module and 4010 Swipe Controller. If used, select mode 3 card numbers. When read, cards will be reported with site code reference 0 (although no site code check has been applied to the card data). This reference site code should not be used for any other cards on the system. 9-4
I/F Setting Swipe reader interfaces Currently defined Swipe Card (ANSI/ABA) data interfaces No. Char of Header B, Term F & LRC Site Code Char Pos. Iss State Char Pos. Card Code Char Pos. 350 16 Yes 12-14 inc 6 7-11 inc #0 351 14 Yes 2-6 7 8-12 #1 352 20 Yes 2-5 N 10-13 #2 353 10 Yes 2-4 N 5-8 #3 354 19 Yes 17-13 7 6-2 #4 355 9 No 4-1 9 8-5 #5 356 16 Yes 10-14 N 3-7 #6 357 13 Yes 2-3 N 5-10 #7 358 13 Yes 2-3 N 5-11 #8 359 19 Yes 8-11 N 13-17 #9 360 11 Yes 2-5 N 6-9 #10 361 8 Yes N/A N 1-8 #11 Reader Type/Data Format Key for data format definitions below x = Dont Care c = Card Number s = Site Code Number i = Issue State Number b = Header d = Separator f = Terminator h = Hex character converted to dec ( 00 -> FF converted to 000 -> 255) l = LRC lw = Watermark LRC (Not received if reader configured for Watermark LRC check) 9-5
#0 Originally tested using a Bewacard BC12 Mag Swipe Reader Char Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 b 0123 4 56789 012 f l b xxxx i ccccc sss f l #1 ID Solutions/Intelligent Controls Bar-code Reader Char Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b 01234 5 67890 f l b sssss i ccccc f l #2 Char Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 b 0123 45 678901 2 3456 f l b ssss xx xxcccc x xxxx f l #3 Char Position 1 2 3 4 5 6 7 8 9 10 b 012 3456 f l b sss cccc f l #4 Cardkey L45/D45 Magnetic Stripe Reader. Magstripe Character Format Char Position 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 #5 Fritz Fuss Swipe Reader Char Position 1 2 3 4 5 6 7 8 9 b 01234 5 6 78 9012345 f l b ccccc i x xx xxsssss f l lsd msd lsd msd 0123 4567 8 cccc ssss i Note: The above characters are proceeded by 00001010 bits and followed by 001 bits. The Strobe signal is TTL level active high, and each character is received in the following bit order 8 4 2 1 P. #6 Northern Computers NR-1 Reader - 12 digit ABA cards (Format #2) Char Position 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 b 012345 d 678901 f l b xccccc x xsssss f l #7 Thorn Watermark Reader - 9 CHAR + LRC (ISO Track 2) Char Position 1 2 3 4 5 6 7 8 9 10 11 12 13 b 012 hh 3456 lw f l b sss ccc cccc x f l #8 Thorn Watermark Reader - 10 CHAR NO LRC (ISO Track 2) Char Position 1 2 3 4 5 6 7 8 9 10 11 12 13 b 012 345 6789 f l b sss ccc cccc f l #9 Legic Reader GEP350 Char Position 1 2 3 4 5 6 7 8 9 10 11 12 131415 16 17 18 19 b 012345 6789 0 12345 f l b xxxxxx ssss x ccccc f l 9-6
#10 for ENI/Dorado 3110-5440 Reader and ABA format cards coded as: Char Position 1 2 3 4 5 6 7 8 9 10 11 b 0123 4567 f l b ssss cccc f l #11 for BC16 Swipe Card Readers using IB1 coded ABA mag stripe cards: Char Position 1 2 3 4 5 6 7 8 9 10 11 b 01234567 f l b cccccccc f l Note: This interface is only supported by the 4422 Swipe Card Reader module and 4010 Swipe Controller. If used, select mode 3 card numbers. When read, cards will be reported with site code reference 0 (although no site code check has been applied to the card data). This reference site code should not be used for any other cards on the system. Low Level TTL Mag Stripe Outputs Our research suggests that there is a large number of Mag Stripe readers available from vendors like Omron which are designed to be incorporated into OEM equipment such as point-of-sale terminals, cash vending machines for banks, time and attendance terminals and shop floor data collection equipment. These readers are all designed to provide data output at TTL levels over a few centimetres of cable. They are not intended for access control applications where the data must be transmitted over distances up to 150m or beyond. Any access control OEM who uses these TTL output readers does so by incorporating them into a unit which is installed at the door and which then talks to its host controller on a data interface capable of working over long distances. When you are choosing a Mag Stripe reader, therefore, you should only consider those which offer data transmission over a reasonable distance such as 150m using a Wiegand style output or some other output which is electrically suitable. (Our library of 5000 Reader output formats has developed as a result of the need to provide inputs to access control and time and attendance readers which match the output characteristics of these low level TTL readers. We do not expect such a large variety of formats for the Swipe Reader modules and controllers.) 9-7
Card Coding Structures One task performed by the swipe card modules and controllers is the conversion of the card coding structure into a Site Code, Card Number and Issue State (if appropriate) which are compatible with the structure used by the access control system. This requires knowledge of the way in which the cards are encoded. If you know the structure of the data in the cards you will be using, you can use the custom swipe reader interface commands described in the next section to define your own data interface so that the system can read data from your cards and interpret it correctly. Configuring your own swipe reader interfaces Each Access Point with a Swipe Card reader connected to it has an Interface Number field in the Access Point record. The interface number tells the Controller the type of data it is reading from the Swipe Card reader (Wiegand or Mag Stripe) and the format of that data (number of bits for Wiegand, number of characters for Mag Stripe, etc). The interface number which you enter in the Access Point record can be any number in the range 300 to 399. If you have 4101-2 Controllers (firmware version 3A or later) fitted with 4422 Swipe Card Reader modules, or 4010 Swipe Controllers (firmware version 4A or later), you can define your own custom interface and download it to the Controllers. The Controllers will then read data from the Swipe Readers as defined by you. When you define your own interfaces, the numbers 322 to 325 are reserved for your custom Wiegand interfaces and the numbers 372 to 375 are reserved for your custom Mag Stripe interfaces. Up to four custom interfaces can be stored in a Controller, and can be any mixture of Wiegand and Mag Stripe. Note that although the interface number you enter in the Access Point record is 3xx, the number you use to define the custom interface does not include the 3, so you just define interface xx (22, 23, 24 or 25 for Wiegand, or 72, 73, 74 or 75 for Mag Stripe) using the commands described below. 9-8
The Wiegand interface definition command Swipe reader interfaces The following command is used to define Wiegand card data formats: %llcxy:*c=2,ifnum,nob,wparr,wrev,wstart,wstop,cstart,clen,istart,ile n,sstart,slen,[parity1(,ptype,pstart,plen)][parity2-4] cc# Sections in [ ] are optional. All numbers are in decimal. ifnum is the interface number (22-25)* *note: this is entered as 322-325 in the access point record nob is the number of bits in the format (1-128) wparr wrev reverse data on all parity fail (E = reverse on fail, D = no reverse) reverse data before processing (E = reverse, D = don't reverse) wstart check start bit (D =no check, 0 =start bit must be 0, 1 = start bit must be 1) wstop check stop bit (D = no check, 0 = stop bit must be 0, 1 = stop bit must be 1) Cstart bit at which card number starts (1 - nob) Clen number of bits in card number (1-64) Istart bit at which Issue State starts (0 - nob) (0 = no Issue State) Ilen number of bits in Issue State (1-3) Sstart bit at which Site Code starts (0 - nob) (0 = no Site Code) Note 1 Slen number of bits in Site Code (0-16) Note 2 Parityx there may be 0 to 4 individual parity definitions within each Format defined by the fields below. These may be omitted as required if no parity or less than four are required within the format. Ptype Pstart Plen type of parity (O = odd parity, E = even parity) first bit of the range over which parity applies (1 - nob) number of bits over which the parity applies (including the parity bit*) (1 - nob) *Note that the parity bit must be one of the bits in the range Pstart+Plen. 9-9
Notes: 1. If Sstart = 0, when the Controller reads a card, it will set the Site Code Ref. (scr) field in the transaction message to _ indicating that the Site Code was not checked when the card number was verified. 2. If Sstart > 0 and Slen = 0, when the Controller reads a card, it will set the Site Code Ref. (scr) field in the transaction message to 0 even though the Site Code was not checked when the card number was verified. This enables systems running software which does not support Site Code Ref. = _ to work with cards without Site Codes. If this is employed within any system using multiple card types, you must ensure that Site Code Ref. 0 is not used for a genuine Site Code Number. The Mag Stripe interface definition command The following command is used to define Mag Stripe card data formats: %llcxy:*c=2,ifnum,noc,[i,ic1,][s,sc1,...sc5,]]c,cc1[,cc2,...cc20] cc# Sections in [ ] are optional. All numbers are in decimal. ifnum is the interface number (72-75)* *note: this is entered as 372-375 in the access point record noc I number of data characters excluding B, F and LRC (1-40) character I to indicate Issue State data follows Note 3 ic1 position of Issue State character (1 - noc) Notes 1,2 S sc1-sc5 C cc1-cc20 character S to indicate Site Code data follows Notes 4,5 positions of Site Code characters (1 - noc) Notes 1,2 (most significant character first) character C to indicate Card Number follows positions of Card Number characters (1-noc) Notes 1,2 (most significant character first) 9-10
Notes: 1. The position of Issue State (ic1), Site Code (sc1-sc5) and Card Number (cc1-cc20) characters within the ABA format packet are defined as 1 = 1st char following the start sentinel character ( B ). For example, if the Site Code is the first 5 characters, and the Card Number is the next 16 characters, you would enter S,1,2,3,4,5,C,6,7,8,9,10,11,12,13 cc# The character positions are entered most significant character first. The character positions do not have to be consecutive. For example: S,8,2,7,12,5 would mean the Site Code was the eighth character (most significant), the second, the seventh, the twelfth and the fifth (least significant). Note that if the data includes any delimitter characters (for example D, these characters are included in the character count when defining the positions of the Issue State, Site Code and Card Number. 2. The Site Code (sc1-sc5) and Card Number (cc1-cc20) fields may be configured as required with the site Code restricted to a maximum of 5 characters and the Card Number to 20 characters. These may be in any character order from the ABA data string (not sequential if required). 3. The I(ic1) fields can be omitted if the card format does not support Issue States. 4. If both the S and (sc1-sc5) fields are omitted, when the Controller reads a card, it will set the Site Code Ref. (scr) field in the transaction message to _ indicating that the Site Code was not checked when the card number was verified. 5. If S is included but (sc1-sc5) is omitted, when the Controller reads a card, it will set the Site Code Ref. (scr) field in the transaction message to 0 even though the Site Code was not checked when the card number was verified. This enables systems running software which does not support Site Code Ref. = _ to work with cards without Site Codes. If this is employed within any system using multiple card types, you must ensure that Site Code Ref. 0 is not used for a genuine Site Code Number. 9-11
Tops and tails for messages The following data is required at the start and end of each command message: % start of message character (fixed character % ) ll C xy:* message length (decimal) from % to # inclusive Command Type address of Controller (*:* if complete system command) C=2 Custom Interface Command data command data as described earlier space following last field cc checksum (enter?? so you don t have to calculate it) # end of message character (fixed character # ) 9-12
Examples 35-bit Wiegand Here is an example of the configuration command you would use to configure a controller to receive data from a swipe reader providing 35-bit Wiegand data output as follows: SSSSSSSSSSSSSSSSIIICCCCCCCCCCCCCCCC with even parity calculated using the first 16 bits of data. S is 16 bit Site Code (most significant bit first) I is 3 bit Issue State (most significant bit first) C is 16 bit Card Number (most significant bit first) The configuration command for this data format would be: %51C*:*C=2,22,35,D,D,D,D,20,16,17,3,1,16,E,1,16??# % start of message 51 number of characters in message from % to # inclusive C this is a command type message *:* message for all controllers C=2 this is a custom interface command 22 interface number (enter as 322 in software) 35 number of bits of data from swipe reader D no reverse data on all parity fail D no reverse data before processing D don t check start bit D don t check stop bit 20 card number starts at 20th bit 16 card number is 16 bits long 17 issue state starts at 17th bit 3 issue state is 3 bits long 1 site code starts at 1st bit 16 site code is 16 bits long E even parity bit 1 parity calculated from 1st bit 16 to 16th bit?? don t need to calculate checksum if you enter?? # end of message 9-13
9 data character Mag Stripe Here is an example of the configuration command you would use to configure a controller to receive data from a swipe providing five characters of card number, three characters of site code and one character of issue state as follows: [leading zeros]bcccccsssif[lrc][trailing zeros] B is Header C is Card number (most significant character first) S is Site Code (most significant character first) I is Issue State F is Footer LRC is Checksum The configuration command for this data format would be: %43C*:*C=2,72,9,I,9,S,6,7,8,C,1,2,3,4,5??# % start of message 43 number of characters in message from % to # inclusive C this is a command type message *:* message for all controllers C=2 this is a custom interface command 72 interface number (enter as 372 in software) 9 number of data characters excluding B, F and LRC I position of issue state character follows 9 issue state is 9th character S positions of site code characters follow 6,7,8 site code is 6th, 7th and 8th characters C positions of card number characters follow 1,2,3,4,5 card number is 1st, 2nd, 3rd, 4th and 5th characters?? don t need to calculate checksum if you enter?? # end of message 9-14
Making a sequence file and downloading it to the Controllers To make a sequence file, type the command (or commands) into a word processor (each command on a new line with carriage return at the end). Save the file as plain text with a filename which ends with.seq for example: if1.seq Make sure the file is saved as plain text (not in.doc format). To send the sequence file to all the Controllers in a hardware system: 1. Click on the button to display the System Map. 2. Double-click on the Access Control System. 3. Right-click on the Hardware System to which you want to send a sequence file and choose the Send Seq File command from the popup menu, then click on the OK button. 4. Locate the sequence file on your filing system, then click on the OK button. 5. A message is displayed saying that the sequence file has been sent. Click on the OK button. To send the sequence file to one Controller: 1. Click on the button to display the System Map. 2. Double-click on the Access Control System. 3. Double-click on the Hardware Sytem which contains the Controller. 3. Right-click on the Controller to which you want to send a sequence file and choose the Send Seq File command from the pop-up menu, then click on the OK button. 4. Locate the sequence file on your filing system, then click on the OK button. 5. A message is displayed saying that the sequence file has been sent. Click on the OK button. 9-15
9-16