Commit Graph

8363 Commits

Author SHA1 Message Date
Richard Hughes
fd5d84a8f5 trivial: Never add missing FDT values as a HwID 2023-02-14 13:52:04 +00:00
Richard Hughes
23ae0b115c trivial: Fix critical warning when using fwupdtool export-hwids 2023-02-14 09:27:11 +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
Richard Hughes
34743ff6f4 Allow downloading files in fwupdtool
The useragent was being set as 'fwupdtool/1.8.11 fwupd/(NULL)' which the LVFS
did not like. As we're using fwupdtool without a daemon proxy just set the
fwupd version manually.

Fixes https://github.com/fwupd/fwupd/issues/5519
2023-02-13 21:17:03 +00:00
Richard Hughes
be45a3a773 Show the 4XX download failure in the error output 2023-02-13 21:17:03 +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
a7eae27519 Set the device percentage and status for the duration
Fixes part of https://github.com/fwupd/fwupd/issues/5522
2023-02-13 16:47:38 +00:00
Richard Hughes
64ebbd2f9d trivial: Fix the gtk-doc header to reflect reality 2023-02-13 16:13:10 +00:00
Richard Hughes
382759f78b Include python3-uswid in the container so fwupd-efi can include the uSWID section 2023-02-13 14:58:57 +00:00
Richard Hughes
ec61f3e558 trivial: Add a clang-tidy template 2023-02-13 12:34:46 +00: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
ca564bbc55 trivial: Fix a typo that was missed in review 2023-02-13 12:34:46 +00:00
Richard Hughes
e4ce1c4d19 trivial: Test for the correct thing in the tests 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
670e5b9750 trivial: Remove the unused deprecated header files 2023-02-13 12:34:46 +00:00
Richard Hughes
3395aa5d9c trivial: Never show profiling steps when using fwupdtool install 2023-02-11 16:38:39 +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
f761ec3c25 Update the MOTD after 5s idle
If we're doing multiple updates in a composite device then we don't need to
update the MOTD in between each sub-component update. Similarly, if we're
emulating lots of devices.

This speeds up emulating all the devices by two orders of magnitude.
2023-02-10 14:17:01 +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
2f6d3f71cc trivial: Use g_string_replace() from GLib when available 2023-02-10 13:11:25 +00:00
Richard Hughes
ae80ba6d16 Fix SMBIOS struct parsing when there are three NULs in a row
We need to be careful detecting the end of a string section when the struct
ends with NUL NUL NUL.

Fixes https://github.com/fwupd/fwupd/issues/5509
2023-02-10 13:11:25 +00:00
Valentin David
d911ca60c5 snap: allow fwupdmgr to shutdown
When installing a capsule, optional reboot is done by fwupdmgr instead
of fwupd. This means fwupdmgr needs the permission to do that.
2023-02-10 06:55:12 -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
7c10fb0e12 Ensure composite devices all share the same acquiesce delay
We go to great pains to set the parent to the MAX of the child delays, but we
don't actually set the children to have the new parent value.

This means if you update the child device without the parent in the transaction
we don't always wait for all the USB devices to come back -- which is what the
acquiesce delay is designed to do.

Fixes an intermittant device test for the Wacom USB tablet.
2023-02-09 13:29:59 +00:00
Richard Hughes
fa72578666 trivial: Ignore device requests when emulated 2023-02-09 09:17:16 +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
Mario Limonciello
57282a5903 trivial: Disable the automatic snap stable promotion
The snap is converted into a confined version, but we need to make
sure that the snapd has promoted into a stable release so that fwupd
snap also works.

We should revert this after that happens.
2023-02-08 23:34:47 -06:00
Richard Hughes
d621511c3e Fix fwupdtool firmware-convert to work with image-less formats
Converting 'simple' non-nested formats like Intel Hex into nested formats like
DfuSe needs us to create a binary child firmware to avoid missing data.

Fixes https://github.com/fwupd/fwupd/issues/5493
2023-02-08 08:58:40 +00:00
Richard Hughes
101f72537f trivial: Do not return the internal libxmlb error back to the user 2023-02-08 08:23:29 +00:00
Richard Hughes
5aec024d33 Print errors as JSON objects when using --json
For example:

	$ fwupdmgr local-install --json foo.zip
	{
	  "Error" : {
	    "Domain" : "FwupdError",
	    "Code" : 7,
	    "Message" : "failed to open foo.zip"
	  }
	}

Fixes https://github.com/fwupd/fwupd/issues/5499
2023-02-08 08:23:29 +00:00
Valentin David
70eed3cb9b snap: read the host os-release instead of base snap
This should fix #5485. Depends on https://github.com/snapcore/snapd/pull/12545
2023-02-08 04:21:18 +00:00
Richard Hughes
c7368c5ce7 Optimise getting the list of upgrades using the legacy API
We use GetReleases for all the *possible* releases that could be installed
(although the device might be in UPDATABLE_HIDDEN), and the legacy GetUpgrades
API just wants to know what can be done right now.
2023-02-08 04:20:57 +00:00