Commit Graph

3129 Commits

Author SHA1 Message Date
Richard Hughes
81fbff8445 redfish: Restart the BMC after installing BCM updates 2022-04-19 20:24:59 +01:00
Sergii Dmytruk
523ed0d7b4 plugins/flashrom: make region we're flashing a property
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-19 10:47:41 +01:00
Sergii Dmytruk
b678170ee7 plugins/intel-spi: mark ME region device locked if it's RO
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-19 10:44:46 +01:00
Sergii Dmytruk
294bd648ea trivial: plugins/superio: include prj_name in IT55's to_string
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-19 10:44:28 +01:00
Sergii Dmytruk
dce73cbffb plugins/superio: don't leak chiplet property of device
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-19 10:44:10 +01:00
Richard Hughes
7ec0f11e69 mtd: Use the correct uSWID child for multiple coSWID children 2022-04-18 17:48:52 +01:00
Mario Limonciello
0432cfe537 trivial: uefi: drop unnecessary HAVE_HSI declaration
This appears to have been from before a vfunc was added and isn't
necessary.
2022-04-18 10:01:02 -05:00
Mario Limonciello
1406e42745 trivial: bios: Add an attribute to fail HSI in legacy BIOS mode
Fixes: #4530
2022-04-18 10:01:02 -05:00
Richard Hughes
2d5186622c Add FuProgress to ->prepare and ->cleanup
Some plugins were creating local versions (which were not attached to
the daemon progress in any way) as a workaround as they needed to do
actions that took a long time to complete.
2022-04-15 16:50:06 +01:00
Richard Hughes
a374254d74 redfish: Drop the cache when invalidated 2022-04-15 16:49:48 +01:00
Richard Hughes
08a3fd8b65 redfish: Fix a memory leak when calling ->setup() more than once 2022-04-15 16:49:48 +01:00
Richard Hughes
064cb648c1 redfish: Allow specifying the request type 2022-04-15 07:43:09 +01:00
Richard Hughes
f8f5cd1f25 redfish: Don't add a device to itself when replugging 2022-04-14 13:06:21 +01:00
Mario Limonciello
d19ebccd56 trivial: pci_psp: test an attribute to declare missing data
If the system loads ccp but the ccp driver doesn't export attributes
we should mark the CPU plugin as not supported.
2022-04-14 01:39:22 -05:00
Richard Hughes
3b0d1a6c6b trivial: Ignore the return value of curl_easy_setopt() in most cases
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Richard Hughes
0b7af7d54b trivial: Ignore the return value of setenv() in most cases
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Richard Hughes
0f8dffd042 intel-spi: Fix potential integer overflow 2022-04-13 15:08:12 +01:00
Richard Hughes
200302bbc6 redfish: Remove some logically dead code 2022-04-13 15:08:12 +01:00
Richard Hughes
d0c8514c52 wacom-raw: Fix a Coverity false positive
Technically this is an OOB write, but we're deliberately writing into
the next section of the FuWacomRawRequest structure.

Be explicit to avoid Coverity warnings.
2022-04-13 15:08:12 +01:00
Richard Hughes
a7149a4dac genesys: Fix a potential OOB read 2022-04-13 15:08:12 +01:00
Richard Hughes
5fdef8defb wacom-usb: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
Richard Hughes
db07e84fe0 tpm: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
Richard Hughes
b25a3a4294 superio: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
Richard Hughes
34651a18e2 nordic: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
Jierger Zhou
443b6450f0 dfu: modified VID/PID for atlas camera. 2022-04-13 08:12:09 +01:00
Crag Wang
9c8dc29711 dell-dock: probe mst earlier to determine signed payload attr 2022-04-13 00:00:01 -05:00
Mario Limonciello
5d3bcdc2ef trivial: CPU: Mark AMD as supported 2022-04-12 12:23:16 -05:00
Mario Limonciello
cc49eb6503 trivial: msr: align the unencrypted RAM failures to match that of psp plugin 2022-04-12 12:23:16 -05:00
Mario Limonciello
f63a1c7a87 pci_psp/msr: Set obsoletes related to SME and TSME
TSME and SME can technically both be enabled at the same time, but
there is no use in reporting one as enabled and the other disabled.

They share the same attribute, and so if one is enabled, obsolete
it in the other plugin.

Granted; this is a bit of a confusing experience.  You have two attributes
that mean similar but not the same things.  You can technically have SME
and TSME both enabled at the same time, or both disabled at the same time.
2022-04-12 12:23:16 -05:00
Mario Limonciello
1a66818970 Add new plugin for AMD PSP
This plugin reads in values exported by the PSP on supported AMD
SOCs to calculate the system state based on this information
2022-04-12 12:23:16 -05:00
Mario Limonciello
0e3e8ff610 trivial: change Intel debug attributes to generic
As other platforms have features with the same attribute, remove
the Intel generic one.
2022-04-12 10:39:02 -05:00
Richard Hughes
035490d39e modem-manager: Remove the cache item and use a shadow device instead
Fixes https://github.com/fwupd/fwupd/issues/4394
2022-04-12 09:59:19 +01:00
Richard Hughes
bef1d742b3 Allow Capsule-on-Disk to work in more cases 2022-04-12 09:57:44 +01:00
Crag Wang
a2919b935b trivial: add device GUID to avoid warning message 'no GUIDs for device' 2022-04-12 09:57:08 +01:00
Mario Limonciello
a8b159503d trivial: thunderbolt: set signed payload attribute for some external devices
The signed payload attribute is currently set for devices connected through
Intel host controllers.  When Thunderbolt 3 devices are connected to non-Intel
host controllers they still support signed payloads.

Update the flag accordingly in these circumstances.
2022-04-12 08:25:48 +01:00
Sergii Dmytruk
028740204b trivial: plugins/superio: don't add same flag twice
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-11 15:30:23 +01:00
Gunjan Gupta
dcd6e2726b trivial: synaptics-cxaudio: Add entry for ThinkPad USB-C Dock Gen2 Audio with updated PID
ThinkPad USB-C Dock Gen2 Audio firmware update version 49-0E-41 changed the PID from A396 to 30D1
2022-04-10 15:01:54 +01:00
Andrii Dushko
47381ba54a Add a plugin for Corsair devices
Supported devices:
 * SABRE RGB PRO WIRELESS
 * SLIPSTREAM WIRELESS USB Receiver
2022-04-08 12:52:08 +01:00
Crag Wang
f3e05f3ced dell-dock: set minimum version of EC 2022-04-08 18:15:50 +08:00
Richard Hughes
4bdd1d40e1 uefi-capsule: Use GByteArray to make code more modern 2022-04-08 07:23:48 +01:00
Richard Hughes
92944f5074 Add the runtime fwupd-efi version as a firmware requirement 2022-04-07 16:55:46 +01:00
Richard Hughes
3640d22fb2 Use the GLib functions to convert to UCS2
UTF-16 is a superset of UCS-2 and so we can just use the GLib versions
instead of rolling our own versions.
2022-04-07 15:41:09 +01:00
adamgene
11779505f7 Support Google Servo Dock 2022-04-07 09:39:12 -05:00
Gaël PORTAY
159a257546 genesys: usbhub: Fix typo
The private flag has-pubkey will be introduced with version 1.8.0.
2022-04-05 19:00:01 +01:00
Richard Hughes
633571fa99 trivial: Fix some 'Comparison of narrow type with wide type in loop condition' 2022-04-05 14:45:42 +01:00
Gaël PORTAY
cd6677ac01 genesys: Add support for detecting GL3521 2022-04-05 14:00:32 +01:00
Richard Hughes
18301f92cf flashrom: Fix a harmless warning when adding an instance ID 2022-04-05 11:38:30 +01:00
Richard Hughes
3390d7f9a5 flashrom: Allow quirking the flashrom flash size
We were using an 'undocumented' local copy of the flash size, when
FuDevice was setting the [ignored] standard device property.
2022-04-05 11:38:30 +01:00
Mario Limonciello
292f8eb96f trivial: only enable IVRS and DMAR plugins on x86/x86_64
These tables are only for Intel and AMD which don't provide non x86/x86_64
products.
2022-04-04 14:08:38 -05:00
Mario Limonciello
2677ec48be trivial: scsi: fix a segfault with USB SCSI device plugged in 2022-04-04 13:57:42 -05:00
Gaël PORTAY
9195798e23 genesys: usbhub: Encode PORTNUM to a single byte
The PORTNUM is composed of two bytes values that are ASCII encoded: the
super-speed and high speed port numbers.

The result is PORTNUM_3434 for an usbhub device of 4/4 ports; 34 is the
ASCII encoded value for the character '4'.

The value PORTNUM_3434 is not straightforward if read by humans; however
PORTNUM_44 is more explicit.

This change encodes the two port numbers into a single byte instead of
ASCII-encoding to a 16-bits integer.

Example:

	XPS 13 9370
	│
	└─USB2.0 Hub:
	      Device ID:          84d0e3f2a0f8b2328f7995767b23ebb40494723f
	      Current version:    92.24
	      Vendor:             GenesysLogic (USB:0x05E3)
	      GUIDs:              0cdb6604-d595-5ca3-8da0-d05cb1b71ac1 ← USB\VID_05E3&PID_0610
	                          ce9a28b1-f064-5b5a-b71b-3dea05905aea ← USB\VID_05E3&PID_0610&REV_9224
	                          e89cae82-9975-55fb-802f-63d27dbcec19 ← VID\PID_0610&HUB_00
	                          2ae5ae36-cf86-5486-bff2-1bfd30e0ac6d ← USB\VID_05E3&PID_0610&IC_352122
	                          242eea14-5dfe-55d9-9d30-acfa9ec6a9a5 ← USB\VID_05E3&PID_0610&IC_352122&BONDING_00
	                          f68080bb-3713-5154-9890-44fbd833d678 ← USB\VID_05E3&PID_0610&VENDOR_GENESYSLOGIC&IC_352122&BONDING_00&PORTNUM_44&VENDORSUP_E8A9A9E4-6C17-5F9C-B7BD-CDA49FE66D75
	      Device Flags:       • Updatable
	                          • Unsigned Payload
2022-04-04 13:32:02 +01:00
Richard Hughes
91e9f359c3 Add a plugin for the CH341A device 2022-04-03 16:29:30 +01:00
Mario Limonciello
fc59a9bce1 trivial: linux-lockdown: Check kernel supports lockdown
There is no use making a file monitor on a missing path and
running on an older kernel should cause HSI to show missing data.
2022-04-03 09:06:00 -05:00
Mario Limonciello
26349d0f28 cpu: Add a new attribute for CPU supported by HSI
On supported CPUs this will show up at HSI level 1 meaning that HSI
should be supported and trusted on this CPU if all plugins provided
enough data.

On non-Intel CPUs this will show up as missing data, meaning
that not enough plugins provide data for HSI to be trusted by default.
2022-04-03 09:06:00 -05:00
Mario Limonciello
0df2b57ae9 Add a new plugin for the ACPI IVRS table
This ACPI table contains a flag that is used for indicating pre-boot
DMA protection on AMD systems.
2022-04-03 09:05:49 -05:00
Mario Limonciello
a93feda72b trivial: rename the DMAR attribute to be vendor agnostic
The DMAR attribute is for Intel only, but AMD has the same feature in
the IVRS table.  Rename the attribute to clarify this.
2022-04-03 09:05:49 -05:00
Mario Limonciello
3c48cf464b trivial: linux-swap: Don't create attribute unless kernel has support 2022-04-02 15:08:16 -05:00
Gaël PORTAY
31dc35f9e3 genesys: usbhub: Fix test for static_tool_string value
Additionally, this regroups the call of a function and the test for the
returned value.
2022-04-02 09:51:04 +01:00
Richard Hughes
481301a39d trivial: Convert more things to fu_progress_step_done()
This allows the front end client to know ahead-of-time how many steps
there are going to be.
2022-04-01 21:46:04 -05:00
Richard Hughes
7dc34ff02e Mark more devices as CAN_VERIFY_IMAGE
This allows us to filter the devices when showing what we can dump.
2022-04-01 21:46:04 -05:00
Jeremy Soller
09f3a627c2 trivial: Add HP Dev One quirk with no-ux-capsule flag 2022-04-01 11:18:12 -05:00
Gaël PORTAY
e71df0d494 genesys: usbhub: Rename function to _get_code_size()
This renames the function `fu_genesys_usbhub_device_get_fw_size()` to
`fu_genesys_usbhub_device_get_code_size()` which set the attribute
`code_size`.
2022-04-01 15:47:14 +01:00
Gaël PORTAY
9213a51d4a genesys: usbhub: Set extended size for devices with public-key only
This conditionizes the extended size for devices that has public-key
support (i.e. has the private flag has-public-key; GL3523 only).
2022-04-01 15:47:14 +01:00
Gaël PORTAY
e22eaf0726 genesys: usbhub: Fix firmware max size regression
This fixes commit 1ade02e944.

Fixes:

	firmware too large, got 0x6312, expected <= 0x6000
2022-04-01 15:47:14 +01:00
Michał Kopeć
d3ce827f96 plugins/flashrom/flashrom.quirk: update NovaCustom GUIDs
Add NS5x GUID and missing NV4x guids for devices running older firmware versions.

Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2022-04-01 12:43:18 +01:00
Sean Rhodes
0ac171c452
plugins/flashrom: Move MaxSize quirk to GUID (#4468)
Move the quirk from HwID to GUID to the apply correctly.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-03-31 20:38:38 +01:00
Jeremy Soller
cffb432a24 Add System76 launch_lite_1 2022-03-31 19:01:11 +01:00
Richard Hughes
69624f4f33 vli: Do not set the serial number
This is always set as '00000000000000000000001' and thus is unhelpful.
2022-03-31 15:42:00 +01:00
Richard Hughes
dcd39d80a7 Add the CFI quirks in setup() so the device can be open 2022-03-31 12:47:13 +01:00
adamgene
acc9e9fbe7 genesys: usbhub: Add instance IDs for generic hub
1. add and set FuGenesysVendorSupportToolString.
2. customized instance IDs  with follow,
- "IC"
- "BONDING"
- "VENDOR" - mask code unsupported
- "PORTNUM"  - mask code unsupported
- "VENDORSUP"  - mask code unsupported
2022-03-31 08:57:51 +01:00
adamgene
8f786b0818 genesys: usbhub: Get dynamic ts info from device
1. add FuGenesysDynamicToolString.
2. extract running_bank / bonding from dynamic_ts.
2022-03-31 08:57:51 +01:00
adamgene
2868c924bc genesys: usbhub: Unsupport without tool string
1. Legacy device unsupported.
2. add fu_genesys_tsdigit_value() to convert ts corretly.
3. delete wrong checking tool_string_version in 0xff.
2022-03-31 08:57:51 +01:00
adamgene
852b94bbe1 genesys: usbhub: Read firmware size from blob
This fixes the firmware size of for the GL3590 chips.
2022-03-31 08:57:51 +01:00
Gaël PORTAY
cfb75f0da4 genesys: usbhub: Add genuine Genesys Logic USB Hub 2022-03-31 08:57:51 +01:00
Ryan Lee
d512410734 ccgx: Add trigger code to support future hardware 2022-03-31 08:46:15 +01:00
Richard Hughes
2aed732249 nvme: Add signed-payload for Western Digital hardware 2022-03-30 08:19:22 +01:00
herman lin
efa880eb0a elanfp: Modify for BULK_RECV_TIMEOUT_MS to 3000 2022-03-30 07:08:23 +01:00
herman lin
392fe20397 elanfp: Add PID 0x0C82 2022-03-30 07:08:23 +01:00
Richard Hughes
af7ce4c6af colorhug: Split up the writing and verifying
No logic changes.
2022-03-29 20:04:26 +01:00
Richard Hughes
7f6605cf8d Revert "modem-manager: uninhibit modem after upgrade"
This reverts commit e3b62e643b which
fixes a crash when updating devices.
2022-03-28 20:19:09 +01:00
Richard Hughes
d005796af1 dfu: Add unsigned-payload for one of the demo devices 2022-03-28 15:40:30 +01:00
Richard Hughes
17854099d0 modem-manager: Add signed-payload metadata for some Quectel devices 2022-03-28 08:47:02 +01:00
Richard Hughes
02dead17d4 trivial: Fix a small memory leak when unloading intel-spi 2022-03-25 21:12:53 +00:00
Mario Limonciello
1241e156b9 Don't export USB4 host controllers as updatable if they don't have unique GUIDs
Fixes: #4438
2022-03-24 16:44:27 +00:00
Richard Hughes
acbba72b3b logitech-hidpp: Inherit the icon for the child device from the parent 2022-03-24 14:35:22 +00:00
Richard Hughes
ed247d32b2 modem-manager: Use the correct icon name
The list is specified in https://lvfs.readthedocs.io/en/latest/metainfo.html
2022-03-24 13:05:23 +00:00
Richard Hughes
e8e94b5c63 modem-manager: Quirk a vendor name to be less shouty 2022-03-24 11:12:13 +00:00
Richard Hughes
adc6f5bbf3 ata: Add signed-payload for more Phison devices 2022-03-24 08:08:39 +00:00
Gaël PORTAY
79228d8b7d genesys: usbhub: Remove unnecessary local 2022-03-23 21:45:58 +00:00
Gaël PORTAY
b2f3e57418 genesys: usbhub: Move instruction in else statement 2022-03-23 21:45:58 +00:00
Gaël PORTAY
1ade02e944 genesys: usbhub: Reuse attribute fw_data_total_count
This uses the attribute fw_data_total_count to set the firmware size,
and decreases the duplication of constants.
2022-03-23 21:45:58 +00:00
Gaël PORTAY
859a1e2f42 genesys: usbhub: Decrease hardcoded constants
This adds new defines to decrease the use of hardcoded constant in the
code.
2022-03-23 21:45:58 +00:00
Gaël PORTAY
13ad6125a4 genesys: usbhub: Move some code to common
This moves some code to common and reuses a constant to decrease
hardcoded constants.
2022-03-23 21:45:58 +00:00
Gaël PORTAY
737443d73c genesys: usbhub: Fix firmware size for GL3590 hubs 2022-03-23 21:45:58 +00:00
Kai Michaelis
0812ce5d20 tpm: Fix eventlog replay for Intel TXT machines 2022-03-23 21:18:46 +00:00
Gaël PORTAY
c6c64bd8dc genesys: Add since version comment for private flags
This tags when the private flags has been introduced.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
d056b382dd genesys: usbhub: Add has-public-key private flag
The Genesys Logic USB Hub does have support for public-key.

This adds the private flag has-public-key, and sets that flag for the HP
USB Hubs only. Also, this authenticates during setup only if that flag
is set.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
ac760f7a2d genesys: usbhub: Set dual-image flat in quirk file
Some Genesys Logic USB Hub does have support for dual-image.

This sets the flag dual-image in the quirk file instead of hardcoding it
in the plugin.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
be4e3fffdc genesys: usbhub: Identify HP usbhub using its public-key
The HP M2xfd monitors use GenesysLogic GL3523 USB Hub and provides their
own firmwares. Furthermore, HP uses the same VID/PID for other USB Hubs
products, with a different public-key; the HP M24fd and M27fd use
different public-key.

This appends the public-key to the instance-id string to make the
distinction between all the HP USB Hubs, and prevents to install a
firmware with the wrong public-key.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
ad3cf1874a genesys: Fix typo in README.md
The device name HP USB-C Controller.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
9ff6c88acf genesys: usbhub: Prefix error at probe
For the sake of consistancy.
2022-03-23 20:00:33 +00:00
Gaël PORTAY
3be9fbb301 genesys: usbhub: Fail silently if unsupported IC type
Genesys Logic uses the same VID/PID for its USB Hubs products, whatever
the chip underneath (GL3523, GL3590...). For example, Genesys Logic
USB2.0 Hub uses 05E3/0610; and Genesys Logic USB3.1 Hub uses 05E3/0612.

The manufacturers may reuse the Genesys Logic VID/PID for its products
or may use its own VID such as HP (03F0).

The genesys plugin supports upgrading GL3523 USB and GL3590 USB2.0 Hubs
for now (the latter is not tested).

The quirk file limits the support to HP Hubs only; and the plugin will
allow upgrade Hub with genuine Genesys Logic VID/PID in the future by
adding the following lines to the quirk file:

	[USB\VID_05E3&PID_0610]
	Plugin = genesys

However, this change in the quirk file will report the errors below for
the Hub with IC that are not supported:

	04:26:40:0325 FuEngine             failed to add device usb:01:00:01: Unsupported IC GL3521-22
	04:26:40:0344 FuEngine             failed to add device usb:01:00:01: Unsupported IC GL3521-22

Note: This may be true already if HP uses Hubs with IC that are not
unsupported.

This change returns the error FWUPD_ERROR_NOT_SUPPORTED instead to fail
silently.
2022-03-23 20:00:33 +00:00
Gaël PORTAY
fa7c297b98 genesys: usbhub: Print unsupported IC type
This rewords the error message to print the unsupported IC type.
2022-03-23 20:00:33 +00:00
Gaël PORTAY
333c32a8e0 genesys: Fix memory leak 2022-03-23 17:22:53 +00:00
Richard Hughes
aaa5606950 upower: Support the new PENDING device states 2022-03-23 09:06:54 +00:00
Richard Hughes
3ca8c915e2 nvme: Add signed-payload quirks for Kingston 2022-03-22 17:22:37 +00:00
Richard Hughes
2bee2164af trivial: Fix the mtd test when the prefix is read only 2022-03-22 14:36:48 +00:00
Richard Hughes
afab41bcf5 ccgx: Add alternate protocol names
Cypress was acquired by Infineon.
2022-03-22 14:34:15 +00:00
Richard Hughes
179dae4823 Do not throw away the TPM eventlog when uploading to the LVFS
To debug the eventlog reconstruction issues we need the raw blob,
rather than just the printable text.
2022-03-22 14:31:54 +00:00
Ivan Mikhanchuk
e3907a116e modem-manager: add Quectel EM05 firwmare update support
EM05 switches to the EDL mode over MBIM port, then uses
Sahara to load a firehose binary. The firmware is loaded to
the modem using Firehose protocol.
2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
6fa82b10bc modem-manager: add Sahara IO functions to Firehose 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
27a68de8ee modem-manager: add Sahara protocol 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
716a47db8c modem-manager: move firehose related functions to one 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
ee71e5ffa9 modem-manager: fix fu_chunk padding in firehose 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
387b797c6f modem-manager: add get_mbim_device method for MbimQdu 2022-03-22 14:26:49 +00:00
Gaël PORTAY
7fc784d612 genesys: scaler: Get real software version
The plugin gets the panel-type (i.e. hardware revision) as the firmware
version.

This gets the real firmware version, and appends the panel-type to the
instance-id string as the blobs are specific to panel-types.
2022-03-22 14:20:37 +00:00
Gaël PORTAY
388fadc347 genesys: scaler: Fix Special Protect Sector structure length
The Special Protect Sector structure is 24-bit long.

This replaces the 32-bit integer in union that makes the structure
8-bits too big by an array of 3-bytes.
2022-03-22 14:19:48 +00:00
Gaël PORTAY
41ab816fed genesys: scaler: Fix creation of error
The GError object is not yet created, and cannot be prefixed though.

This creates the GError using the function g_set_error().
2022-03-22 14:19:48 +00:00
memily
8141061a9a
vli: Move more devices out of the installed list
These devices will probably never get updates from the LVFS.
2022-03-19 10:16:59 +00:00
Daniel Campello
f58217a0ab thunderbolt: add configuration option to force retimer enumeration
Change-Id: I300b94291d6d989b4b1c88daaadc5f0f49ac88be
2022-03-18 14:26:34 -06:00
Richard Hughes
8ef261af32 mtd: Add some self tests using mtdram 2022-03-18 12:55:44 +00:00
Richard Hughes
df66a1d73e mtd: Ignore devices that report EPERM on open 2022-03-18 12:55:44 +00:00
Richard Hughes
7d9dff4789 mtd: Support dumping the image to a firmware blob 2022-03-18 12:55:44 +00:00
Richard Hughes
095cbad100 mtd: Fix writing mtd images larger than 10kb 2022-03-18 12:55:44 +00:00
Richard Hughes
5a3010f525 ata: Add signed-payload for Phison devices 2022-03-18 12:54:39 +00:00
Richard Hughes
a11fefff35 redfish: Don't add the backup BMC device as it shares the same GUIDs
This fixes the problem when the UEFI update depends on a specific BMC
version -- including the backup BMC device means we checking that both
the primary and the backup were above a specific version.

I don't think it's ever useful to show the backup BMC device, so just
don't include it as an enumerated device.

Fixes https://github.com/fwupd/fwupd/issues/4404
2022-03-18 11:03:14 +00:00
Richard Hughes
e9454e022f logitech-bulkcontroller: Mark as signed payload 2022-03-17 20:46:43 +00:00
Sean Rhodes
d8b6f5f0b3
plugin/flashrom: Change the default format from triplet to pair (#4395)
Flashrom is primarily used with coreboot, which has a pair version number
currently 4.16. As such, chance the default to pair so that fewer quirks
are required.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-03-17 07:58:25 +00:00
Tatsunosuke Tobita
a61f4ec1af plugins/wacom-raw: Add several Lenovo products
wacom-raw is required to support several Lenovo products.
Therefore, some items have been added to "wacom-raw.quirk".

Signed-off-by Tatsunosuke Tobita <tatsunosuke.tobita@wacommfg.corp-patner.google.com>
2022-03-16 18:34:22 -05:00
Richard Hughes
71d111a21f gpio: Return the correct error when there is no device to open 2022-03-16 12:08:32 +00:00
Richard Hughes
013475fc49 trivial: Actually open the GPIO device before querying the chipinfo
Set the GPIO open flags as without the fd is not opened.

Fixes https://github.com/fwupd/fwupd/issues/4388
2022-03-16 12:08:32 +00:00
Sean Rhodes
57862d844e
plugin/flashrom: Add GUIDs for StarLite's (#4392)
* HwId for StarLite Mk IV
* coreboot GUID for StarLite Mk IV
* HwId for StarLite Mk II (under coreboot)
* coreboot GUID for StarLite Mk II

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-03-16 10:18:20 +00:00
Richard Hughes
8b62bf6b64 Set the context in the right place more often 2022-03-16 09:18:29 +00:00
Richard Hughes
b4e88bae49 trivial: Move the UNREACHABLE inhibit to common code 2022-03-15 11:29:00 +00:00
Richard Hughes
75ba49ebf0 ccgx: Add the correct instance IDs to the HPI device
A simple copy+paste typo -- these need to be actual IDs for firmware
matching rather than only for quirks.

Fixes https://github.com/fwupd/fwupd/issues/4382
2022-03-15 09:50:41 +00:00
Mario Limonciello
d6961bfb0d trivial: dell-dock: set package version payload as unsigned
This payload is just 24 bytes with no signature.  It's used as a manifest
to verify that all firmware is installed.
2022-03-14 14:46:37 +00:00
Richard Hughes
a6aef01e49 mtd: Do not try to probe recovery read-only partitions
Ignore devices without a 'flags' file.
2022-03-11 16:51:45 +00:00
Richard Hughes
a239dc8ab8 mtd: Allow the metadata to set the signed payload flag 2022-03-11 16:51:45 +00:00
Richard Hughes
53f75b6ab9 trivial: Fix critical warning when vendor is unset for a SCSI device 2022-03-11 15:25:26 +00:00
Richard Hughes
4080ef637e trivial: Do not show SATA drives as SCSI devices
This fixes a regression in c4ca026294
which meant the 'vendor' sysfs attribute wasn't being stripped before
being used as the vendor ID.
2022-03-11 12:33:23 +00:00
Richard Hughes
dd183e9b59 logitech-hidpp: Add support for M550, M650 and K650 2022-03-10 12:57:45 +00:00
Richard Hughes
6fdae41ae0 flashrom: Simplify the plugin to remove the indirection
For a while we flirted with the idea of updating non-internal
libflashrom-derived devices but the impedance mismatch was just too
great.

We removed the extra unused subclasses of FuFlashromDevice, but never
removed the indirection we added for the writing.
Remove the unused code now that we agree on the longer term plan.
2022-03-09 08:13:13 +00:00
Richard Hughes
faac369d3a uefi-dbx: No not allow the DBX update for specific motherboards
This list of hardware is provided by Microsoft.
2022-03-07 22:12:06 +00:00
Sean Rhodes
f98acc89b3
plugin/flashrom: Add MaxSize quirk for Lite II and III (#4362)
Add FirmwareSizeMax = 0x800000 for StarLite Mk II and Mk III to allow
switching from AMI to coreboot firmware.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-03-07 14:26:36 +00:00
Richard Hughes
4153701d8f usi-dock: Mark as signed payload 2022-03-07 12:40:04 +00:00
Richard Hughes
41e2f93fc7 trivial: Add signed flag for Samsung NVMe devices 2022-03-07 10:45:17 +00:00
Richard Hughes
777103f93a goodix-moc: Mark as signed payload 2022-03-06 12:06:21 +00:00
Richard Hughes
908ccf78ce dfu: Mark various Poly products as signed and unsigned 2022-03-04 23:11:05 +00:00
Richard Hughes
5f4e962d02 cros-ec: Mark as signed payload 2022-03-04 19:21:42 +00:00
Richard Hughes
c4ca026294 Allow devices to build instance IDs more easily
Provide a device instance builder that allows plugins to easily
create multiple instance IDs based on parent attributes.

Also fix a lot of the instance ID orders, so that we add more generic
IDs first, and more specific IDs after.
2022-03-03 09:13:29 +00:00
Richard Hughes
de14bc6f0e vli: Do not probe devices with the firmware reference VID and PID
But, leave the products with the VIA VID, but a non-default PID.

Fixes https://github.com/fwupd/fwupd/issues/4352
2022-03-02 19:19:48 +00:00
Richard Hughes
d86b8bc794 Show devices that are updatable and payload signing is still unknown
But, ignore devices like UEFI, NVMe and Redfish as this is specified in
the firmware metadata.
2022-03-02 15:33:42 +00:00
Richard Hughes
1a1fd1b99c vli: Mark the MSP430 as unsigned-payload 2022-03-02 15:33:42 +00:00
Richard Hughes
2085a2a1c3 modem-manager: Detect presence of modem-power driver
Quectel EG25-G modem in the Pine64 PinePhone and PinePhone Pro can be
booted with the eg25-manager (user space) or modem-power (kernel space).

We only support the eg25-manager for upgrading these modems.

Based on a patch by Dylan Van Assche <me@dylanvanassche.be>, thanks.
2022-03-02 13:36:19 +00:00
Richard Hughes
409f2be940 synaptics-cxaudio: Use a more standard instance ID for the chip 2022-03-01 12:52:12 +00:00
Richard Hughes
281eb0227a intel-spi: Use a more standard instance ID for the chipset 2022-03-01 12:52:12 +00:00
Richard Hughes
f9f3d6379e intel-spi: Use a more standard instance ID for the IFD 2022-03-01 12:52:12 +00:00
Richard Hughes
2e92dc02d1 uefi: Do not add the Windows compat ID
This is just confusing vendors and doesn't match any of the other IDs.
2022-03-01 12:52:12 +00:00
Richard Hughes
0035a921d3 emmc: Use more standard Instance ID values 2022-03-01 12:52:12 +00:00
Richard Hughes
f8aec20233 ccgx: Be more precise when adding the instance ID
All the existing quirks are luckily 4 digits already, but this might
not always be true in the future.
2022-03-01 12:52:12 +00:00
Mario Limonciello
5bc5462213 trivial: redfish: use the configured prefix to determine if it's an installed test
fixes: #3880
2022-02-28 13:36:49 -06:00
Mario Limonciello
d04f2468c0 trivial: switch from path to full_path for meson 0.56+ 2022-02-28 08:34:48 -06:00
Mario Limonciello
6896e0ab52 trivial: switch from meson.source_root to meson.project_source_root
The former is deprecated in meson 0.56 or later.
2022-02-28 08:34:48 -06:00
Mario Limonciello
661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Richard Hughes
9c77e0bb2a trivial: Add more signed flags for NVMe devices 2022-02-25 09:19:44 +00:00
Richard Hughes
9a36f31fd6 vli: Make the quirk files per-vendor and don't add all of them 2022-02-24 19:59:34 +00:00
Richard Hughes
a3efbe51f6 scsi: Add a simple plugin to enumerate SCSI hardware
We might want this to tag insecure or broken SAS drives, cough.
2022-02-24 17:21:51 +00:00
Crag Wang
19ade34f0b trivial: Add flag dynamically for thunderbolt finish the authentication 2022-02-24 23:53:56 +08:00
Richard Hughes
52bb1babd1 trivial: Add unsigned flag for the CCGX devices 2022-02-24 12:31:48 +00:00
Richard Hughes
56902b246c ata: Fix trivial log title typo 2022-02-23 16:41:36 +00:00
Richard Hughes
a258461926 trivial: Add unsigned flag for the Nitrokey Storage 2022-02-23 14:42:39 +00:00
Richard Hughes
6ef83d6cc0 trivial: Remove one more warning message on server systems 2022-02-23 10:26:04 +00:00
Richard Hughes
45fe26006a trivial: Add signing flags for rts54hid and rts54hub 2022-02-23 09:04:48 +00:00
Richard Hughes
ccc897e574 modem-manager: Copy the AT retry behaviour in ModemManager
Fixes https://github.com/fwupd/fwupd/issues/4319
2022-02-23 07:14:24 +00:00
Richard Hughes
f3a13f89dd Allow specifing the DeviceIntegrity flag from metadata 2022-02-22 19:12:06 +00:00
Richard Hughes
758d5d8c6f Add a flag to indicate the device is signed or unsigned
Devices without either flag are unknown.
2022-02-22 19:12:06 +00:00
Richard Hughes
7ef94d7a31 vli: Skip probing the Dell DA300 device
Although 2109:2820 and 2109:0820 is the generic reference firmware,
firmware revision 3003 is specific to this device.

Fixes https://github.com/fwupd/fwupd/issues/4305
2022-02-22 17:22:13 +00:00
Richard Hughes
196201af71 dell: Tone down some debug statements to be off by default 2022-02-22 13:28:48 +00:00
Richard Hughes
e71cb3c4c4 vli: Do not assume any VL82x reference firmware has shared PD
This should be harmless on an actual devboard, and not break products
using the default VID/PID *without* any shared PD chip.
2022-02-22 10:26:46 +00:00
Kranthi Kuntala
c77847b7ff [thunderbolt] Add 5 secs delay after nvm update
- this is needed for the retimer to be accessible after update
- and to bring the port back to online

Signed-off-by: Kranthi Kuntala <kranthi.kuntala@intel.corp-partner.google.com>
Change-Id: I2234ebe23a55fc03f9ef30c1ea10febfe46a2003
2022-02-22 09:13:39 +00:00
Richard Hughes
c8e5f92f27 uefi-capsule: Add a private flag for devices that never want a header 2022-02-21 22:52:45 -06:00
Mario Limonciello
7b3f3ccc65 trivial: genesys: fix some warnings about unused symbols on old gusb 2022-02-21 12:36:14 -06:00
Richard Hughes
fb4c3dfc9c trivial: Remove one warning from -Wunused-variable 2022-02-21 09:30:47 +00:00
Ricardo Cañuelo
9466e778f5 Add a new plugin to handle HP M2xfd monitors
Added support for genesys logic devices.
2022-02-21 08:30:43 +00:00
Richard Hughes
cda5879974 mtd: Parse the firmware version using the defined GType 2022-02-18 10:38:17 +00:00
Richard Hughes
f8d1a1606e mtd: Add two more instance IDs to the MTD devices 2022-02-18 10:38:17 +00:00
Richard Hughes
308e03a6f4 Sanitize the instance ID parts more carefully
The only users of `SERIO\FWID` and `I2C\NAME` are already 'safe' and
the device GUIDs should all be unchanged.

There are no current users of the `MTD\NAME` instance IDs, and these
are the ones that may be more unpredictable and in need of sanity.
2022-02-18 08:23:39 +00:00
Mario Limonciello
53a49b4ac1 Restore AMD SME check
Starting with linux kernel 5.18 the SME flag will be removed from
/proc/cpuinfo when it's not activated.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=08f253ec3767bcfafc5d32617a92cee57c63968e
2022-02-17 10:08:33 -06:00
Richard Hughes
9f8f4ed107 intel-spi: Sync with the device list found in flashrom 2022-02-17 15:50:18 +00:00
Richard Hughes
50b52aef0d trivial: Do not install test data for -Dtests=false 2022-02-16 19:38:45 +00:00
Richard Hughes
675c5f41a6 modem-manager: Assign the FuUsbDevice to the FuMmDevice
This allows protocol code like Sahara to use GUsb.
2022-02-16 16:07:23 +00:00
Mario Limonciello
66e3d99114 Don't show TSS2 error messages by default (Fixes: #4291) 2022-02-16 09:51:11 -06:00
Richard Hughes
e300e4ea1e thunderbolt: Fix up some error handling when updating usb4 retimers 2022-02-16 14:51:03 +00:00
Richard Hughes
cb9312744c tpm: Do not show a warning if the TPM eventlog does not exist
Fixes https://github.com/fwupd/fwupd/issues/4290
2022-02-16 14:50:18 +00:00
Richard Hughes
c71ca76235 Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
Sean Rhodes
f1f938dfd8 plugins/flashrom: Add Star Lite Mk III coreboot GUID
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-02-15 21:46:48 -06:00
Yuan-Chen Cheng
4642e7694e fall back to signed EFI app as secure boot is off.
Some distribution hopes to not install the not-signed EFI app by default.
However, for the corner case, the user might still want to use not-signed
one (maybe to work around bugs or do testing). This implements
a logic that uses the not-signed EFI app as the secure boot is off, and
if it does not exist, then we fall back to using the signed one.

Also drop fwupd-unsigned from Recommends of fwupd in debian/control.
2022-02-15 08:15:56 -06:00
Richard Hughes
9d8d2744ca ata: Correctly chain up to FuUdevDevice when debugging 2022-02-15 09:23:05 +00:00
Richard Hughes
cfaf1d73c1 Do not include the vendor name in the AMT device 2022-02-14 12:35:44 +00:00
Richard Hughes
b8da2f3200 ata: Add one more model name fuzzy match 2022-02-10 10:30:28 +00:00
Richard Hughes
5ffbc935cf trivial: Use FuContext when creating FuIfdDevice children 2022-02-09 16:58:04 +00:00
Richard Hughes
b5e7a0be16 Do not use gettext before calling setlocale 2022-02-09 16:56:47 +00:00
Crag Wang
f7b6fa2e82 trivial: don't replug if thunderbolt device supports auth on disconnect
Fixes: #4262
2022-02-09 16:30:23 +00:00
Richard Hughes
fd399da71b tpm: Fix a critical warning when loading an empty TPM eventlog item 2022-02-09 14:20:55 +00:00
Richard Hughes
2b310fb368 dfu: Downgrade a trivial harmless warning to debug 2022-02-08 11:56:20 +00:00
Richard Hughes
915c4805f5 thunderbolt: Set the update timeout if required
I think this accidentally got inverted during the retimer split.
2022-02-07 14:25:58 +00:00
Richard Hughes
cf5d8db9a4 vli: Set the progress values for the MSP430 update 2022-02-07 14:21:01 +00:00
Kranthi Kuntala
97e6c1d7c2 [thunderbolt] remove the skip-restart flag for retimer
-this is indeed needed to reflect the updated version after system reboot

Signed-off-by: Kranthi Kuntala <kranthi.kuntala@intel.corp-partner.google.com>
Change-Id: Id4751d531528590cc93c08db0d0939a547f4d59f
2022-02-04 20:28:57 +00:00
Mario Limonciello
783e2e0448 Drop the AMD SME check for security attributes (Fixes: #4176)
This method does not indicate whether the kernel has enabled encryption.
That information is only visible from the kernel log at this time.

Continue to read the MSRs though, because if/when we get a method for the
kernel to export it we may use these as a basis of "support" but not a
indication of it being enabled.

encrypted:
```FuPluginMsr          SME/SEV check MSR: eax 01000f, ebx 016f
FuPluginMsr          PCI_MSR_AMD64_SYSCFG: 0f40000, sme_is_enabled=1
FuPluginMsr          PCI_MSR_AMD64_SEV: 00, sev_is_enabled=0
```

not_encrypted:
```
FuPluginMsr          SME/SEV check MSR: eax 01000f, ebx 016f
FuPluginMsr          PCI_MSR_AMD64_SYSCFG: 0f40000, sme_is_enabled=1
FuPluginMsr          PCI_MSR_AMD64_SEV: 00, sev_is_enabled=0
```
2022-02-04 10:41:47 -06:00
Denis Pynkin
cdd280b4d3 plugins/nordic-hid: extend the doc with tested HW 2022-02-04 13:46:59 +03:00
Mario Limonciello
59ef6ef4e2 trivial: synaptics-mst: use environment for quirk override location 2022-02-03 09:40:12 -06:00
Mario Limonciello
3f1dde7911 trivial: thunderbolt: use environment for overriding quirk location 2022-02-03 09:40:12 -06:00
Mario Limonciello
3e3bd334f4 trivial: use src directory for quirks for ata and nvme plugins
Fixes: #4244
2022-02-03 09:40:12 -06:00
Mario Limonciello
9de6adf41f trivial: msr: add more debugging data for register status 2022-02-01 15:58:39 -06:00
Richard Hughes
f3d71a18a5 redfish: Be more robust by retrying IPMI transactions
This fixes creating users when the BMC is otherwise busy.
2022-02-01 16:18:28 +00:00
Richard Hughes
fba2fd62f2 redfish: Add error codes not provided in ipmi_msgdefs.h 2022-02-01 16:18:28 +00:00
Richard Hughes
de874c7d8e redfish: Wait some time after creating the initial IPMI user
It would appear that in reality a delay is required for them to sync state.
2022-02-01 16:18:28 +00:00
Richard Hughes
76dcafee1f redfish: Do not use 'unspecified' for the unknown error 2022-02-01 16:18:28 +00:00
Michał Kopeć
ab06e034c3 plugins/flashrom: add quirk for NovaCustom NV4x
Add a quirk for NovaCustom NV4x devices.
These laptops are running coreboot and are updatable using flashrom.

The HwId GUID matches to both previous Insyde firmware and the current
Dasharo firmware. The Dasharo GUID matches to the devices running
Dasharo firmware. This way the device can be switched from Insyde
to Dasharo using `fwupdmgr switch-branch`.

Homepage: https://configurelaptop.eu/nv40-series/

Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2022-02-01 14:15:45 +00:00
Richard Hughes
4b48b2ea27 trivial: Fix a warning in the latest clang release 2022-01-31 14:36:38 +00:00
Dylan Van Assche
b5077745a7 modem-manager: use version format from metadata
Some modems use a plain string as version while others use a
standardized version format. If such a format is provided by
the metadata, set it.
2022-01-30 20:01:52 +00:00
xtcui
7dc24a9f20 analogix: Do not hardcode the device vendor 2022-01-27 06:25:13 +00:00
xtcui
ed120c05e7 analogix: Added 3 new supported devices 2022-01-27 06:25:13 +00:00
Crag Wang
36fd4117c6 dell-dock: fix a segfault if device isn't added yet 2022-01-23 17:53:51 +00:00
Norbert Kamiński
7fdf7c60ee fu-uefi-common.h: Fix efivar compatibility with FreeBSD
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2022-01-21 16:24:37 +00:00
Mario Limonciello
fa8bfc7f4a msr: make tsme security attribute match kernel doc more closely
The kernel documentation for AMD memory encryption includes information
on both SME and SEV, but they are separate attributes. Read the attributes
separately.

Link: https://www.kernel.org/doc/html/v5.16/x86/amd-memory-encryption.html
2022-01-20 06:52:51 -06:00
Richard Hughes
7657bc365f trivial: Change some problematic language that crept in 2022-01-20 08:54:31 +00:00
Denis Pynkin
e08ead31f5 plugins/nordic-hid: fix the bootloader type detection
The initial name of the varianle has been changed upon review in
[nrf_desktop DFU PR](https://github.com/nrfconnect/sdk-nrf/pull/6343)

This commit align the naming with NRF desktop upstream and fix testing
images URLs for device testing.
2022-01-20 03:16:47 +03:00
Richard Hughes
3917714dd1 redfish: Change an expired password when required 2022-01-19 21:19:01 +00:00
Richard Hughes
0264c29bda modem-manager: Only try to get the branch if there exists an AT port
Fixes https://github.com/fwupd/fwupd/issues/4190
2022-01-19 20:06:25 +00:00
Richard Hughes
4329ddbd76 modem-manager: Fix a segfault on startup for some MBIM-QDU devices
Works around https://github.com/fwupd/fwupd/issues/4190 although we
still need to find the root cause.
2022-01-19 13:46:05 +00:00
Richard Hughes
0cf11b9dc9 trivial: Do not match the legacy bootloader VID/PID
This is the ID assigned to STMicroelectronics... more specifically for
a mini LED display. It also seems to be used by other vendors who also
did not change the default from the devkit, e.g. the Vaydeer Multimedia
Console.

Fixes https://github.com/fwupd/fwupd/issues/4180
2022-01-17 15:41:04 +00:00
Richard Hughes
e74d38bfd3 Fix compiling with new versions of efivar
Fixes https://github.com/fwupd/fwupd/issues/4181
2022-01-17 15:27:05 +00:00
Mario Limonciello
64e7ea25b1 Fix the logic for removable fallback path in uefi-capsule
The logic was built on the presumption of Ubuntu core which doesn't
have /etc/os-release.  Since other distributions do have /etc/os-release
adjust the logic to instead build the path explicitly.
2022-01-15 07:09:04 -06:00
Richard Hughes
d7b682430e thunderbolt: Set the retimer NVM version 2022-01-14 18:04:13 +00:00
Richard Hughes
045bc383a6 thunderbolt: Fix a typo in the USB4 port online 2022-01-14 18:04:13 +00:00
Dylan Van Assche
e3b62e643b modem-manager: uninhibit modem after upgrade
When fastboot is used, the modem is rediscovered through udev
after upgrading. However, the modem-manager plugin did not mark
the modem as unhibited with ModemManager. This resulted into
ModemManager not exposing the modem without restarting ModemManager or
rebooting the device.

Mark the modem as uninhibited and do not take ownership over the
plugin data as this caused segfaults.
2022-01-13 20:30:09 +00:00
Richard Hughes
73f6767d87 trivial: Show why more devices are not marked as updatable 2022-01-13 16:04:31 +00:00
Richard Hughes
ca43733a8c Show why devices are not marked as updatable
At the moment a lot of the failures are only visible when running the
daemon in verbose mode, and the inhibit functionalit provides us a way
to unset FWUPD_DEVICE_FLAG_UPDATABLE from multiple places, as well as
setting the update error for the user to see why.
2022-01-13 12:40:56 +00:00
Richard Hughes
e03b8c46ed thunderbolt: Split the retimer and controller into two different objects
Although they do a lot of the same things, trying to deal with both
kinds of device in the same GObject type was making it very hard to
understand and maintain.

Split out two GObjects that both derive from FuThunderboltDevice.
2022-01-11 20:15:44 +00:00
Richard Hughes
d78ad32f24 trivial: Do not abort with a critical warning for a weird TPM event log
There is one eventlog item per-PCR with zero size.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2038167
2022-01-11 20:14:21 +00:00
Richard Hughes
2734f0ab77 redfish: Do not autoload ipmi-si to avoid warning on non-server hardware
This leads to reports of:

    systemd-modules-load[1710]: Failed to insert 'ipmi_si': No such device
    systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
2022-01-10 14:06:34 +00:00
Richard Hughes
40dad22388 cros-ec: Add progress completion when writing blocks
Also, simplify the helper that's passed to the retry function.
2022-01-07 07:24:08 +00:00
Richard Hughes
2f8e7dc05c logitech-hidpp: Always hardcode the vendor for FuLogitechHidPpDevice 2022-01-06 19:23:58 +00:00
Richard Hughes
25b1813069 trivial: Fix up some clang-format issues that snuck in recently 2022-01-06 17:04:34 +00:00
Richard Hughes
f885ab6d2a Allow patching firmware files at known offsets
This allows us to replace the 'dfu-tool replace' with a much more
controlled 'fwupdtool firmware-patch' command that patches at a set of
specific offsets.

Drop in the new functionality into the existing firmware ->write()
vfuncs so that the image headers, footers and/or checksums are correct.
2022-01-05 09:51:45 +00:00
Richard Hughes
8df102b7c0 Add fu_usb_device_add_interface() for plugins to use
It's a common action for plugins to call FuUsbDevice->open() then claim
interfaces, and then release them just before FuUsbDevice->close().

It's also something a lot of plugins get wrong, so provide common code
to handle it correctly in one place.
2022-01-04 22:05:37 +00:00
Mario Limonciello
f57a6637c9 trivial: fix man page sections
They're marked in the man page as section 8 but installed into 1.
They should be installed into 1 as they're not admin tools.
2022-01-04 14:17:43 -06:00
Richard Hughes
815a5a8a93 logitech-bulkcontroller: Assign the update interface correctly 2022-01-04 18:13:59 +00:00
Richard Hughes
c725e42e34 trivial: Fix various const issues 2022-01-03 22:46:23 +00:00