fwupd/plugins/intel-usb4
Richard Hughes 99df74f0c2 Add API to wait for a device
This allows us to ignore all the delays when the device is emulated, with the
idea being to do dozens of device emulations in the CI tests.

Also, do not call fu_progress_sleep() when the device is emulated.
2023-02-01 09:42:08 +00:00
..
fu-intel-usb4-device.c Add API to wait for a device 2023-02-01 09:42:08 +00:00
fu-intel-usb4-device.h Move the generic Intel Goshen Ridge code out to a new plugin 2022-09-08 09:56:33 +01:00
fu-intel-usb4-plugin.c Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fu-intel-usb4-plugin.h Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
intel-usb4.quirk Move the generic Intel Goshen Ridge code out to a new plugin 2022-09-08 09:56:33 +01:00
meson.build Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
README.md Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00

title: Plugin: Intel USB4

Introduction

This plugin supports the Goshen Ridge hardware which is a USB-4 controller from Intel. These devices can updated using multiple interfaces, but this plugin only uses the XHCI interface.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in an unspecified binary file format, with vendor specific header.

This plugin supports the following protocol ID:

  • com.intel.thunderbolt

GUID Generation

These devices use a custom generation scheme, which is quite intentionally identical to thunderbolt plugin:

  • TBT-{nvm_vendor_id}{nvm_product_id}

Update Behavior

By default the USB4 controller will reboot at the end of the update.

Some devices (e.g. inside some Dell docks) will instead be updated the next time the USB-C plug from the dock is unplugged from the host, or when activated manually.

Vendor ID Security

The vendor ID is set from the USB vendor, in this instance set to USB:0x8087

External Interface Access

This plugin requires read/write access to /dev/bus/usb.