fwupd/plugins/dfu
Richard Hughes b6f79556f1 Use a SHA1 hash for the internal DeviceID
It's actually less scary to see a SHA1 hash than it is to see a path like
/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2. It's also way easier to
copy and paste into the various fwupdmgr command that require a device ID and
also means we can match a partial prefix much like git allows.

If we also move to a model where plugins can be changed during different stages
of the update (e.g. during detach) then the device might change connection type
and then the sysfs path not only becomes difficult to paste, but incorrect.

Session software doesn't care about the format of the device ID (it is supposed
to be an implementation detail) and so there's no API or ABI break here. A few
plugins also needed to be ported, but nothing too worrying.
2017-11-16 07:18:36 +00:00
..
contrib dfu: Add ChipID quirks for various XMEGA parts 2017-11-07 12:40:25 +00:00
fuzzing trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
tests trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-chunked.c dfu: Fix a potential divide by zero issue 2017-11-07 09:41:07 +00:00
dfu-chunked.h dfu: Add DfuChunked 2017-10-31 18:30:05 +00:00
dfu-cipher-xtea.c trivial: C99ify more for-loops 2017-09-28 09:23:52 +01:00
dfu-cipher-xtea.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-common.c dfu: Move some code to allow re-use 2017-11-02 19:08:51 +00:00
dfu-common.h dfu: Move some code to allow re-use 2017-11-02 19:08:51 +00:00
dfu-context.c dfu: Use a GError chain to properly report parsing failures 2017-11-07 12:40:25 +00:00
dfu-context.h dfu: Use the FuQuirk infrastructure to move the quirks out of the code 2017-11-02 19:08:51 +00:00
dfu-device-private.h dfu: Use the FuQuirk infrastructure to move the quirks out of the code 2017-11-02 19:08:51 +00:00
dfu-device.c dfu: Ensure the mode is set correctly for fake runtimes 2017-11-13 16:01:57 +00:00
dfu-device.h dfu: Add trivial helpers to get the current vid/pid/release 2017-11-11 21:06:18 +00:00
dfu-element.c trivial: Use the error domain from libfwupd 2017-09-08 13:33:34 +01:00
dfu-element.h trivial: Remove the GObjectClass padding for private objects 2017-10-28 15:18:35 +01:00
dfu-firmware.c Format the BCD USB revision numbers correctly 2017-10-13 10:03:06 +01:00
dfu-firmware.h trivial: Remove the GObjectClass padding for private objects 2017-10-28 15:18:35 +01:00
dfu-format-dfu.c trivial: C99ify more for-loops 2017-09-28 09:23:52 +01:00
dfu-format-dfu.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-format-dfuse.c trivial: C99ify more for-loops 2017-09-28 09:23:52 +01:00
dfu-format-dfuse.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-format-ihex.c dfu: Move some code to allow re-use 2017-11-02 19:08:51 +00:00
dfu-format-ihex.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-format-metadata.c trivial: C99ify more for-loops 2017-09-28 09:23:52 +01:00
dfu-format-metadata.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-format-raw.c trivial: Use the error domain from libfwupd 2017-09-08 13:33:34 +01:00
dfu-format-raw.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-image.c trivial: C99ify more for-loops 2017-09-28 09:23:52 +01:00
dfu-image.h trivial: Remove the GObjectClass padding for private objects 2017-10-28 15:18:35 +01:00
dfu-patch.c trivial: Use the error domain from libfwupd 2017-09-08 13:33:34 +01:00
dfu-patch.h trivial: Remove the GObjectClass padding for private objects 2017-10-28 15:18:35 +01:00
dfu-sector-private.h trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
dfu-sector.c trivial: Remove all the DFU API versioning information 2017-09-08 10:32:22 +01:00
dfu-sector.h trivial: Remove the GObjectClass padding for private objects 2017-10-28 15:18:35 +01:00
dfu-self-test.c trivial: Fix the DFU self tests when the ColorHug+ is connected 2017-11-13 14:07:50 +00:00
dfu-target-avr.c trivial: Fix NULL/FALSE confusion in the dfu plugin 2017-11-09 14:32:25 +00:00
dfu-target-avr.h dfu: Add support for one type of AVR32 device 2017-10-31 18:30:05 +00:00
dfu-target-private.h dfu: Add support for XMEGA chips 2017-11-07 12:40:25 +00:00
dfu-target-stm.c dfu: Add support for XMEGA chips 2017-11-07 12:40:25 +00:00
dfu-target-stm.h dfu: Split out the STM functionality to a new file 2017-10-31 18:30:05 +00:00
dfu-target.c Set environment variables to allow easy per-plugin debugging 2017-11-14 14:22:02 +00:00
dfu-target.h dfu: Add support for one type of AVR32 device 2017-10-31 18:30:05 +00:00
dfu-tool.c trivial: Don't show (null) in the UI when the DFU status is unknown 2017-11-07 12:40:25 +00:00
dfu-tool.sgml trivial: Move the man pages to the source locations 2017-10-09 09:59:52 +01:00
dfu.quirk dfu: Add quirk for AT32UC3B1256 as used in the RubberDucky 2017-11-13 14:25:02 +00:00
fu-plugin-dfu.c Use a SHA1 hash for the internal DeviceID 2017-11-16 07:18:36 +00:00
fuzzing.md trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
meson.build dfu: Use the FuQuirk infrastructure to move the quirks out of the code 2017-11-02 19:08:51 +00:00
README.md trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00

DFU Support

Introduction

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