Commit Graph

4897 Commits

Author SHA1 Message Date
Sean Rhodes
2f2da8c7ca Added Lite Mk III 2020-12-04 11:02:31 +00:00
Richard Hughes
95a5fb2e2f Allow setting the GMainContext when used for sync methods
Use the 'default' main context by default so that we still get the signals
delivered via g_object_notify() but allow the library user to specify an
alternate GMainContext as required.

Using g_main_context_push_thread_default() works for PackageKit as signals are
returned using g_signal_emit() which is synchronous, and so doesn't use the
main context at all.

Use the same style of API which we did for libgusb all those years ago instead.
2020-12-04 07:58:05 +00:00
Bruno Pagani
014e5526ff contrib/ci: Fix Arch cache issues
Update cache (which also requires to update the system) to avoid cache issues like the one seen in https://github.com/fwupd/fwupd/pull/2633
2020-12-03 07:57:16 -06:00
Richard Hughes
ab63e94107 Fall back to the misc device for serio devices 2020-12-03 10:58:38 +00:00
Mario Limonciello
5198bdcde2 trivial: make platform integrity plugin optional and disabled by default
Fixes: #2634
When it's upstream, we may consider to change this for some distros.
2020-12-03 09:07:49 +00:00
Richard Hughes
9d78383622 Actually implement rescan in FuUdevDevice
This allows the plugin to force a reload of the device using a new GUdevDevice
object. This is required as the values are cached in the immutable object.
2020-12-03 09:07:24 +00:00
Mario Limonciello
ab9e6560ce trivial: snap: correct install path for kernel modules harder
The prefix used in the isn't actually used for kernel module
installation.

Fixes: #2619
2020-12-02 07:36:06 -06:00
Richard Hughes
6fca469737 trivial: Fix regression when using a custom GType
Although the fix in a21e025e46 is correct, we
also need to return TRUE higher up in the conditional.
2020-12-01 18:22:51 +00:00
Marcus Comstedt
6035b520b7 bcm57xx: Refactor CRC code to remove extra byteswap 2020-12-01 14:50:00 +00:00
Marcus Comstedt
4a74a87d1e bcm57xx: Fix CRC check 2020-12-01 14:50:00 +00:00
Mario Limonciello
9e96d417a7 trivial: fu-engine: If a device is using delayed activation don't flag failure
Should hopefully fix this failure:
```
Plugin thunderbolt
UpdateError device version not updated on success, 43.00 != 40.00
VersionNew 43.00
VersionOld 40.00
```
2020-12-01 08:20:50 -06:00
Richard Hughes
b7ca257c6d synaptics-rmi: Don't crash if calling ->to_string() before ->setup() 2020-12-01 14:15:33 +00:00
Richard Hughes
d51f2ec939 trivial: Use DEVPATH for platform UDev devices 2020-12-01 14:15:33 +00:00
Richard Hughes
a21e025e46 trivial: Return with an error if the device GType is unclear
Returning TRUE means this is really hard to debug...
2020-12-01 14:15:33 +00:00
Richard Hughes
f8fc7de209 Fix a possible critical warning due to missing retval 2020-12-01 14:15:33 +00:00
Richard Hughes
3dbfc21171 trivial: Include the possible plugins in the FuDevice->to_string output 2020-12-01 14:15:33 +00:00
Richard Hughes
9d3605adad trivial: Allow dumping devices before matching possible plugins 2020-12-01 14:15:33 +00:00
Richard Hughes
70aca476d7 Add the serio->firmare_id for UDev devices
If set, it is a device-specified InstanceID specifying the firmware stream.
2020-12-01 14:15:33 +00:00
Richard Hughes
7a63a4c41c Export the driver name from FuUdevDevice
We have to supply it when using fu_device_bind_driver(), so we need to get the
old value for ->attach() to avoid guessing what driver was previously loaded.
2020-12-01 14:15:33 +00:00
Richard Hughes
419c04c504 trivial: Show the subsystem when calling FuUdevDevice->to_string() 2020-12-01 14:15:33 +00:00
Richard Hughes
8a9f1674a3 trivial: Show when there are no subsystem devices
If we asked for a subsystem, it's nice to know there are not actually any of the
supported devices.
2020-12-01 14:15:33 +00:00
Richard Hughes
8bcc5f3e80 Allow the client to send PKCS7 and GPG signatures
This restores compatibility when running with a new daemon and old remote files
and properly fixes all combinations of the regression casued by the commit
2f49da7f4e which appeared in the 1.5.2 release.
2020-11-30 15:16:39 +00:00
Richard Hughes
2bbb7d2b40 trivial: Merge some GtkDoc introspection fixes 2020-11-30 09:18:45 +00:00
Richard Hughes
6afc6542c1 trivial: Add a context to one translatable string 2020-11-30 09:03:04 +00:00
Richard Hughes
8735770f5c trivial: Update .gitignore 2020-11-30 09:00:14 +00:00
Richard Hughes
caa1be6a62 trivial: Add device test for Lenovo USB-C Dock Gen2 2020-11-30 08:59:46 +00:00
Richard Hughes
b0cb62fa49 trivial: Add device test for HP USB-C Dock G5 2020-11-30 08:58:18 +00:00
Richard Hughes
289a1eec83 trivial: Add a few things we're going to change when we break ABI 2020-11-29 10:18:06 +00:00
Richard Hughes
d1f901a012 trivial: Ensure old ODM remotes are fixed on upgrade 2020-11-29 07:24:33 +00:00
Richard Hughes
9ba348cd7a Force the remote kind to JCat server-side
We can't do this in the library as Ubuntu want to ship a new libfwupd with an
old daemon. The new daemon only understands jcat and does not know how to
determine the age of an .asc file.
2020-11-29 07:24:33 +00:00
Richard Hughes
ced512c71f Only parse the signature if the remote is JCat
This fixes a regression from 2f49da7f4e where we
tried to parse the GPG .asc file as a JcatFile even although the remote had
Keyring=gpg (which is the default for ODM accounts on the LVFS) which returned
the cryptic 'Invalid compressed data' message.

The workaround for 1.5.2 is to change the local remote.conf from 'Keyring=gpg'
to 'Keyring=jcat' and to save the file.
2020-11-29 07:24:33 +00:00
Marcus Comstedt
2bb19eae60 fu-main: Fix sender_features insert with wrong size 2020-11-29 07:15:15 +00:00
MisterGuinness
229bd1a0b5 Add quirk for Western Digital 2020-11-29 07:10:28 +00:00
Richard Hughes
c1e5f94e5c Mark more user-visible strings as translatable
Fixes https://github.com/fwupd/fwupd/issues/2616
2020-11-29 07:09:31 +00:00
Aleksander Morgado
512685fcb8 modem-manager: validate firmware update method combinations
The plugin currently supports Fastboot and QMI/PDC methods, but given
that QMI/PDC is exclusively used for carrier config installations,
there is no need for QMI/PDC-only updates, so make sure that
combination is right away forbidden.

This validation will also be useful when adding additional update
methods, as we'll be able to clearly specify which are the
combinations expcted.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
c0fb40b7e8 modem-manager: remove unused byte counts in QMI/PDC update logic 2020-11-29 07:08:05 +00:00
Aleksander Morgado
fab3ee97c7 modem-manager: make sure the correct interface number is used for QMI
The upgrade process requires that the USB interface layout is not
changed between upgrades, something that we require for AT and we also
require now for QMI. We store the USB interface number of the QMI port
as soon as the device is probed, and we use it to match the interface
number once the Udev based device is created.

squash! modem-manager: make sure the correct interface number is used for QMI
2020-11-29 07:08:05 +00:00
Aleksander Morgado
da2d6f9c5a modem-manager: udev monitoring only if device switches layout
The built-in udev monitoring in the ModemManager plugin is only
required for those upgrade methods where the device switches into a
fully different port/interface layout. So far, we only expect this to
happen when the Fastboot update method is requested by the module.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
b0418d7786 modem-manager: plug udev client leak
The GUdevClient is created when the ModemManager sysfs path is
inhibited; we need to make sure we destroy the object once
uninhibited, or we'll otherwise create a new one if we're running
an additional upgrade operation afterwards.
2020-11-29 07:08:05 +00:00
Richard Hughes
4cbe99c607 Restrict loading component types of firmware
This would allow us to add other component types in the future, for instance a
'generic' type that adds information to the composite device.

Any generic components would need to have a requirement of 1.5.2 to avoid
showing a runtime warning when trying to get the local file details.
2020-11-29 07:06:29 +00:00
Mario Limonciello
6f43c50e93 trivial: snap: correct install hook
Fixes: #2619
2020-11-28 17:23:34 -06:00
Richard Hughes
cf575bd783 trivial: Fix several nonprefixed bare errors 2020-11-25 14:13:25 +00:00
Richard Hughes
6b57229def trivial: Add Recommends udisks2 to the example spec file 2020-11-23 16:03:48 +00:00
Richard Hughes
e8fda7bc5a trivial: post release version bump 2020-11-23 15:51:51 +00:00
Richard Hughes
c21cff1c04 Release fwupd 1.5.2 2020-11-23 15:49:53 +00:00
Renaud Métrich
31a0bc7daf ata: Add OUI quirk for Toshiba 2020-11-21 08:47:23 -06:00
Mario Limonciello
2f49da7f4e libfwupd: Restore recognizing gpg and pkcs7 types still
The snap-store intends to ship an updated libfwupd library but
to use it with whatever version daemon is on the host system.

This means that the library needs to still work with older metadata
signing types.

This fixes the following error in that scenario:
```Failed to update metadata for lvfs: Keyring kind jcat not supported```
2020-11-21 07:37:36 -06:00
Richard Hughes
23f9cca6b4 trivial: Fix regression on uploading reports without a signature 2020-11-20 10:44:54 +00:00
Richard Hughes
8b035b01fe trivial: Add device tests for the Dell KH08P 2020-11-20 09:59:15 +00:00
Richard Hughes
d99f74f0b7 Revert "bcm57xx: Use PCI function 1 as 0 does not work with the Dell KH08P"
This reverts commit b5eddee5f6.

Using pci function 0 works on my Lenovo P50 but not my Lenovo X1. Don't break
machines where we are shipping the chip rather than ones where we probably are
not, especially when it's probably a kernel bug somewhere.

Fixes https://github.com/fwupd/fwupd/issues/2608
2020-11-20 09:54:34 +00:00