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
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
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.
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.
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.
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.
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.
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.
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
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.