# Command 0xD111 - Set Property (Unsecured)

\| ![](/spaces/1lWLescKFIPsMeIJI6Cd/files/169fb25be486b64cb7a99e331efc51849fc84ad3) |

{% hint style="warning" %}
**Properties are stored in flash memory, which inherently has a limited number of read-write cycles before it begins to wear. For this reason, MagTek recommends setting properties as few times as possible over the lifecycle of the device.**
{% endhint %}

The host uses this command to set device configuration / settings that do not require security. For setting properties that require security see **Command 0xD112 - Set Property (Secured)**.

Each data element representing device configuration is part of a tree of values and is uniquely identified by an Object Identifier (also known as an Object ID or OID) as defined in ITU-T X.660 | ISO/IEC 9834-1, which can be found by searching for X.660 in the publications on [www.itu.int.](http://www.itu.int/) This document refers to these data elements collectively as **Properties**. The list of all properties and their corresponding OIDs and other characteristics is provided in section **8 Configuration**.

This command can be used in multiple ways. For simplicity, this document describes one possible way that does not require detailed knowledge of the X.660 specification.

To set a property, follow these steps:

{% stepper %}
{% step %}

### Determine property and desired value

The host determines which property it wants to set and the value it wants to set in the device (see section **8 Configuration**).
{% endstep %}

{% step %}

### Compose and send request

The host composes a command request in the format described below, and sends it to the device.
{% endstep %}

{% step %}

### Receive response

The device sends a response in the format described below. If the request succeeded, the response payload is identical to the request payload. If it did not succeed, the device returns a failure response with no command-specific parameters.
{% endstep %}
{% endstepper %}

## Table - Request Data for Command 0xD111 - Set Property (Unsecured)

<table><thead><tr><th width="184">Tag</th><th width="76.66668701171875">Len</th><th width="260.33331298828125">Value / Description</th><th width="74.33331298828125">Typ</th><th width="75">Req</th><th width="99.3333740234375">Default</th></tr></thead><tbody><tr><td>Beginning of any wrappers, at minimum including <strong>Request Message</strong> </td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>D111 = <strong>Command 0xD111 - Set Property (Unsecured)</strong></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>81</td><td>var</td><td>Company ID This value is the root of the “long form” of the Property OID, and is the same for all MagTek devices. Leave this parameter empty and use the default.</td><td>B</td><td>O</td><td>2B 06 01 04 01 F6 09</td></tr><tr><td>82</td><td>03</td><td><p>Device Family ID This value is the second portion of the “long form” of the Property OID, and is the same for all similar MagTek devices within the same product family. Unless you have a specific use case that uses this parameter, leave this parameter empty and use the default otherwise your software may not work with multiple products. </p><p>Byte 1 Platform </p><p>0x02 = Apollo Platform </p><p>Byte 2 Product</p><ul><li>0x01 = DynaFlex, 0x02 = DynaProx, 0x03 = DynaFlex II PED, 0x04 = DynaFlex II, 0x05 = DynaFlex II Go</li><li>Byte 3 Device Variant - 0x00 = Standard</li></ul></td><td>B</td><td>O</td><td>Product dependent</td></tr><tr><td>85</td><td>01</td><td>Property Type This parameter contains the first number of the Property OID as documented in section <strong>8 Configuration</strong>. - 0x01 = Device Settings - 0x02 = Device Information</td><td>B</td><td>R</td><td></td></tr><tr><td>87</td><td>var</td><td><p>Property OID Tree Prefix This optional parameter contains subsequent numbers of the Property’s OID as documented in section <strong>8 Configuration</strong>, but can not include the final number. For simplicity, populate this with the 2nd through the second-to-last number in the property’s OID. </p><p></p><p>This can also be populated with fewer numbers from the OID, in which case the remaining numbers of the OID must be included in the <strong>Property OID Remainder</strong>.</p></td><td>B</td><td>O</td><td>Null</td></tr><tr><td>89</td><td>var</td><td><p>Property OID Remainder This contains the remaining numbers of the Property’s OID, BER TLV encoded per X.660 section <em>8 Basic encoding rules</em>. For details about TLV encoding an OID. </p><p></p><p>For simplicity, include all numbers except the final number of the property’s OID in <strong>Property Type</strong> and <strong>Property OID Tree Prefix</strong>, and include the final number of the OID OR 0xC0 here, then append a length corresponding to one of the following, then append the value to set the property to:</p><ul><li>If the length of the value you are setting is 0x7F or shorter, include one byte equal to the length of the value.</li><li>If the length of the value you are setting is greater than 0x7F but less than 0xFFFF, append 82, then two bytes equal to the length of the value.</li></ul></td><td>B</td><td>R</td><td></td></tr><tr><td>End of any wrappers, at minimum including <strong>Request Message</strong></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## Table - Response Data for Command 0xD111 - Set Property (Unsecured)

<table><thead><tr><th width="216.33331298828125">Tag</th><th width="74.66668701171875">Len</th><th width="237.66668701171875">Value / Description</th><th width="73.33331298828125">Typ</th><th width="79.99993896484375">Req</th><th width="96.6666259765625">Default</th></tr></thead><tbody><tr><td>Beginning of any wrappers, at minimum including <strong>Response Message</strong> </td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>D111 = <strong>Command 0xD111 - Set Property (Unsecured)</strong></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>81</td><td>var</td><td>Company ID This contains the Company ID the host included in the request message. If this parameter is not included in the request, the response does not include it.</td><td>B</td><td>O</td><td>N/A</td></tr><tr><td>82</td><td>03</td><td>Device Family ID This contains the Device Family ID the host included in the request message. If this parameter is not included in the request, the response does not include it.</td><td>B</td><td>O</td><td>N/A</td></tr><tr><td>85</td><td>01</td><td>Property Type This contains the Property Type the host included in the request message.</td><td>B</td><td>R</td><td>N/A</td></tr><tr><td>87</td><td>var</td><td>Property OID Tree Prefix This contains the Property OID Tree Prefix the host included in the request message. If this parameter is not included in the request, the response does not include it.</td><td>B</td><td>O</td><td>N/A</td></tr><tr><td>89</td><td>var</td><td>Property OID Remainder This contains the same TLV-encoded portion of the OID the host included in the Property OID Remainder of the request message.</td><td>B</td><td>R</td><td>N/A</td></tr><tr><td>End of any wrappers, at minimum including <strong>Response Message</strong> </td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## Table - Request Example

{% code title="Request Example (Hex)" %}

```
Set Property 1.2.7.1.1.1 Device Reset Occurred Notification Control
AA 00 81 04 01 55 D1 11 84 10 D1 11 85 01 01 87 04 02 07 01 01 89 03 C1 01 00
```

{% endcode %}

## Table - Response Example

{% code title="Response Example (Hex)" %}

```
Set Property 1.2.7.1.1.1 Device Reset Occurred Notification Control
AA 00 81 04 01 55 D1 11 84 10 D1 11 85 01 01 87 04 02 07 01 01 89 03 C1 01 00=
```

{% endcode %}


---

# 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/mms-dyna-devices/emv-common-kernel/dynaflex-ii-go/dynaflex-ii-go-document-drafts/programmers-manuals/programmers-manuals-commands/commands/command-group-0xd1nn-settings-and-information/command-0xd111-set-property-unsecured.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.
