]>
git.proxmox.com Git - fwupd.git/log
Richard Hughes [Wed, 14 Dec 2022 18:35:03 +0000 (18:35 +0000)]
ti-tps6598x: Use the TX identity to set the PD VID&PID to the correct values
This allows us to match the firmware stream to the dock model perfectly,
without relying on the oUID and CONFIG being set to specific OEM values.
Denis Pynkin [Wed, 14 Dec 2022 17:27:18 +0000 (18:27 +0100)]
ti-tps6598x: remove the delay on write
Speed up the write by removing the delay after SFWd write:
- 100ms (current): 3m 16s
- no delays: 1m 45s
Mario Limonciello [Wed, 14 Dec 2022 13:37:39 +0000 (07:37 -0600)]
iommu: Suggest to turn on ThunderboltAccess for Lenovo systems
Lenovo systems that offer a BIOS setting for ThunderboltAccess will
use this option to control whether the IOMMU is enabled by default
or not.
It may be counter-intuitive; but as there are other more physically
difficult to attack PCIe devices it's better to have the IOMMU
enabled pre-boot even if it enables access to Thunderbolt/USB4.
Fixes: #5314
Richard Hughes [Tue, 13 Dec 2022 12:02:00 +0000 (12:02 +0000)]
Add a 'get-report-metadata' command to allow debugging metadata collection
Richard Hughes [Wed, 14 Dec 2022 14:18:44 +0000 (14:18 +0000)]
Add X-Dock and X-UsbDock update categories
Richard Hughes [Wed, 14 Dec 2022 12:35:12 +0000 (12:35 +0000)]
Allow specifying OR parent requirements
For example:
<requires>
<!-- USB\VID_0451&PID_ACE1&OUID_0800000000000000 or
USB\VID_0451&PID_ACE1&OUID_3300000000000000 -->
<firmware depth="1">
39cd2d79 -f119-5e2b-ba57-
0b101df5bebc |
33c68fc5 -fd3d-5cc8-951b-
319368dfd6e8 </firmware>
</requires>
Richard Hughes [Wed, 14 Dec 2022 13:47:10 +0000 (13:47 +0000)]
trivial: Fix build failure when /var/cache/fwupd is not writable
The fu_context_load_quirks(FU_QUIRKS_LOAD_FLAG_NO_CACHE) has to be done first,
otherwise fu_context_load_hwinfo() auto-loads the quirk db with the defaults.
Fixes a build failure in Fedora QA.
Richard Hughes [Tue, 8 Nov 2022 13:18:22 +0000 (13:18 +0000)]
ti-tps6598x: Add a new plugin to update some TI USB-4 docks
Richard Hughes [Wed, 14 Dec 2022 09:51:22 +0000 (09:51 +0000)]
trivial: Fix a recently introduced -Wunused-variable
Richard Hughes [Tue, 13 Dec 2022 20:03:27 +0000 (20:03 +0000)]
trivial: Add convenience API for future use
Richard Hughes [Tue, 13 Dec 2022 11:44:02 +0000 (11:44 +0000)]
trivial: Fix warning when running fwupdtool --version
Richard Hughes [Mon, 12 Dec 2022 12:43:23 +0000 (12:43 +0000)]
Use prepared query when getting getting the bkc tags
There's no point parsing and optimizing this query 12 times at startup.
Richard Hughes [Sun, 11 Dec 2022 12:30:30 +0000 (12:30 +0000)]
trivial: Don't use xb_string_append_union() to join strings
Richard Hughes [Sun, 11 Dec 2022 10:59:46 +0000 (10:59 +0000)]
Use a prepared query when getting the remote ID
We do this a handful of times when calling GetDevices() and GetHistory() and
parsing the XPath expression each time is inefficient and kinda slow.
Richard Hughes [Sat, 10 Dec 2022 16:41:26 +0000 (16:41 +0000)]
Use the indexed query when getting releases for devices
This speeds up startup by ~9% on a machine with lots of devices attached.
Jakub Kolakowski [Tue, 13 Dec 2022 15:25:32 +0000 (16:25 +0100)]
Add needs-shutdown flag for Solidigm NVMe device
Richard Hughes [Mon, 12 Dec 2022 16:35:28 +0000 (16:35 +0000)]
Remove plugin and device GRWLocks
This only have any protective effect if we're using multiple threads -- which
we're not. Removing these unused locks does not affect startup speed, but does
drop the idle RSS by ~10kB.
Richard Hughes [Mon, 12 Dec 2022 15:45:48 +0000 (15:45 +0000)]
Fix a tiny memory leak when parsing signed reports
Richard Hughes [Mon, 12 Dec 2022 15:45:31 +0000 (15:45 +0000)]
Fix a tiny memory leak when probing MEI devices
Richard Hughes [Mon, 12 Dec 2022 14:55:58 +0000 (14:55 +0000)]
Only write devices.json once at startup, rather than for each device add
This means we do 15% less i/o at startup, which means we start a lot faster.
Richard Hughes [Thu, 8 Dec 2022 16:25:42 +0000 (16:25 +0000)]
Do not filter in fwupdtool for ->attach() if specifying --force
Richard Hughes [Mon, 12 Dec 2022 12:13:18 +0000 (12:13 +0000)]
Allow reinstalling on devices with only-version-upgrade set
All three devices with that flag support reinstalling the current version for testing.
Richard Hughes [Sat, 10 Dec 2022 15:28:29 +0000 (15:28 +0000)]
Convert FuProgress to a FINAL object
We're not going to subclass this, and making it final saves during startup:
* 300K calls of fu_progress_get_instance_private()
* 280K calls of fu_progress_get_step_weighting()
Richard Hughes [Fri, 9 Dec 2022 18:02:26 +0000 (18:02 +0000)]
Add fu_version_from_uint24() for future usage
Richard Hughes [Thu, 8 Dec 2022 16:24:38 +0000 (16:24 +0000)]
Return a more useful error if USB recovery() failed
Richard Hughes [Sat, 10 Dec 2022 14:43:03 +0000 (14:43 +0000)]
trivial: Add compiler hint that fu_device_build_instance_id() must end in NULL
Richard Hughes [Sat, 10 Dec 2022 14:42:30 +0000 (14:42 +0000)]
trivial: Fix up a plugin method name
Mario Limonciello [Fri, 9 Dec 2022 13:46:53 +0000 (07:46 -0600)]
trivial: fix autopkgtest failure
Explicitly load_hwinfo at start of mtd self test
```
.# Start of mtd tests
.# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
.# XbSilo-DEBUG: attempting to load /tmp/.E94WW1
.# XbSilo-DEBUG: failed to load silo: blob too small
Bail out! FuContext-FATAL-CRITICAL: cannot use HWIDs before calling ->load_hwinfo()
(/usr/libexec/installed-tests/fwupd/mtd-self-test:1758): FuContext-CRITICAL **: 23:27:43.095: cannot use HWIDs before calling ->load_hwinfo()
```
Mario Limonciello [Thu, 8 Dec 2022 17:36:16 +0000 (11:36 -0600)]
trivial: uefi-capsule: decrease warning about missing header to debug
Plenty of vendors rely upon this behavior, so we don't need to be
making noise in everyone's logs for them.
Mario Limonciello [Thu, 8 Dec 2022 15:15:20 +0000 (09:15 -0600)]
Don't suggest iommu=pt to people (Fixes: #5304)
Richard Hughes [Thu, 8 Dec 2022 09:37:14 +0000 (09:37 +0000)]
Add the fwupd version to the HSI result if the chassis is invalid
If the user uploads a report to the LVFS we don't currently get the fwupd
version data in this case. And it makes the LVFS unhappy.
Richard Hughes [Wed, 7 Dec 2022 18:52:46 +0000 (18:52 +0000)]
trivial: post release version bump
Richard Hughes [Wed, 7 Dec 2022 18:39:56 +0000 (18:39 +0000)]
Release fwupd 1.8.8
Richard Hughes [Wed, 7 Dec 2022 13:52:51 +0000 (13:52 +0000)]
intel-gsc: Use the new 'gpu' device icon
Richard Hughes [Thu, 1 Dec 2022 20:43:02 +0000 (20:43 +0000)]
Load report data from /etc/lsb-release
Richard Hughes [Tue, 6 Dec 2022 15:38:18 +0000 (15:38 +0000)]
Add the X-Gpu category for new hardware support
Richard Hughes [Tue, 6 Dec 2022 15:22:40 +0000 (15:22 +0000)]
Move to C11
Hey, it's only 11 years ago and I'd like to use _Generic.
Richard Hughes [Tue, 6 Dec 2022 15:13:47 +0000 (15:13 +0000)]
intel-gsc: Use measured progress steps on real hardware
Richard Hughes [Tue, 6 Dec 2022 15:13:19 +0000 (15:13 +0000)]
intel-gsc: Wait for the GPU to come back after updating
Richard Hughes [Tue, 6 Dec 2022 15:11:52 +0000 (15:11 +0000)]
intel-gsc: Mark GPU devices as internal
Richard Hughes [Tue, 6 Dec 2022 15:10:45 +0000 (15:10 +0000)]
Mark all MEI devices as internal
Richard Hughes [Tue, 6 Dec 2022 14:43:33 +0000 (14:43 +0000)]
trivial: Fix a gtk-doc introspection warning
Richard Hughes [Tue, 6 Dec 2022 14:41:08 +0000 (14:41 +0000)]
intel-gsc: Make the code match the comment to fix upgrading on real hardware
Richard Hughes [Tue, 6 Dec 2022 13:00:57 +0000 (13:00 +0000)]
trivial: Remove some obsolete fuzzing instructions
Richard Hughes [Mon, 5 Dec 2022 16:05:58 +0000 (16:05 +0000)]
Use the correct AppStream ID for the KM
Richard Hughes [Thu, 1 Dec 2022 14:29:04 +0000 (14:29 +0000)]
trivial: Fix fuzzers
Richard Hughes [Wed, 30 Nov 2022 10:07:10 +0000 (10:07 +0000)]
trivial: Fix some g_prefix_error() calls to include the trailing space
Gary Buhrmaster [Tue, 29 Nov 2022 18:19:45 +0000 (18:19 +0000)]
The README.md is not a config file.
This also removes the errant % in spec file and addrssses the
build error "sh: line 1: noreplace: command not found"
Jelle van der Waa [Tue, 29 Nov 2022 20:38:13 +0000 (21:38 +0100)]
build: don't record timestamp in builtin.quirk.gz
On Arch Linux fwupd is almost reproducible except for the timestamp
recorded in the generated gzip file.
Richard Hughes [Tue, 29 Nov 2022 17:31:36 +0000 (17:31 +0000)]
trivial: Use #defines when building report metadata
Richard Hughes [Tue, 29 Nov 2022 13:08:31 +0000 (13:08 +0000)]
Add FwupdReport to expose the signed reports from QA teams
Some front end clients are going to be allow-listing updates based on what
the release was tested on, or by who the testing team was.
Export this data from each report when requested.
Richard Hughes [Mon, 28 Nov 2022 16:31:11 +0000 (16:31 +0000)]
Add more metadata to the report attributes
This can be used in gnome-control-center when building the security report.
Fixes https://github.com/fwupd/fwupd/discussions/5262
Richard Hughes [Mon, 21 Nov 2022 10:55:29 +0000 (10:55 +0000)]
Only modify the historical metadata if a release is available
This was causing the SystemIntegrityOld metadata key to be overwritten and not
included in the upload. It is much better to be explicit rather than using the
default release, which may not be what the user actually upgraded to.
Richard Hughes [Mon, 21 Nov 2022 10:52:31 +0000 (10:52 +0000)]
Make fu_device_get_release_default() match the parent semantics
In various places the code was checking if a release was set, but this would
always be false as the release was being auto-created. This was masking valid
bugs, and was confusing to have the superclass have different semantics to the
baseclass.
Richard Hughes [Fri, 18 Nov 2022 17:25:37 +0000 (17:25 +0000)]
Abstract out the polkit auth implementation
Demi Marie Obenour [Fri, 11 Nov 2022 06:03:59 +0000 (01:03 -0500)]
Drop sys-usb support
sys-usb will use the Qubes OS updates proxy and an in-VM fwupd instance.
This allows shedding a large amount of code.
Demi Marie Obenour [Fri, 18 Nov 2022 01:34:24 +0000 (20:34 -0500)]
Prevent exception when comparing invalid versions
This broke the test suite.
Demi Marie Obenour [Wed, 16 Nov 2022 05:34:21 +0000 (00:34 -0500)]
Pass -q and -a to qvm-run
Useful to avoid junk in e.g. stderr.
Demi Marie Obenour [Sun, 6 Nov 2022 21:30:10 +0000 (16:30 -0500)]
trivial: contrib/qubes: fix AttributeError and ImportError
Also make various minor cleanups.
Demi Marie Obenour [Thu, 3 Nov 2022 02:18:30 +0000 (22:18 -0400)]
contrib/qubes: Do not dynamically create shell commands
The security reasons for this are obvious. When shell commands must be
generated dynamically, use shlex.join() to ensure that proper quoting is
done.
Demi Marie Obenour [Wed, 16 Nov 2022 05:33:42 +0000 (00:33 -0500)]
trivial: contrib/qubes: Use fwupdmgr --json instead of fwupdagent
The later is deprecated and the former is a drop-in replacement.
Demi Marie Obenour [Sat, 22 Oct 2022 01:59:38 +0000 (21:59 -0400)]
contrib/qubes: Do not perform manual .cab verification
fwupd already does this, and besides the file has been checked against
the metadata already.
Demi Marie Obenour [Fri, 21 Oct 2022 21:29:59 +0000 (17:29 -0400)]
trivial: contrib/qubes: Place cache in /var/cache
/root/.cache is for applications run by the root user in an interactive
session, not for system services.
Richard Hughes [Mon, 21 Nov 2022 19:03:38 +0000 (19:03 +0000)]
Incorporate the device when merging in properties for GetDetails
Richard Hughes [Mon, 21 Nov 2022 09:38:44 +0000 (09:38 +0000)]
Add fwupd_release_incorporate() for future usage
Richard Hughes [Mon, 28 Nov 2022 15:36:10 +0000 (15:36 +0000)]
intel-usb4: Ensure the device name is set with FuUsbDevice->setup
dx [Mon, 28 Nov 2022 13:37:42 +0000 (14:37 +0100)]
elantp: Include 04F3:0400 (bootloader) as a valid i2c-hid touchpad (#5283)
* elantp: Include 04F3:0400 (bootloader) as a valid i2c-hid touchpad
ELAN Touchpads with product ids between 0x3000 and 0x4000 can sometimes
end up in bootloader mode (due to not having a valid firmware, for
example)
The bootloader has a product id outside of the range checked by
fu_elantp_hid_device_probe, resulting in the device disappearing from
get-devices when it's in that mode, which makes it seem dead.
This expands the range of that check to include 0x400 so that it is
possible to upload a valid firmware to it.
Richard Hughes [Tue, 15 Nov 2022 12:50:00 +0000 (12:50 +0000)]
Generate OVAL rules
Daniel Schaefer [Fri, 18 Nov 2022 14:13:40 +0000 (22:13 +0800)]
goodix-moc: Add quirk for 609C used on Framework
Framework Laptops use this device.
Output from `fwupdtool get-devices`:
```
├─Fingerprint Sensor:
│ Device ID:
4295296d98b3ba38c72f6baa33d24f03a1d428f6
│ Summary: Match-On-Chip fingerprint sensor
│ Current version:
01000252
│ Vendor: Goodix (USB:0x27C6)
│ Install Duration: 10 seconds
│ Serial Number: UID2E43190D_XXXX_MOC_B0
│ GUIDs:
1e8c8470 -a49c-571a-82fd-
19c9fa32b8c3 ← USB\VID_27C6&PID_609C
│
34def4c7 -9461-5a32-a945-
5dde0ca57d88 ← USB\VID_27C6&PID_609C&REV_0100
│ Device Flags: • Updatable
│ • Device can recover flash failures
│ • Signed Payload
```
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Richard Hughes [Sat, 19 Nov 2022 11:06:23 +0000 (11:06 +0000)]
trivial: Fix memory leak when incorporating FuMeiDevice
Richard Hughes [Sat, 19 Nov 2022 11:05:18 +0000 (11:05 +0000)]
trivial: Fix a tiny leak when translating the security attr
Mario Limonciello [Wed, 16 Nov 2022 22:24:13 +0000 (16:24 -0600)]
Add BIOS rollback protection support for Dell systems
Mario Limonciello [Wed, 16 Nov 2022 22:24:02 +0000 (16:24 -0600)]
Add BIOS rollback protection support for Lenovo systems
Mario Limonciello [Wed, 16 Nov 2022 22:23:26 +0000 (16:23 -0600)]
Add security attribute for OEM specific implementations of BIOS rollback protection
Mario Limonciello [Wed, 16 Nov 2022 17:07:46 +0000 (11:07 -0600)]
Move AMD platform rollback protection into level 4
This was expected to be used more prevalently than it is being used
in practice.
Link: https://github.com/fwupd/fwupd/issues/5261
Vincent Huang [Fri, 18 Nov 2022 07:38:21 +0000 (15:38 +0800)]
synaptics-rmi: show correct bootloader version on V5 and V6 device
Vincent Huang [Fri, 18 Nov 2022 03:40:05 +0000 (11:40 +0800)]
synaptics-rmi: Fix the issue when updating non-secure devices
Sanjay Sheth [Thu, 3 Nov 2022 21:58:46 +0000 (14:58 -0700)]
New plugin for Logitech Whiteboard camera
Jan Tojnar [Wed, 16 Nov 2022 15:23:06 +0000 (16:23 +0100)]
build: Do not check markdown version for gi-docgen 2022
There is no guarantee that Python environment used for the build contains
the same `markdown` version as the one used for running `gi-docgen`.
For example, Nixpkgs uses a self-contained Python environment for the latter,
so `markdown` package is not even available in fwupd build environment.
Fortunately, gi-docgen 2022.2 already checks for `markdown` version
so we can omit our own check for newer gi-docgen versions.
Kevin Chen [Wed, 26 Oct 2022 05:55:02 +0000 (13:55 +0800)]
qsi-dock: Create a new plugin to update docks from QSI
Richard Hughes [Wed, 9 Nov 2022 15:28:06 +0000 (15:28 +0000)]
trivial: Fix the tests on s390x
Richard Hughes [Thu, 10 Nov 2022 10:15:06 +0000 (10:15 +0000)]
dfu-csr: Fix a critical warning when deploying firmware
The last chunk of data has zero size, and so never copy from a NULL source.
Fixes https://github.com/fwupd/fwupd/issues/5251
Richard Hughes [Wed, 9 Nov 2022 15:51:27 +0000 (15:51 +0000)]
trivial: Fix lvfs-testing remote file
Richard Hughes [Wed, 9 Nov 2022 14:19:58 +0000 (14:19 +0000)]
trivial: post release version bump
Richard Hughes [Wed, 9 Nov 2022 14:12:27 +0000 (14:12 +0000)]
Release fwupd 1.8.7
Richard Hughes [Wed, 9 Nov 2022 14:02:39 +0000 (14:02 +0000)]
trivial: Fix capsule image generation for broken locales
Vitaly Lubart [Tue, 8 Nov 2022 13:48:06 +0000 (15:48 +0200)]
igsc: Fix README.md
Intel Arc products do not require the host CSME to update Arc firmware.
Firmware updates will work on both AMD and Intel platforms.
Arc products have their own Graphics Security Control for firmware updates and
leverage existing Intel technology like the MEI interface protocol to implement
the firmware update flow.
Signed-off-by: Vitaly Lubart <vitaly.lubart@intel.com>
jinglewu [Tue, 8 Nov 2022 11:32:56 +0000 (19:32 +0800)]
elantp: Add support for more haptic hardware
Support ic_type 0x12 & 0x13, iap_ver 0x3 & 0x5 iap flow.
Richard Hughes [Thu, 3 Nov 2022 18:05:46 +0000 (18:05 +0000)]
elantp: Use fu_device_retry_full() to avoid a Coverity warning
chenhong [Mon, 7 Nov 2022 07:03:40 +0000 (15:03 +0800)]
Add Goodix GF3258WNC support
Richard Hughes [Fri, 4 Nov 2022 10:17:11 +0000 (10:17 +0000)]
Add more EFI keys to the integrity check list
Richard Hughes [Fri, 4 Nov 2022 12:47:19 +0000 (12:47 +0000)]
Flip around the FuDeviceInstanceFlags logic
Opt-ing 'in' to each both behaviours requires less mental gymnastics compared
to having one flag inverted.
Richard Hughes [Fri, 4 Nov 2022 12:09:58 +0000 (12:09 +0000)]
Do not add duplicate quirk instance IDs
It's pointless, and just wastes RSS.
Kai Michaelis [Fri, 4 Nov 2022 12:55:48 +0000 (13:55 +0100)]
Explain the smc bmc license issue
Add documentation and a helper license script.
Richard Hughes [Thu, 3 Nov 2022 17:27:41 +0000 (17:27 +0000)]
Never hang in g_udev_device_get_parent() if there is never a busnum
Spotted by Coverity.
Richard Hughes [Thu, 3 Nov 2022 16:59:08 +0000 (16:59 +0000)]
trivial: Fix invalid self test loop
Spotted by Coverity.
Aaron Armstrong Skomra [Fri, 4 Nov 2022 02:01:58 +0000 (19:01 -0700)]
wacom-usb: remove the use-runtime-version flag from IPS
The use-runtime-version flag was initially used with the Intuos
Pro Small (2nd-gen USB v2) to force the use of the legacy code
path. The legacy code path was required because of a bug in the
identification of the Bluetooth (I6) firmware.
It has been decided that the bug will be fixed before any fimware
changes are released, removing the need to use the legacy code path.
Richard Hughes [Thu, 3 Nov 2022 17:41:05 +0000 (17:41 +0000)]
analogix: Fix potential division by zero when writing
Richard Hughes [Thu, 3 Nov 2022 17:19:07 +0000 (17:19 +0000)]
fpc: Remove some dead code
Spotted by Coverity.
Richard Hughes [Wed, 19 Oct 2022 12:57:32 +0000 (13:57 +0100)]
Check system integrity when installing UEFI updates
Recently we had an update that changed the system-defined Platform Key, and
we've certainly had updates in the past that changed the Boot#### variables.
Store some core ACPI and UEFI system integrity state from before and after the
update which can be used to mark (waivable) test failures on the LVFS.