fwupd/plugins/dfu
Richard Hughes 87a8091bed trivial: Fix a crash using fu_firmware_image_get_chunks()
Add a GError as it can return NULL for invalid circumstances. It's okay to
change the API as this symbol has not yet been in a tarball release.
2021-02-11 13:13:06 +00:00
..
contrib Use black to format python source in a consistent manner 2020-04-13 23:06:30 +01:00
dfu-common.c libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-common.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-device.c Be more paranoid when parsing from ASCII buffers 2021-02-09 16:37:25 +00:00
dfu-device.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-sector.c trivial: Fix up some typos from codespell 2019-11-01 14:21:20 +00:00
dfu-sector.h dfu: Remove private headers that do not need to exist 2019-10-14 15:24:08 -05:00
dfu-self-test.c libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-target-avr.c dfu: Use FuChunk rather than defining DfuElement 2021-02-01 19:34:28 +00:00
dfu-target-avr.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
dfu-target-private.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-target-stm.c dfu: Use FuChunk rather than defining DfuElement 2021-02-01 19:34:28 +00:00
dfu-target-stm.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
dfu-target.c trivial: Fix a crash using fu_firmware_image_get_chunks() 2021-02-11 13:13:06 +00:00
dfu-target.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
dfu-tool.c trivial: Fix a crash using fu_firmware_image_get_chunks() 2021-02-11 13:13:06 +00:00
dfu-tool.h2m use help2man for dfu-tool too 2018-02-09 17:26:18 +00:00
dfu.quirk dfu: Add support for GD32VF103 as found in the Longan Nano 2021-01-27 16:27:34 +00:00
fu-plugin-dfu.c Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
meson.build libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
README.md dfu: Allow quirking the target transfer size 2021-01-21 09:18:38 +00:00

DFU Support

Introduction

Device Firmware Update is a standard that allows USB devices to be easily and safely updated by any operating system.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in DFU or DfuSe file format.

This plugin supports the following protocol IDs:

  • org.usb.dfu
  • com.st.dfuse

GUID Generation

These devices use the standard USB DeviceInstanceId values, e.g.

  • USB\VID_273F&PID_1003&REV_0001
  • USB\VID_273F&PID_1003
  • USB\VID_273F

Vendor ID Security

The vendor ID is set from the USB vendor, for example USB:0x0A12

Quirk use

This plugin uses the following plugin-specific quirks:

Quirk Description Minimum fwupd version
DfuFlags Optional quirks for a DFU device which doesn't follow the DFU 1.0 or 1.1 specification 1.0.1
DfuForceVersion Forces a specific DFU version for the hardware device. This is required if the device does not set, or sets incorrectly, items in the DFU functional descriptor. 1.0.1
DfuForceTimeout Forces a specific device timeout, in ms 1.4.0
DfuForceTransferSize Forces a target transfer size, in bytes 1.5.6

External interface access

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