Commit Graph

7831 Commits

Author SHA1 Message Date
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
Richard Hughes
3236682a71 Allow decoding linear firmware with 'fwupdtool firmware-parse'
We cannot enable this for all formats as some firmware images have junk
data or are aligned in a specific way. Only do this when we know it is
safe.
2022-06-28 10:09:58 +01:00
Richard Hughes
0a7eb03704 Add a linear firmware wrapper
This allows us to parse any concatenated firmware format where the
image size is stored in the image.
2022-06-28 10:09:58 +01:00
Richard Hughes
08c7172168 Add support for parsing OptionROM firmware 2022-06-28 10:09:58 +01:00
Richard Hughes
f1542c3f9f Add support for IFWI Intel Code Partition (aka CPD) firmware 2022-06-28 10:09:58 +01:00
Chang Po-Hung
ffac50c55d add new device support pixart-rf 2022-06-27 23:08:42 -05:00
Crag Wang
f68092ea9d dell-dock: cache hub device and add it until ec is added
The usb3 hub 413c:b06f may be added to the plugin ahead of ec device
while dock type is yet known at that time. Cache the hub until ec can
tell the instance id, then add it to the plugin.
2022-06-28 06:49:24 +08:00
Richard Hughes
0491b07a93 Make the FuFirmware->parse() vfunc more helpful
This removes the 100% unused addr_end parameter and explicitly makes
the addr_start into the start offset in more cases.
2022-06-27 15:40:11 -05:00