Commit Graph

3462 Commits

Author SHA1 Message Date
Richard Hughes
52f693ae99 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-23 13:04:12 -06:00
Richard Hughes
e0f631d347 intel-usb4: Use ONLY_WAIT_FOR_REPLUG to speed up emulation 2023-02-23 13:04:12 -06:00
Richard Hughes
739523b032 intel-usb4: Allow setting the name from the metadata
We can do so much better than 'USB3.0 Hub'.
2023-02-23 13:04:12 -06:00
Richard Hughes
0378f9ffdb intel-usb4: Set the remove delay to avoid a console warning 2023-02-23 13:04:12 -06:00
Richard Hughes
619f67276c intel-usb4: Implement FuDevice->set_progress() to avoid a warning 2023-02-23 13:04:12 -06:00
Mario Limonciello
68539273d2 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-23 13:04:12 -06:00
Richard Hughes
da2ff0a6e6 Add a generic ACPI table parser 2023-02-23 13:04:12 -06:00
Mario Limonciello
fec88180c9 trivial: fix overwriting errors for existence of shim
fixes: #5545
2023-02-23 13:04:12 -06:00
Richard Hughes
003ae2ba3c trivial: Add FuProgress to FuPlugin->backend_device_added()
Now we know fu_synaptics_mst_plugin_device_rescan() takes ~267ms...
2023-02-23 13:04:12 -06:00
Mario Limonciello
7ac78da20c trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
Mario Limonciello
aa2c038d9e 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-23 13:04:12 -06:00
Mario Limonciello
398c3722d0 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-23 13:04:12 -06:00
Mario Limonciello
2cbe25e8c3 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-23 13:04:12 -06:00
Richard Hughes
39f7699401 uefi-capsule: Require at least 80MB free in the ESP
See https://github.com/fwupd/firmware-lenovo/issues/257
2023-02-23 13:04:12 -06:00
Richard Hughes
f10dbf9b5d 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-23 13:04:12 -06:00
Richard Hughes
c7e79e1e76 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-23 13:04:12 -06:00
Mario Limonciello
3920c9db6f 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-23 13:04:12 -06:00
Richard Hughes
2077861dea trivial: Fix warning: function has a definition with different parameter names 2023-02-23 13:04:12 -06:00
Richard Hughes
21e08ff483 trivial: Fix warning: return after continue 2023-02-23 13:04:12 -06:00
Richard Hughes
9defbce2c7 trivial: Fix warning: parameter is const-qualified in the function declaration 2023-02-23 13:04:12 -06:00
Richard Hughes
648e0c6858 trivial: Fix warning: declared with a const-qualified typedef 2023-02-23 13:04:12 -06:00
Richard Hughes
be04e8e034 trivial: Fix warning: pointer parameter 'buf' can be pointer to const 2023-02-23 13:04:11 -06:00
Richard Hughes
65b158a7cc trivial: Fix warning: repeated branch in conditional chain 2023-02-23 13:04:11 -06:00
Richard Hughes
caa6568262 trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
Richard Hughes
953b74a26f trivial: Fix warning: redundant return statement at the end of a function with a void return type 2023-02-23 13:04:11 -06:00
Richard Hughes
72c8574f04 trivial: Remove an unused source file 2023-02-23 13:04:11 -06:00
Richard Hughes
2f679bf2e2 trivial: Remove an unused self-test file 2023-02-23 13:04:11 -06:00
Richard Hughes
4ea2e43b13 Actually store the SHA384 TPM measurements if found 2023-02-23 13:04:11 -06:00
Richard Hughes
a5dd069b43 trivial: Include the correct headers to make clang-tidy happy 2023-02-23 13:04:11 -06:00
Richard Hughes
c0ababf2cf trivial: Add some additional docs about CCGX factory mode 2023-02-23 13:04:11 -06:00
Richard Hughes
b59c82e1bd Add support for emulating and recording devices
Based on patches from Frédéric Danis <frederic.danis@collabora.com>
2023-02-23 13:04:11 -06:00
Richard Hughes
2d2d59591a ccgx: Auto-set the remove-delay now we parse the devx components
This is one less thing for vendors to work out.
2023-02-23 13:04:11 -06:00
Mario Limonciello
d0e880ca4c 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-23 13:04:11 -06:00
Mario Limonciello
21d185ef13 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-23 13:04:11 -06:00
Richard Hughes
8aef37fd57 cros-ec: Fix an uninitialized buffer warning from valgrind 2023-02-23 13:04:11 -06:00
Richard Hughes
8e25ec00e2 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-23 13:04:11 -06:00
Richard Hughes
2b60028a97 ti-tps6598x: Fix a small memory leak when flashing new firmware 2023-02-23 13:04:11 -06:00
Richard Hughes
d064cc740e 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-23 13:04:11 -06:00
Richard Hughes
7a2207fb28 trivial: Remove the now-unused FWUPD_WAC_EMULATE check 2023-02-23 13:04:11 -06:00
Richard Hughes
e8e6908246 ccgx: Add support for the CalDigit Element Hub 2023-02-23 13:04:11 -06:00
Richard Hughes
1aac6646f0 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-23 13:04:11 -06:00
Richard Hughes
5374e5a379 wistron-dock: Use only-wait-for-replug to speed up device replug
Also, set the progress steps correctly.
2023-02-23 13:04:11 -06:00
Richard Hughes
7f50cffc2b wistron-dock: Fix critical warning during update 2023-02-23 13:04:11 -06:00
Richard Hughes
ab65987a58 trivial: Fix Fedora CI when it cannot autostart udisks 2023-02-23 13:04:11 -06:00
Richard Hughes
f6d977c354 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-23 13:04:11 -06:00
Richard Hughes
6a75c28bfc trivial: Fix a tiny coverity-spotted memory leak on error 2023-02-23 13:04:11 -06:00
Richard Hughes
e3c660d203 nvme: Detect and warn users with the broken firmware 3B2QGXA7 2023-02-23 13:04:11 -06:00
Richard Hughes
22be20498f trivial: Fix critical warning when loading an emulated DFU device 2023-02-23 13:04:11 -06:00
Richard Hughes
82b35eb208 ti-tps6598x: Ignore the 'wrong' USB device class before calling ->setup()
No functional change, but a few less i/o operations when inserting the dock.
2023-02-23 13:04:11 -06:00
Richard Hughes
450d8a02d4 dfu: Use more const buffer data when writing to AVR chips 2023-02-23 13:04:11 -06:00