Commit Graph

8138 Commits

Author SHA1 Message Date
Richard Hughes
f3755ef708 Add support for Flattened Devicetree aka FDT firmware 2022-07-08 14:05:20 +01:00
Richard Hughes
5981472a63 dfu: Fix a regression for devices using the Atmel FLIP Bootloader
This regressed in faa7871b08 as the
ONLY_QUIRK vendor instance ID was no longer being added when the device
switched into bootloader mode.

We could add back the ->probe() to get the vendor quirk, but arguably
the most sensible and correct thing to do is to just use the PID as
well. There is only two PIDs we care about, and matching *every* device
with the vendor ID is probably asking for trouble with other devices.
2022-07-08 12:34:35 +01:00
Richard Hughes
c9a8c42aca synaptics-prometheus: trivial: Fix FuProgress guess 2022-07-08 10:21:52 +01:00
Mario Limonciello
c0579edd98 trivial: fedora: don't require dell plugin for synaptics-mst anymore 2022-07-06 19:27:30 +01:00
Richard Hughes
1e6d75a47e Add the HostVendor to the D-Bus interface
This allows us to show it in the same places as the host product.
2022-07-06 16:10:43 +01:00
Mario Limonciello
c33772c413 trivial: revert back to Ubuntu 20.04 for the github workflows
For some reason the Azure mirror is failing *again* with systemd.
This doesn't seem to affect the Circle CI builds this time though.
2022-07-06 09:23:28 -05:00
Mario Limonciello
5f202fca1e trivial: drop plugin_thunderbolt configuration option
This isn't really needed anymore because the only dependency is
gudev which is already a feature that is disabled dynamicall.y
2022-07-05 11:23:02 -05:00
Richard Hughes
57a1270bad Add fu_firmware_get_parent() for future use
Some firmware stacks images hierarchically, and it's useful to be able
to get the parent when unrolling them out into a linear format.
2022-07-05 16:47:18 +01:00
Richard Hughes
ba72b1a8a5 ccgx: Only show the FwImageType when known 2022-07-05 11:39:42 +01:00
Richard Hughes
e6fee15d3c
Skip uSWID self tests when compiled without cbor support (#4800)
Fixes https://github.com/fwupd/fwupd/issues/4791
2022-07-05 10:20:46 +00:00
hugh712
4bf53196fc trivial: don't show devices with inhibit id: hidden
dell-dock: don't show thunderbolt's usb4 device, if inhibited
2022-07-05 08:54:12 +01:00
Richard Hughes
07d5bf12e4 logitech-hidpp: Fix flashing the K750 keyboard
Add the legacy instance IDs to make old firmware work.
2022-07-05 08:52:54 +01:00
hugh712
dc74008517 dell-dock: Use accurate FuProgress steps for ec and mst 2022-07-04 10:47:06 +01:00
Richard Hughes
165b450e80 trivial: Fix a tiny memory leak caused by VENDOR_FROM_PARENT 2022-07-01 14:57:41 +01:00
Richard Hughes
be6af6d11c trivial: Fix a tiny memory leak when parsing oprom firmware 2022-07-01 13:57:18 +01:00
Richard Hughes
de31992522 trivial: Fix a tiny memory leak in the self tests 2022-07-01 13:57:18 +01:00
Richard Hughes
91cb4e7274 trivial: Relax some timings a little to fix running valgrind 2022-07-01 13:57:18 +01:00
Richard Hughes
726d20e498 Ensure more firmware formats can round-trip to and from XML
This greatly improves the coverage stats too.
2022-07-01 13:57:18 +01:00
Richard Hughes
95f7d23d58 Fix FuCfuOffer XML roundtrip 2022-07-01 13:57:18 +01:00
Richard Hughes
5cf63a0741 trivial: Add some more coverage tests for FwupdRelease 2022-07-01 13:57:18 +01:00
Richard Hughes
5971783634 trivial: Add a missing FwupdDeviceFlags string converter 2022-07-01 13:57:18 +01:00
Richard Hughes
6243e9f62a Add some coverage tests for FwupdRemote 2022-07-01 13:57:18 +01:00
Richard Hughes
358b1e0229 trivial: Add some more tests for FwupdPlugin 2022-07-01 11:25:26 +01:00
Mario Limonciello
9b30739d76 trivial: change docs to a meson feature (Fixes: #4791) 2022-07-01 10:56:12 +01:00
Richard Hughes
b1a31dbfae Include the plugin name in the FwupdSecurityAttr GVariant 2022-07-01 10:55:56 +01:00
Richard Hughes
92107e55cd trivial: Allow the device-id property to be set on a FwupdRequest 2022-07-01 10:55:56 +01:00
Richard Hughes
2dc029aa6a Fix setting the device ID on the FwupdRequest 2022-07-01 10:55:56 +01:00
Richard Hughes
b2284bf99e Increase the coverage of the self tests 2022-07-01 10:55:56 +01:00
Richard Hughes
d7479423a0 trivial: Add SUBSYS instance data if *either* of the vendor or model are set 2022-06-30 19:06:38 +01:00
Richard Hughes
ced79fce4a Create the better device GType in the backend
It is weird to do this when constructing the object, and it allows us
to match PossiblePlugin quirk matches on potentially better instance
IDs added by the superclass.
2022-06-30 19:06:38 +01:00
Richard Hughes
bb548f15f0 Fix segfault when parsing an invalid i2c device
Confusingly, g_regex_match_full() returns FALSE and doesn't always set
the GError. Just use g_path_get_basename() and g_str_has_prefix().
2022-06-30 19:06:38 +01:00
Richard Hughes
7b96c2e6cd trivial: Implement FuMeiDevice->incorporate() 2022-06-30 19:06:38 +01:00
Richard Hughes
a694a1d915 trivial: Implement FuI2cDevice->incorporate() 2022-06-30 19:06:38 +01:00
Richard Hughes
006c75a82d trivial: Only print the MEI private data if set 2022-06-30 19:06:38 +01:00
Richard Hughes
a61bb37881 Build the quirk files into the daemon as a GResource
Interestingly, this increases the `fwupd` binary size by ~30kb but
reduces the installed size of /usr/share/fwupd/quirks.d by ~330kb.
2022-06-30 18:52:24 +01:00
Richard Hughes
17a10e4645 Fix get-details when the device requirements fail
First, fix a memory leak -- we had already done `_load_release()`
on an allocated release a few lines above and added a veto for the
get-details case. This also fixes the bug as the 2nd load is no longer
fatal as it does not exist.

Also, add some tests to check this for both the device-exists and
device-does-not-exist cases.

Fixes https://github.com/fwupd/fwupd/issues/4783
2022-06-30 18:01:27 +01:00
Richard Hughes
f6aae56f8a trivial: Do not add the requirement veto if the device does not exists 2022-06-30 18:01:27 +01:00
Richard Hughes
dd3c63bc8d trivial: Fix a memory leak when updating the device file 2022-06-30 14:23:45 +01:00
Richard Hughes
6ac6372b2a trivial: Make the FuUdevDevice->to_string() more complete 2022-06-30 14:17:53 +01:00
Richard Hughes
c7b3cd5b8a Fix a hidraw regression
Ensure that udev_parent is actually set before checking it for NULL.
2022-06-30 14:17:53 +01:00
Richard Hughes
5b17189bc1 Fix FuUdevPlugin to use 0x0 for unset
We were using 0x0 and 0xFFFF in different places, and only checking the
former in most cases. Just restrict the range to 0xFFFE and use 0x0 as
*invalid or not set* as before.
2022-06-30 14:17:53 +01:00
Richard Hughes
3d654e9b68 Enforce that the UDEV VEN:DEV is a uint16_t
This was incompletely fixed in bf256a7ca7
and changing the type means that the compiler finds any places where
we compare it with a uint32_t.
2022-06-30 14:17:53 +01:00
Crag Wang
e8fc812c29 dell-dock: update doc to clarify the inhibition of usb4 device 2022-06-30 12:13:19 +08:00
Richard Hughes
4413b7d2e9 facp: Downgrade a warning about missing FACP
This is the same as we did for the IVRS.
2022-06-29 16:44:18 +01:00
Richard Hughes
fefb034d32 trivial: Add deps when building on aarch64 2022-06-29 16:15:41 +01:00
Jerry Zhang
870d149a11 dfu: Add Force-Detach to bypass audio/video streaming check
Some Poly usb devices will STALL the dfu detach request if the
audio/video is streaming. By setting the high byte of wIndex
in detach control request to 1, it could bypass the streaming
status check.
2022-06-29 15:14:03 +01:00
Richard Hughes
7a44ab39dd synaptics-rmi: Fix a progress warning when writing an image with a signature 2022-06-29 10:47:27 +01:00
Richard Hughes
c1fc8a55e0 Always set the progress ID when setting the number of steps
This fixes a potential critical warning (seen in the hailuck plugin,
although others may be affected too) where the parent does not set the
ID before the child sets the number of steps.

It's much more helpful to have the child position for debugging anyway,
so just set it in all cases.
2022-06-29 10:47:27 +01:00
Mario Limonciello
ac55012001 Revert "trivial: move some jobs back to Ubuntu 20.04 to fix CI"
This reverts commit 8035b48158.
2022-06-28 08:29:16 -05:00
Richard Hughes
96b423e04f Add support for IFWI Intel Flash Program Tool (aka FPT) firmware 2022-06-28 10:09:58 +01:00