For the complete documentation index, see llms.txt. This page is also available as Markdown.
Page cover

Properties - 0x6E - 0x88

Property 0x6E - Mask Service Code (Set Mask Service Code Only)

Property ID:

0x6E

Property Type:

Byte

Length:

1 byte

Get Property:

Yes

Set Property:

Yes

Default Value:

0x01

This property controls the masking of the service code on ISO card tracks 1 and 2. If this property is set to 1, the device masks the service code. If this property is set to 0, the device does not mask the service code.

Property 0x78 - Selectable Card Data Encryption Enable (MAC MREQMK)

Property ID:

0x78

Property Type:

Binary

Length:

1 byte

Get Property:

Yes

Set Property:

Yes (Secure MAC)

Default Value:

0x00

The host can use this property to enable Selectable Card Data Encryption. Any of the bits in this property enables the SCDE with the corresponding data field included in the encrypted SCDE.

The M002 message is transmitted to the host instead of the M001 message when the following four conditions are met when a financial card is swiped.

  • Any of the defined property 0x78 bits are set to 1 (enabled)

  • Card Encode Type of the swiped card is ISO

  • Initial SCDE DUKPT Key was injected into the device

  • SCDE DUKPT future keys are available (not exhausted)

Bit Number

Description of Bit

Bit 0

Card Holder Name

  • 0 = Disable (Default)

  • 1 = Enable

Bit 1

PAN

  • 0 = Disable (Default)

  • 1 = Enable

Bit 2

Expiration Date

  • 0 = Disable (Default)

  • 1 = Enable

Bit 3

Service Code

  • 0 = Disable (Default)

  • 1 = Enable

Bit 4

T1 Discretionary Data

  • 0 = Disable (Default)

  • 1 = Enable

Bit 5

T2 Discretionary Data

  • 0 = Disable (Default)

  • 1 = Enable

Bit 6

Reserved

Bit 7

Reserved

Property 0x80 – Device Hardware ID

Property ID:

0x80

Property Type:

String

Length:

varies

Get Property:

Yes

Set Property:

No

Default Value:

N/A

Example

10PCI50U0BA

Property 0x81 – Mode of Operation (MAC MREQMK)

Property ID:

0x81

Property Type:

Byte

Length:

1 byte

Get Property:

Yes

Set Property:

Yes (Secure MAC)

Default Value:

0

• 0 = Normal Operation

• 1 = QWANTUM Mode

Property 0x82 – Time of Day Reset

Property ID:

0x82

Property Type:

Byte

Length:

2 bytes

Get Property:

Yes

Set Property:

Yes (New value takes effect after reset)

Default Value:

0000 (UTC Midnight)

For security purposes, the reader will reset itself once a day. You can choose what time this reset will occur by changing this property. Set the value to HHMM in Coordinated Universal Time (UTC). HH is one byte with a value of 0-23. MM is one byte with a value of 0-59 The new value takes effect after the next device reset or power cycle.

Table - PCI Time of Day Reset Value

Length

Field Name

Value

1

Hour

Value from 0x00...0x17 (0-23)

1

Minute

Value from 0x00...0x3B (0-59)

Property 0x83 – QWANTUM Secure Data Buffer (MAC MREQMK)

Property ID:

0x83

Property Type:

Bytes

Length:

0-1023 bytes

Get Property:

Yes (Secure MAC)

Set Property:

Yes (Secure MAC)

Default Value:

Length = 0

This data is stored securely (encrypted by DDEK). The data gets sent out in encrypted form using DUKPT when the device is in QWANTUM Mode, the button is enabled, and the button is pressed.

Property 0x84 – Device Model Name

Property ID:

0x84

Property Type:

String

Length:

varies

Get Property:

Yes

Set Property:

No

Standard Value:

'iDynamo 5 Gen III'

For PCI certified devices, this value will match the one found on the PCI website and the product label.

Property 0x85 Keyset ID

Property ID:

0x85

Property Type:

Binary

Length:

3 bytes

Get Property:

Yes

Set Property:

No (Value depends on firmware build type)

Default Value:

005454 (for PCI), 000101 (for Non-PCI)

This property indicates whether the firmware was built to use production device keys (005454) or test device keys (000101).

Note – Test firmware can only allow test keys to be injected.

Property 0x86 – Device State

Property ID:

0x86

Property Type:

Binary

Length:

4 bytes

Get Property:

Yes

Set Property:

No – values come from self-test and security status.

Default Value:

N/A

Note that the device is considered offline (no card reading) until all 4 bytes are zero.

Table - Device State Definition

Byte

Type

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

1

System State

Offline

0

0

Device Keys missing

RTC not active/set

Not Initialized

Security Inactive

Tampered

2

Self-Test failure

Data Integrity

Key Integrity

0

0

0

Registers

Crypto

RNG

3

PCI Info

0

0

0

0

0

HW ID Missing

Model Name Missing

Serial # Missing

4

Unmapped Data Types

0

0

0

0

0

0

0

0

BYTE Description

The primary functions of device states are to inform production software about completed steps and pending tasks. It serves as a checklist and can also assist with remote services and RMAs.

Table - BYTE Description

Bytes

Bits

Name

Settings

BYTE 1 – System State

Bit 7

Offline

0 = All bits in this property are set to 0

1 = Not all bits in this property are 0

Bit 6

Reserved

Always 0

Bit 5

Bit 4

Device Keys Missing

0 = Device keys present

1 = Device keys missing

NOTE: “Device Keys” refer to the keys that are injected during MfgCfg such as Transport Keys and MAC Keys. “Device Keys” do not include DUKPT keys (2007, 2002 and 2003). The DUKPT keys are “Financial Keys”.

Bit 3

RTC not Active/Set

0 = RTC active

1 = RTC inactive (not enabled)

Bit 2

Not Initialized

0 = Non-volatile storage initialized

1= Non-volatile storage not initialized

NOTE: “Initialized” means:

a. the master keys are generated internally.

b. the data & key storage area is initialized with an initialization indicator such as 0xAA55 and its integrity is known good.

Bit 1

Security Inactive

0 = Security activated

1= Security not activated

NOTE: “Security” means Tamper.

Bit 0

Tampered

0 = Device not tampered

1 = Device tampered

BYTE 2 – Self-Test Failure

Bit 7

Data Integrity

0 = Configuration data in NVS not corrupted

1 = Found data corruption in the configuration data

Bit 6

Key Integrity

0 = All fixed keys and injected keys are not corrupted

1 = Found key data for one or more keys is corrupted

Bit 5

Reserved

Always 0

Bit 4

Bit 3

Bit 2

Registers

0 = All hardware registers in uC required for normal operation of the device are initialized/ enabled/configured/ functional;

1 = Any one or more of those registers are not operating correctly

Bit 1

Crypto

0 = Passed test

1 = Failed test

NOTE: Enable Crypto engine in uC and test crypto functions and make sure it returns the expected results. (e.g. KAT – Known Answer Test)

Bit 0

RNG

0 = Passed test

1 = Failed test

NOTE: Enable RNG in uC and read RNG value a few times and make sure RNG returns different values for each read.

BYTE 3 – PCI Info

Bit 7

Reserved

Always 0

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

PCI HW ID Missing

0 = Found a valid PCI HW ID in Property 0x80

1 = PCI HW ID missing

Bit 1

Model Name Missing

0 = Found a valid model name in Property 0x84

1 = Model name missing

Bit 0

Serial # Missing

0 = Found a valid DSN in Property 0x03

1 = DSN missing

BYTE 4 – Unmapped Data Types

Bit 7

Reserved

Always 0

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Property 0x87 – Key map status

Property ID:

0x87

Property Type:

Binary

Length:

8 bytes

Get Property:

Yes

Set Property:

No – values come from key injection.

Starting Value:

0 – if no keys loaded

If a key has been loaded into the device, then it’s bit indicator should be set to 1.

Table - Key Map Status Bits

A fully loaded reader would return a keymap of: 7E 00 07 00 8C 00 00 00.

Byte

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

1 – TK1

0

MKIFTK

MFGTK

PRODTK

FINTK

DEVTK

MTK

TMPTK

2 – TK2

0

0

0

0

0

0

0

0

3 – MK1

0

0

0

0

0

MFRQMK

MREQMK

FREQMK

4 – MK2

0

0

0

0

0

0

0

0

5 – DK1

DKPTM7

0

0

0

DKPTM3

DKPTM2

0

0

6 – DK2

0

0

0

0

0

0

0

0

7 – DK3

0

0

0

0

0

0

0

0

8 – DK4

DKPTM1F

0

0

0

0

0

0

0

Property 0x88 - USB Packet Delay

Property ID:

0x88

Property Type:

Binary

Length:

1 byte

Get Property:

Yes

Set Property:

Yes

Starting Value:

0x00 (0 ms)

The host can use this property to adjust the device’s USB packet delay. The property can be set to 0 to have no delay, or it can be set to a specific value in the range of 1 to 255 ms.

  • Adjusting this value does not require security when the device is fully configured.

  • Adjusting this value does not affect the USB HOST POLL TIMEOUT, PROPERTY 0x52. In fact, it is mostly independent from the polling interval.

MagTek recommends the following values for various platforms:

  • Windows = 0x00 (0 ms)

  • Android = 0x19 (25 ms)

  • Linux = 0x32 (50 ms)

Last updated