Mario Limonciello
1d01d3bb38
Fix device flag filtering
...
When multiple flags were passed, they made combinations that would never
exist in the daemon causing advanced filtering to not work.
2019-10-14 12:41:09 -05:00
Mario Limonciello
2a0e20bfaa
trivial: fu-engine: Don't compare device and content checksums
...
Use `FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE` to register that a content
checksum should be used.
2019-10-14 12:41:09 -05:00
Mario Limonciello
91d36095e1
fu-engine: Read all releases and convert versions when comparing
...
Fixes matching ESRT version to metadata version for UEFI
2019-10-14 12:41:09 -05:00
Mario Limonciello
8fa0b382fa
Add new flags can-verify
and can-verify-image
...
These are used to indicate that the device can verify checksums or
can dump an image for checksumming.
2019-10-14 12:41:09 -05:00
Mario Limonciello
49556a3948
trivial: make verify and verify-update safer
...
Don't show output for all devices - it doesn't work for most of them.
I also found that running verify on my Synaptics touchpad device puts it
into a pretty bad state until reboot. That's of course a problem on
it's own, but at least prompting for it will prevent it from easily
happening.
2019-10-14 12:41:09 -05:00
Mario Limonciello
36e9292973
trivial: test: add checksums for "stock" 1.2.2
...
This has been failing the test suite silently:
```
b585990a-003e-5270-89d5-3705a17f9a43 FAILED: failed to verify using test: no checksum for 1.2.2
```
2019-10-14 12:41:09 -05:00
Mario Limonciello
248e3f8d6e
trivial: fu-udev-device: use parent udev device to indicate internal
...
If the parent device is hooked up via I2C that's a pretty good
indication that the touchpad is internal to the device.
2019-10-14 11:36:42 -05:00
Mario Limonciello
ac97eca09e
trivial: fix TPM2 simulator tests for arch
...
The simulator has PCR values that are not yet initialized. So use the
Intel TPM tools to extend the PCR0 value before running test suite
2019-10-14 10:59:08 -05:00
Mario Limonciello
069449e427
trivial: uefi: don't add PCRs with all 0's
...
I was seeing on a CML laptop with a Nuvoton TPM the following which
is definitely wrong:
```
Checksum: SHA1(791183aa2c4993dfaf75e95c91bdad067ac2cce1)
Checksum: SHA256(8a0656fe0024cc3300cc4dc8af4fc336112a51013aeb74b21c138ed116bb8691)
Checksum: SHA1(000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
```
2019-10-14 08:58:14 -05:00
Richard Hughes
cbf53fe52d
trivial: Fix a recent regression causing a double-free
...
This was introduced accidentally in a9be536ef0
.
Fixes https://github.com/fwupd/fwupd/issues/1461
2019-10-14 12:31:03 +01:00
Richard Hughes
8feba21210
synaptics-cxaudio: Support the ThinkPad USB-C Dock Gen2
2019-10-14 11:28:04 +01:00
Mario Limonciello
e202a39851
trivial: fu-util: add some extra checks around automatic reports
...
Avoid some extra roundtrips to the daemon if user has poked at some
files.
2019-10-13 07:34:09 +01:00
Mario Limonciello
8692d01cf9
trivial: fu-tool: typo
2019-10-13 07:30:43 +01:00
Mario Limonciello
3a10c3cf3d
fu-systemd: Use correct method for stopping units.
...
Fixes a regression in 3d00522dd3
that caused systemd stopping to
not work.
Previously the flow was to use `GetUnit` and `StopUnit` on the manager
interface. In that code this was switched over it should have been
using the unit interface + `Stop` or manager interface + `StopUnit`
not try to use the manager interface on the unit proxy with `StopUnit`.
2019-10-13 07:30:43 +01:00
Mario Limonciello
fece7553af
trivial: fu-udev-device: Use ID_PCI_CLASS_FROM_DATABASE if name not set
...
This helps at least with display controllers
2019-10-12 14:29:21 -05:00
Mario Limonciello
a9be536ef0
trivial: fu-plugin: quiet down debug output for optionrom plugin
...
All of these messages continually output are just noise for unsupported
devices:
```
18:11:52:0851 FuPlugin using generic udev_device_added() on optionrom
18:11:52:0851 FuEngine optionrom ignoring: no FWUPD_GUID property
```
2019-10-12 14:29:21 -05:00
Mario Limonciello
f37af548da
8bitdo: use will-disappear flag for sf30/sn30 controllers ( Fixes : #783 )
...
These controllers reboot back into Nintendo Switch mode typically
and fwupd will not be able to probe them.
2019-10-12 14:07:34 -05:00
Mario Limonciello
b73d255b13
trivial: ebitdo: don't dump out firmware header unless plugin verbose
2019-10-12 14:07:34 -05:00
Mario Limonciello
cee97bc674
trivial: ebitdo: don't use local errors when writing firmware
...
Just prefix them instead.
2019-10-12 14:07:34 -05:00
Mario Limonciello
e1b4d8ebcd
Add a new device flag for indicating device won't come back
...
Devices like this can't be verified that the version was updated
until they're manually put into the correct mode by the user.
2019-10-12 14:07:34 -05:00
Richard Hughes
efa2803eb4
wacom-emr: Fix a regression for EMR devices
...
Actually trying to instantiate the object leads to:
Specified class size for type 'FuWacomEmrDevice' is smaller than the
parent type's 'FuWacomDevice' class size.
Fixes https://github.com/fwupd/fwupd/issues/1456
2019-10-12 19:25:44 +01:00
Richard Hughes
c0695320c8
Add a generic DFU firmware object for plugins to use
2019-10-11 13:19:46 +01:00
Richard Hughes
13f1c2a4da
dfu: Use FwupdInstallFlags rather than a DFU-specific version
2019-10-11 13:19:46 +01:00
Richard Hughes
0ae53d3782
dfu: Remove functionality for modifying DfuSe files
...
Better tools already exist.
2019-10-10 16:53:44 +01:00
Richard Hughes
58bed5200e
dfu: Remove functionality you can do now with fwupdtool
2019-10-10 16:53:44 +01:00
Richard Hughes
5a5a824a8d
dfu: Remove the merge command as it's unused and broken
2019-10-10 16:53:44 +01:00
Richard Hughes
f591a3594b
trivial: Add fu_firmware_parse_file() helper for future use
2019-10-10 16:18:58 +01:00
Richard Hughes
341ab10808
trivial: Remove the fuzzing details for DfuPatch
2019-10-10 16:18:26 +01:00
Richard Hughes
224e991ab8
trivial: Add klass->to_string for superclassed FuFirmwareImage objects
...
This matches the behaviour of FuFirmware.
2019-10-10 16:16:42 +01:00
Richard Hughes
940df2eade
dfu: Remove DfuPatch as no vendor actually uses this
...
This was a new file format to help out an OEM, but they didn't actually use it.
If we do need it in the future, it would some back as a src/ helper, not in
plugins/dfu.
2019-10-10 16:07:38 +01:00
Richard Hughes
85c34215c7
dfu: Don't wrap provided VID-PID functions
2019-10-10 13:53:27 +01:00
Richard Hughes
23c89edeaa
dfu: Use the standard FuDevice custom flags functionality
2019-10-10 13:53:27 +01:00
Richard Hughes
8583184489
dfu: Use klass_device->write_firmware() directly
2019-10-10 13:53:27 +01:00
Richard Hughes
13ffa3e13f
dfu: Use the generic fu_plugin_usb_device_added() function
2019-10-10 13:53:27 +01:00
Richard Hughes
b6fbf80f95
dfu: Use daemon flags to ignore devices rather than a special flag
2019-10-10 13:53:27 +01:00
Richard Hughes
79e033907b
dfu: Set the device state directly to avoid proxying signals
2019-10-10 13:53:27 +01:00
Richard Hughes
f9fb2a6366
dfu: Use the built-in detach() and attach() vfuncs
2019-10-10 13:53:27 +01:00
Richard Hughes
f0eb091173
Read firmware back from the device as a FuFirmware
...
Returning a GBytes is not good enough when the device may be returning multiple
partitions which have to be stored as FuFirmwareImage objects.
2019-10-10 11:57:48 +01:00
Richard Hughes
48dbaadd03
dfu: Remove a pointless function
2019-10-09 20:56:38 +01:00
Richard Hughes
7301d06f23
dfu: Remove support for the Metadata Store Proposal
...
This was never adopted, and firmware now indicates the license in the metainfo
file rather than the DFU file itself.
2019-10-09 20:56:38 +01:00
Richard Hughes
5d064d92e0
dfu: Remove XTEA support
...
We don't support any hardware that actually uses this proposed standard, and
nowadays there is much better public-key encryption people can easily use.
2019-10-09 20:56:38 +01:00
Richard Hughes
52ccaa305e
dfu: Remove the SREC and IHEX parsing out of the DFU plugin
...
libdfu used to be a grab-bag of useful firmware functions, but now with the
addition of FuFirmware we have proper shared objects for plugins to use.
2019-10-09 20:56:38 +01:00
Richard Hughes
2378ff314f
ebitdo: Use klass_device->write_firmware like other plugins
2019-10-09 20:02:16 +01:00
Richard Hughes
8653e70480
trivial: Remove G_BEGIN_DECLS from all private headers
2019-10-09 20:02:16 +01:00
Richard Hughes
731875af86
Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it
2019-10-09 20:02:16 +01:00
Richard Hughes
d8a8d5e776
Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN
...
This speeds up startup as we're only calling fu_plugin_udev_device_added() on
plugins that can actually handle the device.
2019-10-09 20:02:16 +01:00
Mario Limonciello
83f8108def
thunderbolt: recognize new 'generation' sysfs attribute
...
Use this attribute to determine whether or not to try to read 'native'
from the Thunderbolt NVM image at probe time.
This attribute is new to kernel 5.5.
2019-10-09 10:25:37 -04:00
Richard Hughes
c15c7835be
Rename and modernize the udev plugin
...
The new plugin is called `optionrom` as this is the only type of image that it
parses for verification only. FuUdevDevice is also the generic parent already.
2019-10-09 14:59:54 +01:00
Richard Hughes
8523ebebf2
synaptics-rmi: Also add the product ID as a GUID without the minor version
...
Firmware may be suitable for all products that match the 'major ID' and so we
should provide an extra GUID to use in this case.
2019-10-09 14:18:10 +01:00
Richard Hughes
83fe59629d
synaptics-rmi: Correctly set the payload length rather than hardcoding it
2019-10-08 12:32:09 +01:00