|
| 1 | +--- |
| 2 | +title: How to configure the DMI Decoder |
| 3 | +description: Learn how to configure your DMI decoder on your device, or use other alternatives. |
| 4 | +ms.date: 12/22/2022 |
| 5 | +ms.topic: how-to |
| 6 | +--- |
| 7 | + |
| 8 | +# DMI Decoder configurations |
| 9 | + |
| 10 | +This article explains how to configure the DMI decoder, and alternative configurations for devices that do not support it. |
| 11 | + |
| 12 | +## Overview |
| 13 | + |
| 14 | +The Microsoft Defender for IoT **Device inventory** provides an overview of all IoT devices in your environment. The device inventory table can be customized to your preferences by adding or removing information fields, and filtering the fields. |
| 15 | + |
| 16 | +The DMI decoder is used to retrieve data on the hardware and firmware of the device. |
| 17 | + |
| 18 | +Retrieved fields are: |
| 19 | + |
| 20 | +- Firmware vendor |
| 21 | +- Firmware version |
| 22 | +- Hardware model |
| 23 | +- Hardware serial number |
| 24 | +- Hardware vendor |
| 25 | + |
| 26 | +For more information on the DMI Decoder, see [dmidecode(8): DMI table decoder - Linux man page (die.net)](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flinux.die.net%2Fman%2F8%2Fdmidecode&data=05%7C01%7Cmiashapan%40microsoft.com%7C07f0384fdcf14dd8cdb808dae0be41a4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638069405000113003%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FSFH0ALDDf6OPMsXW99gEP%2Bvu%2F1eIXyunIQth682NbQ%3D&reserved=0). |
| 27 | + |
| 28 | +## Populate SMBIOS tables for dmidecode |
| 29 | + |
| 30 | +To support dmidecode(8), SMBIOS tables needs to be present and valid. |
| 31 | +To implement, please refer to the [System Management BIOS specifications](https://lwn.net/Articles/451967/). |
| 32 | + |
| 33 | +## Alternative configurations |
| 34 | + |
| 35 | +For devices that do not support the DMI decoder, there are two alternative options for retrieving and setting the firmware and hardware fields. |
| 36 | + |
| 37 | +### JSON file |
| 38 | + |
| 39 | +To manually set the values on the device, create a JSON file. The micro agent will read the values from the JSON file and send them to the cloud. |
| 40 | + |
| 41 | +To configure the file, use the following path and format details: |
| 42 | + |
| 43 | +- Path: |
| 44 | + |
| 45 | + ```bash |
| 46 | + /etc/defender_iot_micro_agent/sysinfo.json |
| 47 | + ``` |
| 48 | + |
| 49 | +- Format: |
| 50 | + |
| 51 | +```bash |
| 52 | + "HardwareVendor": "<hardware vendor>", |
| 53 | + "HardwareModel": "<hardware model>", |
| 54 | + "HardwareSerialNumber": "<hardware serial number>", |
| 55 | + "FirmwareVendor": "<firmware vendor>", |
| 56 | + "FirmwareVersion": "<firmware version>" |
| 57 | +``` |
| 58 | + |
| 59 | +### Module twin configurations |
| 60 | + |
| 61 | +To manually set the values on the cloud, use the module twin configuration by setting the following properties: |
| 62 | + |
| 63 | +```bash |
| 64 | + “properties”:{ |
| 65 | + “desired”:{ |
| 66 | + “SystemInformation_HardwareVendor”: ”<data>”, |
| 67 | + “SystemInformation_HardwareModel”: ”<data>”, |
| 68 | + “SystemInformation_FirmwareVendor”: ”<data>”, |
| 69 | + “SystemInformation_ FirmwareVersion”: ”<data>”, |
| 70 | + “SystemInformation_HardwareSerialNumber”: ”<data>” |
| 71 | + } |
| 72 | + } |
| 73 | +``` |
| 74 | + |
| 75 | +## Next steps |
| 76 | + |
| 77 | +> [Configure Microsoft Defender for IoT agent-based solution](tutorial-configure-agent-based-solution.md) |
| 78 | + |
| 79 | +> [Configure pluggable Authentication Modules (PAM) to audit sign-in events (Preview)](configure-pam-to-audit-sign-in-events.md) |
0 commit comments