fwupd/src
Sergii Dmytruk 744e17f68f Load hwinfo on fwupdtool firmware-dump command
Otherwise can't read firmware of devices whose detection depends on
hardware information.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-25 19:54:47 +01:00
..
fuzzing Add support for the PHAT table 2021-05-12 12:02:33 +01:00
fu-agent.c Never iterate the global default main context 2021-01-11 09:13:46 +00:00
fu-bluez-backend.c Cancel the GDBusObjectManager operation to fix a potential crash 2021-04-15 08:35:40 +01:00
fu-bluez-backend.h Add initial support for Bluez bluetooth devices 2021-02-22 16:53:41 +01:00
fu-config.c Allow configuring URI scheme preferences 2021-01-28 15:34:36 +00:00
fu-config.h Allow configuring URI scheme preferences 2021-01-28 15:34:36 +00:00
fu-debug.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-debug.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-device-list.c Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
fu-device-list.h Correctly order devices when using logical parents 2020-09-14 10:13:33 -05:00
fu-engine-helper.c trivial: fix some trailing whitespace problems across the project 2021-04-09 16:02:20 +01:00
fu-engine-helper.h Move MOTD population into the daemon 2020-01-16 10:33:43 -06:00
fu-engine-request.c Allow firmware to require specific features from front-end clients 2020-06-27 15:43:57 +01:00
fu-engine-request.h Allow firmware to require specific features from front-end clients 2020-06-27 15:43:57 +01:00
fu-engine.c Add support for soft-requirements that can be ignored with --force 2021-06-21 21:57:09 +01:00
fu-engine.h Add a composite ID that is used to identify all devices in the same physical package 2021-04-22 16:27:04 +01:00
fu-firmware-dump.c Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-history.c trivial: Style fixes to lots of gtk-doc 2021-05-10 14:35:10 +01:00
fu-history.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-idle.c trivial: Always clear the mutex before clearing the thing it protects 2020-06-22 21:55:50 +01:00
fu-idle.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-install-task.c trivial: Always use the node cache when getting releases 2021-06-21 16:43:20 -06:00
fu-install-task.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-keyring-utils.c trivial: Style fixes to lots of gtk-doc 2021-05-10 14:35:10 +01:00
fu-keyring-utils.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-main.c Fix a regression in updating the WD19TB dock 2021-04-28 13:17:37 +01:00
fu-offline.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-plugin-list.c Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-plugin-list.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-polkit-agent.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-polkit-agent.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-progressbar.c fix broken progressbar display on urxvt due to improper calculation of to_erase 2021-02-15 15:22:47 +00:00
fu-progressbar.h trivial: Move progressbar out of libfwupdplugin 2019-11-27 08:18:02 -06:00
fu-remote-list.c Add fwupd_remote_setup() to split out the 'parsing' from the 'validation' 2021-05-14 06:02:56 +01:00
fu-remote-list.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-security-attr.c intel-spi: Allow downloading the firmware image from the eSPI controller 2021-04-01 21:56:35 +01:00
fu-security-attr.h Use the security attributes to construct a better name 2020-07-01 20:10:39 +01:00
fu-self-test.c Add support for soft-requirements that can be ignored with --force 2021-06-21 21:57:09 +01:00
fu-systemd.c trivial: Remove excess #include 2021-01-13 20:06:08 +00:00
fu-systemd.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-tool.c Load hwinfo on fwupdtool firmware-dump command 2021-06-25 19:54:47 +01:00
fu-udev-backend.c Remove the unused fu_plugin_recoldplug() 2021-04-01 16:01:06 +01:00
fu-udev-backend.h Split the Udev and USB backends out of FuEngine 2021-02-10 12:04:05 +00:00
fu-usb-backend.c Add a backend ID to the device 2021-02-24 16:49:42 +00:00
fu-usb-backend.h Split the Udev and USB backends out of FuEngine 2021-02-10 12:04:05 +00:00
fu-util-common.c trivial: Fix search and replace typo in defining the term colors 2021-06-24 14:22:08 +01:00
fu-util-common.h trivial: Fix search and replace typo in defining the term colors 2021-06-24 14:22:08 +01:00
fu-util.c trivial: Fix a compile warning when there is no polkit 2021-05-21 11:33:58 -05:00
fwupd.gresource.xml Add initial build files and enough code to launch a simple D-Bus daemon 2015-02-26 18:16:40 +00:00
fwupdagent.1 Do not use help2man to build manual pages 2021-04-11 13:42:04 +01:00
fwupdmgr.1 Do not use help2man to build manual pages 2021-04-11 13:42:04 +01:00
fwupdtool.1 Do not use help2man to build manual pages 2021-04-11 13:42:04 +01:00
meson.build Export FuBackend into libfwupdplugin for future use 2021-05-25 17:17:45 +01:00
org.freedesktop.fwupd.xml trivial: Remove traces of the UA HSI suffixes 2020-11-06 09:57:03 +00:00
README.md Simplify the quirk file format 2021-03-03 08:30:34 +00:00

Quirk use

Quirks are defined by creating an INI style file in the compiled in quirk location (typically /usr/share/fwupd/quirks.d).

The quirk is declared by creating a group based upon the DeviceInstanceId or GUID and then mapping out values to keys.

All plugins

All fwupd devices support the following quirks:

Plugin

Sets the plugin to use for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the plugin name, e.g. csr
  • Minimum fwupd version: 1.1.0

Flags

Assigns optional quirks to use for a 8bitdo device

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the quirk, e.g. is-bootloader
  • Supported values:
    • none: no device quirks
    • is-bootloader: device is in bootloader mode
  • Minimum fwupd version: 1.0.3

Summary

Sets a summary for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • the device summary, e.g. An open source display colorimeter
  • Minimum fwupd version: 1.0.2

Icon

Adds an icon name for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the device icon name, e.g. media-removable
  • Minimum fwupd version: 1.0.2

Name

Sets a name for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the device name, e.g. ColorHug
  • Minimum fwupd version: 1.0.2

Guid

Adds an extra GUID for a specific hardware device. If the value provided is not already a suitable GUID, it will be converted to one.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696
  • Minimum fwupd version: 1.0.3

CounterpartGuid

Adds an counterpart GUID for a specific hardware device. If the value provided is not already a suitable GUID, it will be converted to one. A counterpart GUID is typically the GUID of the same device in bootloader or runtime mode, if they have a different device PCI or USB ID. Adding this type of GUID does not cause a "cascade" by matching using the quirk database.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696
  • Minimum fwupd version: 1.1.2

ParentGuid

Adds an extra GUID to mark as the parent device. If the value provided is not already a suitable GUID, it will be converted to one.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696
  • Minimum fwupd version: 1.1.2

Children

Adds one or more virtual devices to a physical device. To set the object type of the child device use a pipe before the object type, for instance: FuRts54xxDeviceUSB\VID_0763&PID_2806&I2C_01 If the type of device is not specified the parent device type is used. If the values provided are not already suitable GUIDs, they will be converted.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: The virtual device, delimited by a comma
  • Minimum fwupd version: 1.1.2

Vendor

Sets a vendor name for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the vendor, e.g. Hughski Limited
  • Minimum fwupd version: 1.0.3

VendorId

Sets a vendor ID for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: the vendor, e.g. USB:0x123A
  • Minimum fwupd version: 1.1.2

Version

Sets a version for a specific hardware device.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: Version number, e.g. 1.2
  • Minimum fwupd version: 1.0.3

FirmwareSizeMin

Sets the minimum allowed firmware size.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: A number in bytes, e.g. 512
  • Minimum fwupd version: 1.1.2

FirmwareSizeMax

Sets the maximum allowed firmware size.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: A number in bytes, e.g. 1024
  • Minimum fwupd version: 1.1.2

InstallDuration

Sets the estimated time to flash the device

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: A number in seconds, e.g. 60
  • Minimum fwupd version: 1.1.3

VersionFormat

Sets the version format the device should use for conversion.

  • Key: the device ID, e.g. USB\VID_0763&PID_2806
  • Value: The quirk format, e.g. quad
  • Minimum fwupd version: 1.2.0

Plugin specific

Plugins may add support for additional quirks that are relevant only for those plugins. View them by looking at the README.md in plugin directories.

Example

Here is an example as seen in the CSR plugin.

[USB\VID_0A12&PID_1337]
Plugin = dfu_csr
Name = H05
Summary = Bluetooth Headphones
Icon = audio-headphones
Vendor = AIAIAI
[USB\VID_0A12&PID_1337&REV_2520]
Version = 1.2

Additional samples can be found in other plugins.