# Draft - Properties - 0x00 - 0x22

### About Properties <a href="#toc74061430" id="toc74061430"></a>

Properties are used to provide information about the device and how to configure it.  Secured properties are set at the factory or by an administrator using software tools supplied by MagTek.  Property values take effect immediately unless specified otherwise.

### Property 0x00 – Main Firmware ID <a href="#toc156981720" id="toc156981720"></a>

| Property Type: | String                            |
| -------------- | --------------------------------- |
| Length:        | Varies                            |
| Get Property:  | Yes                               |
| Set Property:  | No                                |
| Default Value: | Part number of installed firmware |

This read-only property returns the main firmware part number, a dash, the major and minor revision number, followed by a dash and the firmware type. {main firmware part number}-{3 character rev}-{type}

| Example            |
| ------------------ |
| 1000004854-AD9-PCI |

### Property 0x02 - USB Polling Interval

| Property ID:   | 0x02   |
| -------------- | ------ |
| Property Type: | Byte   |
| Length:        | 1 byte |
| Get Property:  | Yes    |
| Set Property:  | Yes    |
| Default Value: | 0x01   |

This one-byte value (1-255) sets the device’s polling interval in milliseconds for the Interrupt in Endpoint. The device sends the value of this property as part of USB device enumeration to the host.

### Property 0x03 - Device Serial Number <a href="#toc265755888" id="toc265755888"></a>

| Property ID:   | 0x03   |
| -------------- | ------ |
| Property Type: | String |
| Length:        | 7      |
| Get Property:  | Yes    |
| Set Property:  | No     |
| Default Value: | N/A    |

This value is also found on the product label. The property contains the 7-character MagTek device serial number.  This value is used for USB device enumeration, data messages, and message security.

### Property 0x04 - MagneSafe Version Number <a href="#toc87961051" id="toc87961051"></a>

| Property ID:    | 0x04        |
| --------------- | ----------- |
| Property Type:  | String      |
| Length:         | 0 - 7 bytes |
| Get Property:   | Yes         |
| Set Property:   | No          |
| Standard Value: | PCIV01      |

This is a maximum 7-byte read-only property that identifies the MagneSafe Feature Level supported on this device.

### Property 0x05 - Track ID Enable <a href="#toc156981724" id="toc156981724"></a>

| Property ID:   | 0x05   |
| -------------- | ------ |
| Property Type: | Byte   |
| Length:        | 1 byte |
| Get Property:  | Yes    |
| Set Property:  | Yes    |
| Default Value: | 0x95   |

This property is defined as follows:

### Table - Track Enable Property

| Bit Position | 7  | 6 | 5             | 4             | 3             | 2             | 1             | 0             |
| ------------ | -- | - | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
|              | id | 0 | T<sub>3</sub> | T<sub>3</sub> | T<sub>2</sub> | T<sub>2</sub> | T<sub>1</sub> | T<sub>1</sub> |

* id = 0: Decodes standard ISO/ABA cards only
* id = 1: Decodes AAMVA and 7-bit cards also

If the id flag is set to 0, only tracks that conform to the ISO card data format allowed for that track are decoded.  If the track cannot be decoded by the ISO method, the device reports a decode error.

For each pair of track bits, valid values are as follows:

* T<sub>#</sub> = 00: Track Disabled
* T<sub>#</sub> = 01: Track Enabled
* T<sub>#</sub> = 10: Track Enabled and Required (Generates error if track is blank)

### Property 0x07 - ISO Track PAN Mask <a href="#toc156981725" id="toc156981725"></a>

| Property ID:   | 0x07    |
| -------------- | ------- |
| Property Type: | String  |
| Length:        | 6 bytes |
| Get Property:  | Yes     |
| Set Property:  | Yes     |
| Default Value: | 04040Y  |

This property specifies how the device should mask data on ISO/ABA type cards:  Each byte in the sequence has the following meaning:

### Table - ISO Track PAN Masking - Non-PCI Device

<table data-header-hidden><thead><tr><th width="78.54547119140625"></th><th></th></tr></thead><tbody><tr><td>Length</td><td>Description</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the leading characters of the PAN the device sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the trailing characters of the PAN the device sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>1</td><td><p>Masking Character.  This byte specifies which character the device uses for masking. If this byte contains the uppercase letter ‘V’, the following rules apply:</p><p> </p><ul><li>The device masks the PAN using character ‘0’</li><li>The device leaves all data after the PAN unmasked, leaving Discretionary Data (“DD”) and other non-PAN data available for the host to read.</li><li>0x00 (NULL character) is not allowed.</li></ul></td></tr><tr><td>1</td><td>This byte specifies whether the device applies Mod 10 Correction to the PAN.  “Y” means Yes, “N” means No.  This option is only effective if the Masking Character specified by this command is “0”.</td></tr></tbody></table>

### Table - ISO Track PAN Masking - PCI Device

<table data-header-hidden><thead><tr><th width="82.18182373046875"></th><th></th></tr></thead><tbody><tr><td>Length</td><td>Description</td></tr><tr><td>2</td><td><p>These bytes are an ASCII representation of a decimal value that specifies how many of the leading characters of the PAN the device sends unmasked.</p><p> </p><ul><li>The leading character range is from “00” to “08” when the PAN length is greater than 15.</li><li>The leading character range is from “00” to “06” when the PAN length is 15 or less.</li></ul></td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the trailing characters of the PAN the device sends unmasked.  The range is from “00” to “04”.</td></tr><tr><td>1</td><td><p>Masking Character.  This byte specifies which character the device uses for masking.</p><p> </p><ul><li>The uppercase letter ‘V’ is not supported.</li><li>0x00 (NULL character) is not allowed.</li></ul></td></tr><tr><td>1</td><td>This byte specifies whether the device applies Mod 10 Correction to the PAN.  “Y” means Yes, “N” means No.  This option is only effective if the Masking Character specified by this command is “0”.</td></tr></tbody></table>

### Property 0x08 - AAMVA Track Mask

| Property ID:   | 0x08    |
| -------------- | ------- |
| Property Type: | String  |
| Length:        | 6 bytes |
| Get Property:  | Yes     |
| Set Property:  | Yes     |
| Default Value: | 04040Y  |

This property specifies the factors for masking data on AAMVA type cards.  Each byte in the property has the following meaning:

### Table - Factors for Masking Data on AAMVA Type Cards - Non-PCI device

<table data-header-hidden><thead><tr><th width="81.272705078125"></th><th></th></tr></thead><tbody><tr><td>Length</td><td>Description</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the leading characters of the Driver’s License/ID Number (DL/ID#) the device sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the trailing characters of the DL/ID# sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>1</td><td><p>Masking Character.  This byte specifies which character the device uses for masking.  If this byte contains the uppercase letter ‘V’, the following rules apply:</p><p> </p><ul><li>The device masks the PAN according to the rules of this property (Property 0x34 - Send AAMVA Card Data is ignored).</li><li>The device uses ‘0’ for masking the PAN.</li><li>The device sends all data after the PAN without masking.</li><li>0x00 (NULL character) is not allowed.</li></ul></td></tr><tr><td>1</td><td>This byte specifies whether the device applies Mod 10 Correction to the DL/ID#.  “Y” means Yes, “N” means No.  This option is only effective if the masking character specified in this command is “0”.</td></tr></tbody></table>

### Table - Factors for Masking Data on AAMVA Type Cards - PCI device

<table data-header-hidden><thead><tr><th width="84.90911865234375"></th><th></th></tr></thead><tbody><tr><td>Length</td><td>Description</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the leading characters of the Driver’s License/ID Number (DL/ID#) the device sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>2</td><td>These bytes are an ASCII representation of a decimal value that specifies how many of the trailing characters of the DL/ID# sends unmasked.  The range is from “00” to “99”.</td></tr><tr><td>1</td><td><p>Masking Character.  This byte specifies which character the device uses for masking.  If this byte contains the uppercase letter ‘V’, the following rules apply:</p><p> </p><ul><li>The device masks the PAN according to the rules of this property (Property 0x34 - Send AAMVA Card Data is ignored).</li><li>The device uses ‘0’ for masking the PAN.</li><li>The device sends all data after the PAN without masking.</li><li>0x00 (NULL character) is not allowed.</li></ul></td></tr><tr><td>1</td><td>This byte specifies whether the device applies Mod 10 Correction to the DL/ID#.  “Y” means Yes, “N” means No.  This option is only effective if the masking character specified in this command is “0”.</td></tr></tbody></table>

### Property 0x10 - Interface Type <a href="#toc156981727" id="toc156981727"></a>

<table data-header-hidden><thead><tr><th width="220"></th><th></th></tr></thead><tbody><tr><td>Property ID:</td><td>0x10</td></tr><tr><td>Property Type:</td><td>Byte</td></tr><tr><td>Length:</td><td>1 byte</td></tr><tr><td>Get Property:</td><td>Yes</td></tr><tr><td>Set Property:</td><td>Yes (No for devices that switch connections automatically)</td></tr><tr><td>Default Value:</td><td>Dependent on device type:</td></tr></tbody></table>

This property represents the device’s current connection type.

Valid values for this property are:

* 0x00 = USB HID (HID Only)
* 0x01 = USB Keyboard Emulation (KB) (USB KB Only)
* 0x02 = iAP2
* 0xFF = One-Time Automatic (HID Only | iAP2 Only). When the property is set to this value and the device connects to a host, the device attempts to determine which interface type the host is using.  After it successfully detects the interface type, it automatically sets this property to the value that corresponds to that interface type.

### Property 0x15 – MP Options (MAC MREQMK) <a href="#ref179440222" id="ref179440222"></a>

| Property ID:   | 0x15             |
| -------------- | ---------------- |
| Property Type: | Byte             |
| Length:        | 1 byte           |
| Get Property:  | Yes              |
| Set Property:  | Yes (Secure MAC) |
| Default Value: | 0x00             |

Configures Magneprint options.

### Table - MP Option Byte

| 7 | 6 | 5 | 4 | 3 | Bit 2                                                    | Bit 1                                                | Bit 0 |
| - | - | - | - | - | -------------------------------------------------------- | ---------------------------------------------------- | ----- |
| 0 | 0 | 0 | 0 | 0 | <p>0=Use SRED encrypt key</p><p>1=Use MP encrypt key</p> | <p>0=Normal Length MP</p><p>1=Extended Length MP</p> | 0     |

### Property 0x1E – Start of Message

| Property ID:   | 0x1E        |
| -------------- | ----------- |
| Property Type: | String      |
| Length:        | 0-7 bytes   |
| Get Property:  | Yes         |
| Set Property:  | Yes         |
| Default Value: | Null String |

The device sends the value of this property to the host before all other card data.  For example, if the host software requires a set of keystrokes to begin the process of receiving card data, this property could be set to transmit that keystroke sequence.

### Property 0x22 – End of Message <a href="#ref397072157" id="ref397072157"></a>

| Property ID:   | 0x22                   |
| -------------- | ---------------------- |
| Property Type: | String                 |
| Length:        | 0-7 bytes              |
| Get Property:  | Yes                    |
| Set Property:  | Yes                    |
| Default Value: | 0x0D (carriage return) |

The device sends the value of this property to the host at the end of the data message. For example, if the host software requires a set of keystrokes to end the process of receiving card data, this property could be set to transmit that keystroke sequence. If the value is 0, the device does not send a termination string.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.magtek.com/hardware/card-readers/magnetic-stripe-readers/idynamo-5-gen-iii/draft-documents/5-6-26-draft-of-programmers-manual-commands/draft-properties/draft-properties-0x00-0x22.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
