Plugin: Dell

Introduction

This allows installing Dell capsules that are not part of the ESRT table.

GUID Generation

These devices uses custom GUIDs for Dell-specific hardware.

  • Thunderbolt devices: TBT-0x00d4u$(system-id)
  • TPM devices $(system-id)-$(mode), where mode is either 2.0 or 1.2

In both cases the system-id is derived from the SMBIOS Product SKU property.

TPM GUIDs are also built using the TSS properties TPM2_PT_FAMILY_INDICATOR, TPM2_PT_MANUFACTURER, and TPM2_PT_VENDOR_STRING_* These are built hierarchically with more parts for each GUID:

  • DELL-TPM-$FAMILY-$MANUFACTURER-$VENDOR_STRING_1
  • DELL-TPM-$FAMILY-$MANUFACTURER-$VENDOR_STRING_1$VENDOR_STRING_2
  • DELL-TPM-$FAMILY-$MANUFACTURER-$VENDOR_STRING_1$VENDOR_STRING_2$VENDOR_STRING_3
  • DELL-TPM-$FAMILY-$MANUFACTURER-$VENDOR_STRING_1$VENDOR_STRING_2$VENDOR_STRING_3$VENDOR_STRING_4

If there are non-ASCII values in any vendor string or any vendor is missing that octet will be skipped.

Example resultant GUIDs from a real system containing a TPM from Nuvoton:

  Guid:                 7d65b10b-bb24-552d-ade5-590b3b278188 <- DELL-TPM-2.0-NTC-NPCT
  Guid:                 6f5ddd3a-8339-5b2a-b9a6-cf3b92f6c86d <- DELL-TPM-2.0-NTC-NPCT75x
  Guid:                 fe462d4a-e48f-5069-9172-47330fc5e838 <- DELL-TPM-2.0-NTC-NPCT75xrls

Devices powered by the Dell Plugin

The Dell plugin creates device nodes for PC’s with upgradable TPMs.

These device nodes can be flashed using UEFI capsule but don’t use the ESRT table to communicate device status or version information.

This is intentional behavior because more complicated decisions need to be made on the OS side to determine if the devices should be offered to flash.

External Interface Access

This plugin requires read/write access to /dev/wmi/dell-smbios and /sys/bus/platform/devices/dcdbas.

Version Considerations

This plugin has been available since fwupd version 0.8.0.

Owners

Anyone can submit a pull request to modify this plugin, but the following people should be consulted before making major or functional changes:

  • Mario Limonciello: superm1