fwupd/plugins/tpm
Richard Hughes eddaed0c11 Allow specifying more than one VendorID for a device
Asking the user for the UID mapping isn't working very well, as it requires lots
of manual handholding. It also doesn't work very well when the device vendor
does not actually have a PCI ID or if the vendor has split into two entities.

Just use the OUI address as an additional VendorID and match any of the device
IDs against any of the metadata-supplied values.
2021-01-04 22:30:20 +00:00
..
fu-plugin-tpm.c Record the TPM version when reporting a UEFI update 2020-10-22 16:16:23 +01:00
fu-tpm-device.c Allow specifying more than one VendorID for a device 2021-01-04 22:30:20 +00:00
fu-tpm-device.h Add many new plugins to support for the Host Security ID 2020-05-12 21:20:18 +01:00
meson.build Add a new plugin that exposes the system TPM device firmware version 2019-12-05 21:05:17 +00:00
README.md Add external interface messages 2020-10-26 12:05:20 -05:00
tpm.quirk Add a new plugin that exposes the system TPM device firmware version 2019-12-05 21:05:17 +00:00

TPM Support

Introduction

This allows enumerating Trusted Platform Modules, also known as "TPM" devices, although it does not allow the user to update the firmware on them.

GUID Generation

These devices use custom GUIDs:

  • TPM\VEN_$(manufacturer)&DEV_$(type)
  • TPM\VEN_$(manufacturer)&MOD_$(vendor-string)
  • TPM\VEN_$(manufacturer)&DEV_$(type)_VER_$(family),
  • TPM\VEN_$(manufacturer)&MOD_$(vendor-string)_VER_$(family)

...where family is either 2.0 or 1.2

Example GUIDs from a real system containing a TPM from Intel:

  Guid:                 34801700-3a50-5b05-820c-fe14580e4c2d <- TPM\VEN_INTC&DEV_0000
  Guid:                 03f304f4-223e-54f4-b2c1-c3cf3b5817c6 <- TPM\VEN_INTC&DEV_0000&VER_2.0

Vendor ID Security

The device is not upgradable and thus requires no vendor ID set.

External interface access

This plugin uses the tpm2-tss library to access the TPM. It requires access to /sys/class/tpm.