Setting Configuration Parameters and Values (ITP Protocol)
The table below provides a list of setting configuration parameters and values for ID TECH devices.
Function ID | Hex | Length | Name | Default | Description |
TrackSelectID | 13 | 1 | Track Selection | 0 | Any Track 0-any |
PollingIntervalID | 14 | 1 | Polling Interval | 1 (1 ~ 255) | USB HID polling interval |
TrackSepID | 17 | 1 | Track Separator | 0x0D=CR/Enter | CR for RS232; Enter for KB any character supported except 00, which means “none” |
Sentinel and Account Number controlID | 19 | 1 | Sentinel and Account Number Control | 1 (0~0xF) | Bit0 1: Send start/end sentinel 0: Not send start/end sentinel Bit1 1: Only send account number on Track2 0: Send all data on Track2 Bit2 1: Send error notification 0: No error notification Bit3 1: Alt key output 0: Control key output |
MSRReadingID | 1A | 1 | MSR Reading Setting | 1 (0~1) | 0: MSR Reading Disabled 1: MSR Reading Enabled |
DecodingMethodID | 1D | 1 | Decoding Direction | 1 (0~3) | Reading Direction 0x30: Raw data decoding in both directions 0x31: Decode in both directions 0x32: Move stripe along head in direction of encoding 0x33: Move stripe along head against direction of encoding |
ReviewID | 1F | 1 | Review All Settings | None |
|
FmVerID | 22 | 1 | Firmware Version | None |
|
USBHIDFmtID | 23* | 1 | USB HID Format (HID reader only) | 8 (0, 8) | 0: ID TECH format 8: HID KB format |
ForeignKBID | 24 | 1 | Foreign KB | 0 (0 ~0x3A) | Foreign Keyboard; available options are: US: 0x30 SWISS: 0x31 SWEDISH: 0x32 SPANISH_MEX: 0x33 NORWAY: 0x34 ITALIAN: 0x35 GERMAN: 0x36 FRENCH: 0x37 JAPAN: 0x38 UK: 0x39 UNIVERSAL: 0x3A |
USBSuspendID | 25 | 1 | Enable/Disable USB Suspend | 0(0,1) | 0: Disable USB suspend 1: Enable USB suspend |
CustSetID | 30 | 1 | Custom Customer Settings | 04(00 - 07) | 0: Level 3/4 Non-CC sent as Level 1 1: Level3: No empty packet when not enough sampling bits 2: Enhanced secured output will have SN after hash |
Track1PrefixID | 34 | 6 | Track1 Prefix | 0 (any string) | No prefix for Track1; six character maximum |
Track2PrefixID | 35 | 6 | Track2 Prefix | 0 (any string) | No prefix for Track2; six character maximum |
Track3PrefixID | 36 | 6 | Track3 Prefix | 0 (any string) | No prefix for Track3; six character maximum |
Track1SuffixID | 37 | 6 | Track1 Suffix | 0 (any string) | No suffix for Track1; six character maximum |
Track2SuffixID | 38 | 6 | Track2 Suffix | 0 (any string) | No suffix for Track2; six character maximum |
Track3SuffixID | 39 | 6 | Track3 Suffix | 0 (any string) | No suffix for Track3; six character maximum |
KeyTypeID | 3E* | 1 | Data or PIN Key | 0 | 0: Data key 5A: PIN key |
PrePANID | 49 | 1 | PAN to Not Mask | 4 (0-6) | Number of leading PAN digits to display |
PostPANID | 4A | 1 | PAN to Not Mask | 4 (0-4) | Number of trailing PAN digits to display |
MaskCharID | 4B | 1 | Mask the PAN with This Character |
| Any printable character |
CrypTypeID | 4C* | 1 | Encryption Type | 1 (1~3) | 1: 3DES 2: AES 3: TransArmor RSA |
DispExpDateID | 50 | 1 | Mask or Display Expiration Date | 1(0-1) | 0: Mask expiration date 1: Display expiration date |
Mod10ID | 55 | 1 | Include mod10 Check Digit | 0 (0-2) | 0: Don’t include mod10 1: Display mod10 2: Display wrong mod10 |
HashOptID | 5C | 1 | Hash Process Option | 7 (0~7) | Send Track1-3 hash bit 0:1 send Track1 hash bit 1: 1: send Track2 hash bit 2:1 send Track3 hash |
UpperID | 5D | 1 | Upper Case Option | 1 (0, 1) | 0: a~z, 1: A~Z |
LRCLv1ID | 60 | 1 | Track LRC Option in Level 1 | 1 (0, 1) | 1: Send Track LRC in output data 0: Do not send Track LRC |
T17BstartID | 61 | 1 | Track1 Bit 7 Start Char | % (any) | % as Track1 Bit 7 start sentinel |
T15BstartID | 63 | 1 | Track1 Bit 5 Start | ; (any) | ; as Track1 Bit 5 start sentinel |
T27BstartID | 64 | 1 | Track2 Bit 7 Start Char | % (any) | % as Track2 Bit 7 start sentinel |
T25BstartID | 65 | 1 | Track2 Bit 5 Start | ; (any) | ; as Track2 Bit 5 start sentinel |
T37BstartID | 66 | 1 | Track3 Bit 7 Start Character | % (any) | % as Track3 Bit 7 start sentinel |
T35BstartID | 68 | 1 | Track3 Bit 5 Start | ; (any) | ; as Track3 Bit 5 start sentinel |
T1EndID | 69 | 1 | Track1 End Sentinel | ? (any) | ? as end sentinel |
T2EndID | 6A | 1 | Track2 End Sentinel | ? (any) | ? as end sentinel |
T3EndID | 6B | 1 | Track3 End Sentinel | ? (any) | ? as end sentinel |
T1ERRSTARTID | 6C | 1 | Track1 error Code | % (any) | Start sentinel if Track1 error report |
T2ERRSTARTID | 6D | 1 | Track2 error Code | ; (any) | Start sentinel if Track2 error report |
T3ERRSTARTID | 6E | 1 | Track3 error Code | + (any) | Start sentinel if Track3 error report |
SecureLrcID | 6F | 1 | Secured Output Format Track LRC Option Enhanced Only | 1 (0, 1) | 1: Send track LRC in secured output data 0: Don’t send track LRC Note: This command is valid for level3 |
EquipFwID | 77* | 1 | Feature Option Setting | 0x05 (any) | Factory Reader firmware configuration; setting 77 is the firmware equipment options settings. Bit 0: _secure = equipFw^0; // Always 1 if a secure reader Bit 1: _hasLED = equipFw^1; // 1 if the reader has LED and beep support, 0 for SREDKey 2 Bit 2: _hasRail = equipFw^2; // 1 if the reader has a rail for a SecureKey reader Bit 3: _xml = equipFw^3; // 1 if XML output format, 0 for ID TECH output format Bit 4: _mm = equipFw^4; // 1 if MiniMag, always 0 for SREDKey 2 Bit 5: _generic = equipFw^5; // 1 if generic. Bit 6 and 7: Always 0. |
SyncCheckID | 7B | 1 | Check for Track Sync Bits; can allow poorly encoded cards to be read | 2 (0~2) | Check leading & trailing sync bits 0 13 bits: 1: 13 bits, but allow if valid through track LRC; 2: 9 bits ABA; 13 bits IATA; 16 bits JIS |
EncryptOptID | 84 | 1 | Encryption Options, Enhanced Only | 0 encrypt card type 0; (0-1F) | Bit 0: Encrypt Track1 Bit 1: Encrypt Track2; Bit 2: Force encryption on Track3 and with no masked data; valid both for non-CC and card type 0 Bit 3: Encrypt Track3 if card type 0 Bit 4: Encrypt Track3 if card type 0 only and allow Track1, Track2, Track3 masked data to be sent as well Note: General ISO card Track3 mask is always not present, except for command 0x91. In this command, the Track3 mask is only for 4909 cards. |
EncryptStrID | 85* | 1 | Encryption Structure | 1 (0~1) | 0: Original; 1: Enhanced |
MaskOptID | 86 | 1 | Clear / Mask Data Options | 7 (0~7) | Bit 0: Send clear/mask Track1 Bit 1: Send clear/mask Track2 Bit 2: Send clear/mask Track3 |
EnFmtID | 88 | 1 | Encryption Format | \02\30\34 | Encryption format used in XML output format |
T3ExpDatePosID | 89 | 1 | Expiration Date Position | 0x34 ((0x34, 0x36) | Track3 expiration date position offset |
KeyTimeoutI D | 8D | 1 | Timeout Value for Key Press Interval | 5(20 seconds) (1~225) | Timeout = value * 4 Timeout range is from 4 to 900 seconds |
AdminLvlID | 8E | 1 | Admin Level | B, 15, 1F, 29, 33, 3D | B: Admin 1 15: Admin 2 1F: Admin 3 29: Admin 4 33: Admin 5 3D: Admin 6 |
KeyedOptID | 8F* | 1 | Keyed Options | 3 | bit 0 0: Output in original keyed output 1: Output in enhanced keyed-in output bit 1 0: Allow empty CVV entry 1: Require three or more CVV digits bit 2 0: Allow empty ZIP entry 1: Require five or more ZIP digits bit 3 0: Allow empty ADR entry 1: Require one or more ADR digits bit 4 0: Do a mod-10 check on keyed-in PAN 1: Don’t check the PAN mod-10 bit 5 0: Admin enabled 1: Admin disabled Bits 6-7 reserved; all 0 |
Non-fincilEncryptOptID | 90* | 1 | Non-Financial Card Encryption Options | 0 | 0: Non-financial card output plaintext at level 3. 1: Non-financial card output as financial card at level 3. |
Equip2ID | AE* | 1 | Equip Setting Byte for Different Readers or New Settings | 0 (00-0xFF) | If bit4 = 1, send serial number during USB enumeration |
CustomSet3ID | B0 | 1 | Customer Setting | 0 (0, 1) | Bit 0 0: Standard manual entry display 1: Remise special display, in PAN entry mode, have hyphens every four digits, pre-PAN and post-PAN are always four digits, and masked PAN has a short delay after PAN data is displayed in clear text |
CustomTimeout1 | B1 | 1 | Timeout for Plaintext Change to Mask Characters | 2 (1~20) | The algorithm is timeout = value * 0.5 (seconds), so timeout range is 1~10 seconds. |
PrefixID | D2 | 15 | Preamble | 0 (any 15) | No Preamble, 15 character maximum |
PostfixID | D3 | 15 | Postamble | 0 (any 15) | No Postamble, 15 character maximum |
EncryptOpt2ID | D5 | 1 | Encrypted Option 2 Output | 0 (0~1) | Bit 0 0: Encrypted without MAC 1: Encrypted with MAC Bit 1 to Bit 7 reserved; all 0. |
Legacy Setting Configuration Parameters and Values
The Function ID settings below are legacy versions only.
Function ID | Hex | Length | Name | Default | Description |
TrackSepID | 17 | 1 | Track Separator | 0x0D=CR/Enter | CR for RS232, Enter for KB any character supported except 00 which means none. |
Sentinel and Account number controlID | 19 | 1 | Sentinel and Account Number Control | 1 | Bit 0 1: Send start/end sentinel 0: Do not send start/end sentinel Bit 1 1: Only send account number on Track2\ 0: Send all data on Track2 Bit 2 1: Send error notification 0: Not error notification Bit 3 1: Alt key output 0: Control key output |
Track1PrefixID | 34 | 6 | Track1 Prefix | 0 (any string) | No prefix for Track1: six character maximum |
Track2PrefixID | 35 | 6 | Track2 Prefix | 0 (any string) | No prefix for Track2: six character maximum |
Track3PrefixID | 36 | 6 | Track3 Prefix | 0 (any string) | No prefix for Track3: six character maximum |
Track1SuffixID | 37 | 6 | Track1 Suffix | 0 (any string) | No suffix for Track1: six character maximum |
Track2SuffixID | 38 | 6 | Track2 Suffix | 0 (any string) | No suffix for Track2: six character maximum |
Track3SuffixID | 39 | 6 | Track3 Suffix | 0 (any string) | No suffix for Track3: six character maximum |
LRCLv1ID | 60 | 1 | Track LRC Option in Level 1 | 1 (0-1) | 1: Send track LRC in output data 0: Don’t send track LRC |
T17BstartID | 61 | 1 | Track1 Bit 7 Start Character | % (any) | % as Track1 Bit 7 start sentinel |
T15BstartID | 63 | 1 | Track1 Bit 5 Start | ; (any) | ; as Track1 5 Bit start sentinel |
T27BstartID | 64 | 1 | Track2 Bit 7 Start Character | % (any) | % as Track2 Bit 7 start sentinel |
T25BstartID | 65 | 1 | Track2 Bit 5 Start | ; (any) | ; as Track2 5 Bit start sentinel |
T37BstartID | 66 | 1 | Track3 Bit 7 Start Character | % (any) | % as Track3 Bit 7 start sentinel |
T35BstartID | 68 | 1 | Track3 Bit 5 Start | ; (any) | ; as Track3 5 Bit start sentinel |
T1EndID | 69 | 1 | Track1 End Sentinel | ? (any) | ? as end sentinel |
T2EndID | 6A | 1 | Track2 End Sentinel | ? (any) | ? as end sentinel |
T3EndID | 6B | 1 | Track3 End Sentinel | ? (any) | ? as end sentinel |
T1ERRSTARTID | 6C | 1 | Track1 Error Code | % (any) | Start sentinel if Track1 error report |
T2ERRSTARTID | 6D | 1 | Track2 Error Code | ; (any) | Start sentinel if Track2 error report |
T3ERRSTARTID | 6E | 1 | Track3 Error Code | + (any) | Start sentinel if Track3 error report |