Commit Graph

3151 Commits

Author SHA1 Message Date
Richard Hughes
01304a5fea Do not use MISSING when the iommu was just not found 2022-07-14 15:12:28 +01:00
Richard Hughes
0c51630991 Check firmware magic in a more standard way
Some parsers are ignoring the magic when using _FLAG_IGNORE_CHECKSUM
(which is wrong; fuzzers have no problem with enforcing a static prefix)
and other either disregard the offset or check the magic in an unsafe
way. Also, use FWUPD_ERROR_INVALID_FILE consistently for magic failure.

Add a vfunc, and move all the clever code into one place.
2022-07-14 14:48:15 +01:00
Richard Hughes
ae0c3fe38a Add 'action' resolution flags to each FwupdSecurityAttr
We tried to solve this by matching the org.fwupd.hsi AppStream ID, but
in some cases the resolution depends on what actually failed.

Add "the action the user is supposed to do" as flags so that the
front-end can translate this in the appropriate way, for instance,
using a different string for log events and HSI dialogs.
2022-07-14 14:47:44 +01:00
xtcui
d86191c392 analogix: Add support for two new Startech devices. 2022-07-14 11:14:01 +01:00
Richard Hughes
e2f643e08c ccgx: Add quirk entries for the Goshen Ridge EVB 2022-07-14 11:06:28 +01:00
hugh chao(hugh712)
a7e1307bfd dell-dock: update doc to clarify the hidden inhibited usb4 device 2022-07-14 07:56:47 +01:00
Richard Hughes
77880751cd Do not use CoD even when advertized on non-aarch64 platforms
Fixes https://github.com/fwupd/fwupd/issues/4823
2022-07-14 07:50:42 +01:00
michaelcheng04
8a7c159d31 elanfp: Add new protocol for CFU update
1. Removed usb-control-transfer tag.
2. Removed is_bulk_transfer temp variable.

Signed-off-by: michaelcheng04 <michael.cheng@emc.com.tw>
2022-07-13 22:12:35 +01:00
michaelcheng04
b65844b960 elanfp: Add new protocol for CFU update
1. Using bulk transfer instead of control transfer to send command.
2. Adding header to command format.

Signed-off-by: michaelcheng04 <michael.cheng@emc.com.tw>
2022-07-13 22:12:35 +01:00
michaelcheng04
5621404bda elanfp: Add new protocol for CFU update
Signed-off-by: michaelcheng04 <michael.cheng@emc.com.tw>
2022-07-13 22:12:35 +01:00
Richard Hughes
2fbadaa95f acpi-phat: Fix a critical warning when parsing an invalid PHAT record
See https://oss-fuzz.com/testcase-detail/6099569951244288 for details.
2022-07-13 22:03:58 +01:00
Richard Hughes
011efbb3f3 logitech-hidpp: Fix one more guessed FuProgress step 2022-07-11 11:59:31 +01:00
Richard Hughes
d5de92095a trivial: Fix typo in 85c01e1 where the plugin name was removed 2022-07-11 11:46:04 +01:00
Richard Hughes
ab9f27e6db Add a precommit script to check for missing GObject finalizers 2022-07-11 11:16:47 +01:00
Richard Hughes
acc66316ec steelseries: Fix trivial -Wunused-variable issue 2022-07-11 09:58:00 +01:00
Richard Hughes
3391845660 corsair: Fix trivial -Wformat issue 2022-07-11 09:53:36 +01:00
Richard Hughes
726a85d5d9 corsair: Fix trivial -Wunused-variable issue 2022-07-11 09:52:46 +01:00
Richard Hughes
dcaa8f85f2 amt: Fix trivial -Wunused-variable issue 2022-07-11 09:51:41 +01:00
Richard Hughes
27c8bb4a1a logitech-hidpp: Force signed-payload for the Bolt devices 2022-07-11 09:43:35 +01:00
Richard Hughes
f45c10bd26 uefi-capsule: Fix a tiny memory leak when falling back to the app path
Found by Coverity.
2022-07-11 08:29:37 +01:00
Richard Hughes
0e870cc576 trivial: Silence new Coverity warning 2022-07-11 08:29:37 +01:00
Simon Glass
cbfda0739c vbe: Add a new plugin for writing Flat Image Trees
This adds the logic for the VBE plugin. It supports reading information
from the system to determine which VBE method (a device in fwupd) is in
use, then creating those devices to handle the actual update.

Verified Boot for Embedded (VBE) relies on FIT files to operate.
FIT is a way of packaging multiple images along with information about
them.

Signed-off-by: Simon Glass <sjg@chromium.org>
2022-07-11 08:28:42 +01:00
Richard Hughes
85c01e1b5e realtek-mst: Simply quirk matching
Existing firmware is being deployed using 'fwupdtool install-blob' and
so changing the instance ID to be more standard is fine.
2022-07-09 14:57:28 +01:00
Richard Hughes
f8932b0162 parade-lspcon: Simply quirk matching
Existing firmware is being deployed using 'fwupdtool install-blob' and
so changing the instance ID to be more standard is fine.
2022-07-09 14:57:28 +01:00
Richard Hughes
b666623fad fastboot: Support SHA256 hashes too 2022-07-09 14:56:28 +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
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
ba72b1a8a5 ccgx: Only show the FwImageType when known 2022-07-05 11:39:42 +01: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
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
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
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
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
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
Richard Hughes
c4cdda0b87 trivial: Do not load the GResource when not required 2022-06-27 19:06:21 +01:00
Richard Hughes
e6e0de5405 system76-launch: Wait for device to re-enumerate if unlocked and reset
Fixes https://github.com/fwupd/fwupd/issues/4762
2022-06-27 06:49:12 +01:00
Richard Hughes
2ca843b75c trivial: Fix self test failure on ppc64be 2022-06-26 17:28:04 -05:00
Richard Hughes
722360d468 synaptics-cape: Fix a big endian compile warning
The cmd_id is 16 bits wide.
2022-06-26 17:28:04 -05:00
Mario Limonciello
fb701a0426 Fix running fwupdtool security with a plugin allowlist
A number of plugins make assumptions that ->init() was called, but
when an allowlist is used this won't have been called.
2022-06-26 13:57:53 -05:00
Richard Hughes
b8be6daf1f trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
Richard Hughes
a70d005ea3 trivial: Use a better error message disambiguate an error message 2022-06-23 21:56:06 +01:00
Mario Limonciello
030a0d51c1 trivial: quiet the modem manager error about unable to probe
We don't show messages in the logs about unable to probe other
device types by default, MM should be no different.
This gets rid of this message coming up every fwupd startup on a
EM05-G:
"failed to probe MM device: modem cannot be put in programming mode"
2022-06-23 14:53:58 -05:00