Commit Graph

3467 Commits

Author SHA1 Message Date
Richard Hughes
b633859ffc uefi-capsule: Add some wisdom on version formats
I'm answering this question a lot, so add some UEFI-specific notes.
2023-02-21 19:12:08 +00:00
Richard Hughes
b24d14ebde Be more nuanced when considering if the system is on AC power
This should be no beahviour change, but it allows the powerd and upower plugins
to provide more information in the future.

Fixes https://github.com/fwupd/fwupd/issues/3386
2023-02-21 17:27:35 +00:00
Richard Hughes
5a4229fce6 Allow enabling low-level debugging of fwupdx64.efi from uefi_capsule.conf
Short-to-medium-term we want to stop installing fwupdate and this was the last
useful part we never migrated.
2023-02-21 09:13:28 -06:00
Richard Hughes
0e1422939e dfu: Allow DFU devices to declare the payload in the XML metadata
The DFU protocol can be used to transfer both signed and unsigned content, and
it's up to the device to do the right thing.
2023-02-20 15:52:57 +00:00
Richard Hughes
f358da7bda redfish: Only offset the IPMI user_id when using XCC
Both iDRAC and SuperMicro do the sensible thing.

Fixes https://github.com/fwupd/fwupd/issues/5129
2023-02-20 15:23:16 +00:00
Richard Hughes
1b7d8b1a6f intel-usb4: Prefer this plugin over the Thunderbolt plugin
This also means we don't accidentally run the `FuDevice->attach()` and
`FuDevice->cleanup()` methods on the `FuThunderboltDevice` as this enumerates
first after the post-update replug.
2023-02-20 14:29:48 +00:00
Richard Hughes
148cfab0e4 intel-usb4: Use ONLY_WAIT_FOR_REPLUG to speed up emulation 2023-02-20 14:29:48 +00:00
Richard Hughes
b949fb1eea intel-usb4: Allow setting the name from the metadata
We can do so much better than 'USB3.0 Hub'.
2023-02-20 14:29:48 +00:00
Richard Hughes
88bd9fd8c3 intel-usb4: Set the remove delay to avoid a console warning 2023-02-20 14:29:48 +00:00
Richard Hughes
0dcb3aadfe intel-usb4: Implement FuDevice->set_progress() to avoid a warning 2023-02-20 14:29:48 +00:00
Mario Limonciello
2b96b9e933 Add a quirk for COD detection
Insyde has added a bit into the ACPI UEFI table that can be utilized
to detect if they have fixed the COD bug.

This means that COD can be turned on by default for X86 for all vendors
that support it, and if Insyde is encountered whenever that bit is active.
2023-02-19 08:38:52 +00:00
Richard Hughes
9be0c6dea6 Add a generic ACPI table parser 2023-02-18 20:08:34 +00:00
Mario Limonciello
9407c5680f trivial: fix overwriting errors for existence of shim
fixes: #5545
2023-02-17 16:44:09 +00:00
Richard Hughes
a5dd40690b trivial: Add FuProgress to FuPlugin->backend_device_added()
Now we know fu_synaptics_mst_plugin_device_rescan() takes ~267ms...
2023-02-17 06:52:49 +00:00
Mario Limonciello
331e59eb04 trivial: be consistent about the vendor string for AMD 2023-02-16 14:40:51 -06:00
Mario Limonciello
c6731e56f2 trivial: add a plugin to show VBIOS version for AMD APUs
The VBIOS version is actually fetched by udev, this plugin sets
up the relationship so it's displayed in the right place.
2023-02-16 14:40:51 -06:00
Mario Limonciello
2ddda260a6 trivial: uefi-capsule: drop the fallback to removable path flag
It was used for ubuntu-core with a confined fwupd, but now we will
load our own shim as necessary to the ESP.
2023-02-16 11:32:36 -06:00
Mario Limonciello
5266d62611 uefi-capsule: Copy in an updated shim if provided
If a shim is in the fwupd libexec/efi directory, it's intended to
be paired with the fwupd binary.
2023-02-16 11:32:36 -06:00
Richard Hughes
b25e0f3a28 uefi-capsule: Require at least 80MB free in the ESP
See https://github.com/fwupd/firmware-lenovo/issues/257
2023-02-15 16:12:26 +00:00
Richard Hughes
336494190d Allow installing some battery firmware updates when the power is too low
The firmware in this case fixes the battery charging, and as the battery is
*internal* the user isn't able to apply the fix.

Fixes https://github.com/fwupd/firmware-lenovo/issues/315
2023-02-15 16:08:53 +00:00
Richard Hughes
a528793127 ccgx: Make the default image type for FuCcgxDmcDevice to be DMC_COMPOSITE
This means most devices do not need to specify additional quirks.
2023-02-14 08:22:47 +00:00
Mario Limonciello
5444131703 trivial: logitech-hidpp: move the check for CONFIG_HIDRAW into probe
The kernel should have loaded hidraw support by the time that we probe
a device.  This fixes logitech devices not showing up after startup
if they weren't plugged in initially.

Fixes: #5525
2023-02-13 11:30:28 -06:00
Richard Hughes
06c95b22aa trivial: Fix warning: function has a definition with different parameter names 2023-02-13 12:34:46 +00:00
Richard Hughes
828dc5a7bc trivial: Fix warning: return after continue 2023-02-13 12:34:46 +00:00
Richard Hughes
3b53fde5b8 trivial: Fix warning: parameter is const-qualified in the function declaration 2023-02-13 12:34:46 +00:00
Richard Hughes
8290e4d1ef trivial: Fix warning: declared with a const-qualified typedef 2023-02-13 12:34:46 +00:00
Richard Hughes
2950f5fa3b trivial: Fix warning: pointer parameter 'buf' can be pointer to const 2023-02-13 12:34:46 +00:00
Richard Hughes
5dbc91e769 trivial: Fix warning: repeated branch in conditional chain 2023-02-13 12:34:46 +00:00
Richard Hughes
2336f6a345 trivial: Fix warning: do not use 'else' after 'return' 2023-02-13 12:34:46 +00:00
Richard Hughes
d1b99ed5fc trivial: Fix warning: redundant return statement at the end of a function with a void return type 2023-02-13 12:34:46 +00:00
Richard Hughes
296fc0c0e5 trivial: Remove an unused source file 2023-02-13 12:34:46 +00:00
Richard Hughes
e6908c93e4 trivial: Remove an unused self-test file 2023-02-13 12:34:46 +00:00
Richard Hughes
33065a6893 Actually store the SHA384 TPM measurements if found 2023-02-13 12:34:46 +00:00
Richard Hughes
9d313bb3c9 trivial: Include the correct headers to make clang-tidy happy 2023-02-13 12:34:46 +00:00
Richard Hughes
d35f199fb6 trivial: Add some additional docs about CCGX factory mode 2023-02-10 18:29:41 +00:00
Richard Hughes
ac5f9412e0 Add support for emulating and recording devices
Based on patches from Frédéric Danis <frederic.danis@collabora.com>
2023-02-10 14:43:25 +00:00
Richard Hughes
8f2119188d ccgx: Auto-set the remove-delay now we parse the devx components
This is one less thing for vendors to work out.
2023-02-10 14:16:46 +00:00
Mario Limonciello
a4d1639823 trivial: thunderbolt: show integrated USB4 host controllers in tree
USB4 host controllers that can't be updated come from the CPU.
Show them properly in the tree view.
2023-02-10 07:35:08 -06:00
Mario Limonciello
d84fb5bbee trivial: Add relationship for GPIO controller
The GPIO controllers AMDI0030 and AMDI0031 come from the SOC.
Show them appropriately in the tree view.
2023-02-10 07:35:08 -06:00
Richard Hughes
910f58d9ce cros-ec: Fix an uninitialized buffer warning from valgrind 2023-02-10 11:02:34 +00:00
Richard Hughes
eff7bfed8e analogix: Do not check the endpoints before selecting an interface
My Analogix USB device has a Billboard interface, with bNumEndpoints=0.

When emulating the interface is NULL, and in runtime the array can *never* be
NULL, so I think this check was added in error.
2023-02-10 10:52:58 +00:00
Richard Hughes
390796c0d3 ti-tps6598x: Fix a small memory leak when flashing new firmware 2023-02-10 10:52:09 +00:00
Richard Hughes
fb4e8446c1 wacom-usb: Use the device proxy functionality
The wacom-usb plugin was created in a simpler time, before we had the concept
of `FuDevice.proxy`. Switch to the shared code to modernize the code, and also
because setting the proxy conveys other semantics that we need to emulate the
device successfully in the future.
2023-02-09 16:43:52 +00:00
Richard Hughes
41544e62a3 trivial: Remove the now-unused FWUPD_WAC_EMULATE check 2023-02-09 16:43:52 +00:00
Richard Hughes
0e0504cc64 ccgx: Add support for the CalDigit Element Hub 2023-02-09 08:46:52 +00:00
Richard Hughes
58cbb15e64 ccgx: Detect factory mode and set a non-zero version
The Element Hub (and several other docks that use the CCGX5 DMC reference
design) is in "factory mode" out of the box, displaying a version of `0.0.0.0`

Detect factory mode and set a non-zero version -- using the "real" version if
possible by matching the CCG5 devx base firmware firmware.
2023-02-09 08:46:52 +00:00
Richard Hughes
9fdfcfe499 wistron-dock: Use only-wait-for-replug to speed up device replug
Also, set the progress steps correctly.
2023-02-07 11:24:03 +00:00
Richard Hughes
70417a3aee wistron-dock: Fix critical warning during update 2023-02-07 11:24:03 +00:00
Richard Hughes
d4109b9f79 trivial: Fix Fedora CI when it cannot autostart udisks 2023-02-07 11:00:53 +00:00
Richard Hughes
7116ff94c2 cros-ec: Clear the bulk transfer buffer to zero before using
This allow us to emulate the device as the buffer contents are now 100%
predictable and replayable.
2023-02-07 09:30:51 +00:00