Mistake on this page? Email us

Provisioning information

This section describes all of the information and parameters that you must provision to the device so it can connect to Device Management. We call a collection of such parameters a bundle.

This section covers:

  1. General device information.
  2. Connection configurations.
  3. Update auth.
  4. Ownership claiming (or first to claim).
  5. Secure device access.
  6. Custom properties.

Parameter rules

Parameters can be in one of the following formats:

  • String: A collection of bytes (typically printable characters) of arbitrary size. The String is not a null-terminated string.
  • Integer: A number, represented in exactly the specified amount of bytes, expressed in machine endianness.
  • DER: A key or certificate in format X.509 DER.

To avoid conflicts, all the Arm Device Management defined device parameters listed below are prefixed with mbed.. For example, mbed.UseBootstrap. If you define your own custom properties, you should use your own prefixes, with the pattern customerName.parameterName.

Injection requirements

At a minimum, the provisioning information injected to the device must contain all of the mandatory parameters (as detailed in the tables below).

KCM stores these as key-value pairs. You need to format the provisioning information in a way that your factory tool understands and the delivery protocol supports. Then, parse and process it yourself on the device. Pay special attention to the following (detailed for each parameter in the tables below):

  • Name on the device: You need to inject to KCM the parameter with the name the device expects.
  • KCM type: KCM uses the type to determine how to save the parameter on the device storage, which verification to perform and how to retrieve the parameter.
  • Format in KCM: Ensure that you create parameters in the correct format.

If you are using FCU, the provisioning information is formatted by FCU in a bundle and parsed by FCC on the device. The bundle's format is internal - you don't need to manipulate it. In the tables below, pay special attention to:

  • FCU configuration source: Defines where the FCU takes the parameter's value from.
  • FCU parameter name: This is the name by which FCU knows that parameter; it is the name of either a configuration option or an API parameter.

Understanding the tables

Whether or not you are using FCU, the tables below contain information you'll need for your factory process:

  • If you are using your own tools to generate and inject all parameters to the device, please use these tables to ensure that you pass the required parameters in the correct format.
  • If you are using FCU to generate all parameters, you may still find these tables useful for your own understanding.
  • In all cases, you may need to refer to these tables while debugging the parameter generation process.

General device information

Endpoint name

Tip: For more information on endpoint names, see the device identity section.

FCU parameter name endpoint_name
Name on the device mbed.EndpointName
Details Unique identifier of the device you give to your device in the factory. FCU uses the endpoint name as the Common Name (CN) of the device certificate. We recommend using only the characters a-z, A-Z, ' () +,-.?:/= and SPACE for the endpoint name.
Mandatory/optional Mandatory
FCU configuration source API parameter
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present and not empty
Validations in FCC Present and not empty

Entropy

FCU parameter name N/A
Name on the device Entropy
Details Determines the entropy source. Devices without a strong source of entropy are considered insecure. A reliable source of entropy must be provided, so that any keys and credentials generated on the device are not predictable to an attacker.
Mandatory/optional Optional
FCU configuration source
Depends on entropy-generation-mode:
by_deviceEntropy does not exist in the bundle
by_toolFCU generates internally
externally_suppliedFile entropy.bin in the device configuration folder (derived from API parameter device_keys_location)
KCM type N/A
Format in KCM N/A
Validations in FCU Present if entropy-generation-mode is not by_device, binary, size of 48 bytes
Validations in FCC If present - size of 48 bytes

Verify device configuration on device

FCU parameter name verify-on-device
Name on the device Verify
Details True/False.
Mandatory/optional Optional
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM Integer, 4 bytes, machine endianity, 1 (true), 0 (false)
Validations in FCU Present only when configured true
Validations in FCC N/A

Disable factory flow

FCU parameter name factory_fcc_disable
Name on the device Disable
Details True/False.
Mandatory/optional Optional
FCU configuration source API parameter
KCM type Configuration parameter
Format in KCM Integer, 4 bytes, machine endianity, 1 (true), 0 (false)
Validations in FCU Present only when configured true
Validations in FCC N/A

LwM2M Device Object

Manufacturer

FCU parameter name manufacturer-name
Name on the device mbed.Manufacturer
Details Manufacturer name as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present
Validations in FCC Present

Model number

FCU parameter name model-number
Name on the device mbed.ModelNumber
Details Device model number as specified in the OMA LwM2M 1.0.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present
Validations in FCC Present

Serial number

FCU parameter name serial_number
Name on the device mbed.SerialNumber
Details Device serial number, as specified in the OMA LwM2M 1.0 standard. We recommend using the same value as the endpoint name.
Mandatory/optional Mandatory
FCU configuration source API parameter
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present
Validations in FCC Present

Device type

FCU parameter name device-type
Name on the device mbed.DeviceType
Details Device type, as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present
Validations in FCC Present

Hardware version

FCU parameter name hardware-version
Name on the device mbed.HardwareVersion
Details Hardware version, as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM String
Validations in FCU Present
Validations in FCC Present

Memory total size

FCU parameter name memory-total
Name on the device mbed.MemoryTotalKB
Details Total device memory as specified in the OMA LwM2M 1.0 standard.
In kilobytes.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM Integer, 4 bytes, machine endianity
Validations in FCU Present
Validations in FCC Present

Time synchronization (part of LwM2M Device Object)

Synchronize device time

FCU parameter name time-sync
Name on the device N/A
Details True/False.
Mandatory/optional Mandatory
FCU configuration source Configuration file
KCM type N/A
Format in KCM N/A
Validations in FCU Present, boolean
Validations in FCC N/A

Device current Unix time (UTC)

FCU parameter name N/A
Name on the device mbed.CurrentTime
Details Used to initialize the device RTC clock, as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Optional
FCU configuration source System Time, if time-sync=true
KCM type Configuration parameter
Format in KCM Integer, 8 bytes, machine endianity, seconds since 1 January 1970
Validations in FCU N/A
Validations in FCC N/A

Time zone of the device

FCU parameter name timezone
Name on the device mbed.Timezone
Details Device time zone, as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Optional
FCU configuration source Configuration file
KCM type Configuration parameter
Format in KCM String (IANA time zone, for example Europe/Paris)
Validations in FCU Valid IANA time zone
Validations in FCC N/A

Offset of the device time zone from UTC

FCU parameter name N/A
Name on the device mbed.UTCOffset
Details Offset from UTC, as specified in the OMA LwM2M 1.0 standard.
Mandatory/optional Optional
FCU configuration source UTC offset for given time zone
KCM type Configuration parameter
Format in KCM String (ISO-8601, for example +02:00)
Validations in FCU Valid time format ISO-8601
Validations in FCC N/A