# `QMI.Codec.DeviceManagement`
[🔗](https://github.com/nerves-networking/qmi/blob/v0.10.3/lib/qmi/codec/device_management.ex#L7)

Codec for making device management requests

# `offline_reason`

```elixir
@type offline_reason() ::
  :host_image_misconfiguration
  | :pri_image_misconfiguration
  | :pri_version_incompatible
  | :device_memory_full
```

# `operating_mode`

```elixir
@type operating_mode() ::
  :online
  | :low_power
  | :factory_test
  | :offline
  | :resetting
  | :shutting_down
  | :persistent_low_power
  | :mode_only_low_power
  | :network_test_gw
```

# `operating_mode_response`

```elixir
@type operating_mode_response() :: %{
  :operating_mode =&gt; operating_mode(),
  optional(:offline_reason) =&gt; offline_reason(),
  optional(:hardware_controlled_mode?) =&gt; boolean()
}
```

# `serial_numbers`

```elixir
@type serial_numbers() :: %{
  esn: binary() | nil,
  imei: binary() | nil,
  meid: binary() | nil,
  imeisv_svn: binary() | nil
}
```

The serial numbers assigned to the device

  * `esn` - for 3GPP2 devices
  * `imei` - for 3GPP devices
  * `meid` - for 3GPP and 3GPP2 devices
  * `imeisv_svn` - for 3GPP devices

# `get_device_hardware_rev`

```elixir
@spec get_device_hardware_rev() :: QMI.request()
```

Get the device hardware revision

# `get_device_mfr`

```elixir
@spec get_device_mfr() :: QMI.request()
```

Get the device manufacturer

# `get_device_model_id`

```elixir
@spec get_device_model_id() :: QMI.request()
```

Get the device model

# `get_device_rev_id`

```elixir
@spec get_device_rev_id() :: QMI.request()
```

Get the firmware revision id

# `get_device_serial_numbers`

```elixir
@spec get_device_serial_numbers() :: QMI.request()
```

Request for the serial numbers of the device

# `get_operating_mode`

```elixir
@spec get_operating_mode() :: QMI.request()
```

Get the operating mode of a device

# `set_operating_mode`

```elixir
@spec set_operating_mode(operating_mode()) :: QMI.request()
```

Set operating mode of the device

---

*Consult [api-reference.md](api-reference.md) for complete listing*
