mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-03 06:09:51 +00:00
![]() Conceptually we were trying to stuff subtly different actions into one vfunc: * Read firmware from the device to update the verification checksums * Read a firmware blob from the device for debugging For the first action we might want to mask out the sections of the flash with serial numbers (so the verification hashes match the ones published on the LVFS) and for the second we want just a raw ROM file from the hardware with no pre-processing that we can compare against an external SPI dumper. Split out ->dump_firmware to get the raw blob, and allow plugins to also implement ->read_firmware() if they have to mask out specific offsets or remove specific images from the FuFirmware container. In the common case when masking is not required, fall back to using a 'binary' FuFirmware automatically to make most plugins simpler. |
||
---|---|---|
.. | ||
contrib | ||
fuzzing | ||
dfu-common.c | ||
dfu-common.h | ||
dfu-device.c | ||
dfu-device.h | ||
dfu-element.c | ||
dfu-element.h | ||
dfu-firmware.c | ||
dfu-firmware.h | ||
dfu-format-dfu.c | ||
dfu-format-dfu.h | ||
dfu-format-dfuse.c | ||
dfu-format-dfuse.h | ||
dfu-format-raw.c | ||
dfu-format-raw.h | ||
dfu-image.c | ||
dfu-image.h | ||
dfu-sector.c | ||
dfu-sector.h | ||
dfu-self-test.c | ||
dfu-target-avr.c | ||
dfu-target-avr.h | ||
dfu-target-private.h | ||
dfu-target-stm.c | ||
dfu-target-stm.h | ||
dfu-target.c | ||
dfu-target.h | ||
dfu-tool.c | ||
dfu-tool.h2m | ||
dfu.quirk | ||
fu-plugin-dfu.c | ||
fuzzing.md | ||
meson.build | ||
README.md |
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 |