Richard Hughes
b1fd77780f
trivial: Fix a tiny memory leak introduced with the UPower fix
2020-01-16 15:29:08 +00:00
Richard Hughes
6b8c261225
Disable the battery percentage checks if UPower is unavailable
...
Based on a patch by Crag Wang <Crag.Wang@dell.com>, many thanks.
2020-01-15 15:54:00 +00:00
Richard Hughes
21eaeeff8d
trivial: Fix up some typos found using codespell
2020-01-14 12:25:41 +00:00
Mario Limonciello
0dd8db545e
trivial: tpm-eventlog: correct a typographical error
2020-01-09 10:42:08 -06:00
Mario Limonciello
bd266bd0cf
trivial: add some missing protocol definitions
2020-01-08 15:49:38 -06:00
Mario Limonciello
7442b7ba77
synaptics-mst: Skip self tests for systems with amdgpu
...
No need to fail these self tests when using amdgpu, just skip them.
Fixes unrelated issue found in #1183
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-01-08 08:44:01 +00:00
Richard Hughes
af14073522
Allow applying all releases to get to a target version
...
Some hardware does not handle upgrading from version 1.2.2 to 1.2.4 and instead
needs to be upgraded from 1.2.2->1.2.3->1.2.4 so that on-device metadata can be
migrated correctly.
Add a new per-device flag `install-all-releases` which causes the daemon to not
skip directly to the newest release. This is designed to be set from a quirk
file.
This can obviously only be used for devices that can apply firmware "live" and
thus do not need a reboot or system shutdown to actually apply the firmware.
This also needs the cabinet archive to ship multiple versions of the firmware,
and for the metainfo.xml file to refer to multiple release objects.
2020-01-07 15:33:12 +00:00
Mario Limonciello
2d172534a8
logitech_hidpp: use the correct timeout for IO channel writes
2020-01-07 08:12:23 -06:00
Richard Hughes
63b9ac8844
Don't always get the vendor ID for udev devices using the parent
...
Fixes bugs like https://github.com/fwupd/fwupd/issues/1673
2020-01-06 14:48:58 +00:00
Richard Hughes
7f765005e2
Add a runtime warning when adding a device without an vendor-id or protocol set
...
Also, allow setting the protocol in the quirk file if required.
2020-01-06 14:48:32 +00:00
Richard Hughes
5bf8c1a23b
vli: Set more of the firmware max sizes automatically
...
With data from VIA, many thanks.
2020-01-02 13:24:13 +00:00
Richard Hughes
727938427b
vli: Add a SpiAutoDetect quirk for some of the PD devices
...
It seems command 0xc0 is not supported on this hardware.
2020-01-02 13:24:13 +00:00
Richard Hughes
fbffb16378
vli: Use a different protocol ID for i2c devices
...
These devices report a triplet version format, not a quad.
2020-01-02 13:24:13 +00:00
Richard Hughes
a24752d661
vli: Add support for standalone Single PD devices
2020-01-02 13:24:13 +00:00
Richard Hughes
52a7d0bd34
vli: Move generic SPI functionality into the FuVliDevice base class
...
To implement the SPI commands, objects can derive from FuVliDevice and
implement the new vfuncs. This allows us to override the implementation for
minor API changes.
2020-01-02 13:24:13 +00:00
Richard Hughes
c12163b374
vli: Remove the PD emulation code
...
I have actual hardware now...
2020-01-02 13:24:13 +00:00
Richard Hughes
714c4ce9d3
vli: Use a more standard GUID for the child i²c and shared SPI devices
...
We sometiems need to restrict the firwmare to the parent VID:PID too.
2020-01-02 13:24:13 +00:00
Richard Hughes
e2a9b15f16
vli: Allow setting the device kind from a quirk
2020-01-02 13:24:13 +00:00
Richard Hughes
050f998835
vli: Make more function names match the docs
2020-01-02 13:24:13 +00:00
Richard Hughes
3243374d41
vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice
2020-01-02 13:24:13 +00:00
Richard Hughes
8b5a560b1c
vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware
...
This is used by non-usbhub devices too, albeit at offset 0x0.
2020-01-02 13:24:13 +00:00
Richard Hughes
617bd7025f
vli: Allow the device to specify the PD firmware header offset
...
We only want a non-0x0 offset for firmware with a prepended USB hub header.
2020-01-02 13:24:13 +00:00
Richard Hughes
b02d9988ad
vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice
...
At the moment this doe not do anything clever, but other device types will
derive from the base class in the future.
2020-01-02 13:24:13 +00:00
Richard Hughes
62b84d4c5b
vli: Define the device GType in the quirk file
...
This allows us to define different types of devices in the future.
2020-01-02 13:24:13 +00:00
Richard Hughes
15857f8056
vli: Move the CRC calculations out of usbhub scope
2020-01-02 13:24:13 +00:00
Richard Hughes
e968c0ec07
vli: Have one 'DeviceKind' for all objects
...
We'll soon have PD devices that are not children of the FuVliUsbhubDevice and
so it makes sense to flattern out the namespace. Also, less code.
2020-01-02 13:24:13 +00:00
Richard Hughes
f169186700
vli: Rename the vli_usbhub
plugin to vli
...
In the future we'll be doing PD updates without any USB hub at all.
2020-01-02 13:24:13 +00:00
Michael Forney
9bdb96f768
plugins/coreboot: Add missing fu_hash dependency
...
This fixes the build when using samurai in place of ninja.
2019-12-18 08:33:10 +00:00
Mario Limonciello
171758180d
trivial: synaptics-cxaudio: Add Google type C <-> 3.5mm adapter
2019-12-15 20:17:42 -06:00
Mario Limonciello
a21802acad
trivial: dell-dock: drop unused quirk keyx
2019-12-12 13:59:41 -06:00
Mario Limonciello
fd6ffd6dac
trivial: rename synapticsmst to synaptics-mst
...
This brings the naming nomenclature inline with the other plugins
2019-12-12 13:59:41 -06:00
Mario Limonciello
a906cef924
trivial: actually set vendor ID for synaptics
...
The `README.md` was updated, but this device wasn't actually setting
a vendor ID.
2019-12-12 13:59:41 -06:00
Mario Limonciello
fc326d9ad4
trivial: synaptics-rmi: hardcode Vendor string
...
Right now vendor string is detected by walking up the udev chain
until a vendor is found. On some systems this is finding incorrect
data such as `Intel Corporation` for the vendor on the touchpad.
As the plugin only supports Synaptics devices, Correct it by hardcoding
vendor to `Synaptics`.
Sample output:
```
└─Touchpad:
Device ID: b26933c085b020ecf84c490812458523aee710ac
Current version: 1.5.2767034
Bootloader Version: 54.0
Vendor: Synaptics (HIDRAW:0x06CB)
GUIDs: f4384034-9243-5334-8075-a534be913e46 ← HIDRAW\VEN_06CB&DEV_76AF&REV_00
424bd00e-9789-5cdf-a12a-3c81bc4676d6 ← HIDRAW\VEN_06CB&DEV_76AF
140f4458-951b-5bb9-85e2-879bd5b02615 ← SYNAPTICS_RMI\TM3038-003
b29d3c85-cd0e-503e-9c7e-f6731c1eaf2d ← SYNAPTICS_RMI\TM3038
Device Flags: • Internal device
• Updatable
```
2019-12-12 09:57:47 -06:00
Mario Limonciello
e2db568490
trivial: Set vendor ID for Dell WD19 to USB:0x413C ( Fixes : #1653 )
...
View after this update:
```
├─WD19TB:
│ │ Device ID: a455a3a21752e5d31c228f1f5b51761dad88a432
│ │ Summary: High performance dock
│ │ Current version: 01.00.00.02
│ │ Minimum Version: 01.00.00.00
│ │ Vendor: Dell Inc. (USB:0x413C)
│ │ Install Duration: 1 minute
│ │ Serial Number: J4T6SV2/3169046018716226
│ │ GUID: cd357cf1-40b2-5d87-b8df-bb2dd82774aa ← USB\VID_413C&PID_B06E&hub&embedded
│ │ Device Flags: • Updatable
│ │ • Requires AC power
│ │ • Supported on remote server
│ │ • Device stages updates
│ │ • Device can recover flash failures
│ │ • Device is usable for the duration of the update
│ │
│ ├─Thunderbolt controller in Dell dock:
│ │ Device ID: 8357922f7f208e1f3b7537141ce17db04bc219d9
│ │ Summary: Thunderbolt controller
│ │ Current version: 43.00
│ │ Vendor: Dell Inc. (TBT:0x00D4)
│ │ Install Duration: 22 seconds
│ │ GUID: c94770ca-1773-592c-b20a-e87243bc7cd0 ← TBT-00d4b070
│ │ Device Flags: • Updatable
│ │ • Requires AC power
│ │ • Supported on remote server
│ │ • Device stages updates
│ │
│ ├─Package level of Dell dock:
│ │ Device ID: 1eca9eabb0c992c136e1deb1f89e3f70c465aa1c
│ │ Summary: A representation of dock update status
│ │ Current version: 01.00.08.01
│ │ Vendor: Dell Inc. (USB:0x413C)
│ │ Install Duration: 5 seconds
│ │ GUID: 8ceeeffd-51b6-580c-9b75-69143227aff8 ← USB\VID_413C&PID_B06E&hub&status
│ │ Device Flags: • Updatable
│ │ • Supported on remote server
│ │ • Device can recover flash failures
│ │ • Device is usable for the duration of the update
│ │
│ ├─RTS5413 in Dell dock:
│ │ Device ID: ca36279eeac13463fd5d974c88794859294fbfb1
│ │ Summary: USB 3.1 Generation 1 Hub
│ │ Current version: 01.21
│ │ Vendor: Dell Inc. (USB:0x413C)
│ │ Install Duration: 14 seconds
│ │ GUIDs: 86fb40c0-8bf5-5a8b-a4ad-3156cf6bfaf4 ← USB\VID_413C&PID_B06F&REV_0101
│ │ b27d25f1-019d-5718-b41a-02ddaefe5577 ← USB\VID_413C&PID_B06F
│ │ ac5b774c-b49d-566b-9255-85f0f7f8a4ed ← USB\VID_413C&PID_B06F&hub
│ │ Device Flags: • Updatable
│ │ • Requires AC power
│ │ • Supported on remote server
│ │ • Device stages updates
│ │ • Device is usable for the duration of the update
│ │
│ ├─RTS5487 in Dell dock:
│ │ Device ID: acb404019656654d44f80922d94735e831d9bb40
│ │ Summary: USB 3.1 Generation 2 Hub
│ │ Current version: 01.47
│ │ Vendor: Dell Inc. (USB:0x413C)
│ │ Install Duration: 3 seconds
│ │ GUIDs: 707c63d2-e597-5c40-84db-9b1bb4c48d96 ← USB\VID_413C&PID_B06E&REV_0101
│ │ acfcd89b-105d-55b9-b85b-08bf8508f38c ← USB\VID_413C&PID_B06E
│ │ 568ffa1e-a0db-5287-9ea3-872b60f7730b ← USB\VID_413C&PID_B06E&hub
│ │ Device Flags: • Updatable
│ │ • Requires AC power
│ │ • Supported on remote server
│ │ • Device stages updates
│ │ • Device is usable for the duration of the update
│ │
│ └─VMM5331 in Dell dock:
│ Device ID: 58931e8c9ef5eead9c007563814f96fcadb1b993
│ Summary: Multi Stream Transport controller
│ Current version: 05.04.00
│ Vendor: Dell Inc. (USB:0x413C)
│ Install Duration: 6 minutes
│ GUID: 89fec0b6-6b76-5008-b82c-5e5c6c164007 ← MST-panamera-vmm5331-259
│ Device Flags: • Updatable
│ • Requires AC power
│ • Supported on remote server
│ • Device stages updates
│ • Device is usable for the duration of the update
```
2019-12-12 09:44:20 -06:00
Richard Hughes
0cc22a5ff6
trivial: Document the use of vendor-id in each plugin
2019-12-11 18:10:44 +00:00
Richard Hughes
d3d64b5b54
superio: Use the baseboard vendor as the vendor ID
2019-12-11 18:10:44 +00:00
Richard Hughes
56700a3db8
uefi: Use the BIOS vendor as the vendor ID
...
This is only set for non-FMP ESRT entries.
2019-12-11 18:10:44 +00:00
Richard Hughes
89425b01bd
coreboot: Use the BIOS vendor as the vendor ID
2019-12-11 18:10:44 +00:00
Richard Hughes
49eeca05d0
flashrom: Use the BIOS vendor as the vendor ID
2019-12-11 18:10:44 +00:00
Richard Hughes
3544ac03b3
dell: Hardcode a plausible vendor ID
2019-12-11 18:10:44 +00:00
Richard Hughes
d1b9bbd842
emmc: Set the correct vendor ID prefix
2019-12-11 18:10:44 +00:00
Richard Hughes
038d8f463e
vli-usbhub: Fix the quirk for the legacy VIA 813 chip
2019-12-10 14:02:13 +00:00
Richard Hughes
f5c6e1d276
Add a new plugin that can parse the TPM event log
...
Some devices do not have a stable PCR0 for the same firmware version, and I'd
like to collect the TPM event log for affected machines to debug why.
2019-12-06 15:05:16 +00:00
Mario Limonciello
ad311189d4
trivial: dell: hardcode the physical device ID for tpm to match the tpm plugin
...
This allows the better-than logic to work properly.
2019-12-05 21:05:17 +00:00
Richard Hughes
fbb677bee2
Add a new plugin that exposes the system TPM device firmware version
...
This plugin does not yet allow the device to be upgraded, and is provided for
information only.
2019-12-05 21:05:17 +00:00
Richard Hughes
6c924a69c4
Add fu_udev_device_set_flags()
...
This allows us to specify with more detail how the device is opened.
2019-12-05 14:08:48 -06:00
Mario Limonciello
bda8bdf0e6
trivial: wacom-raw: mark all Moffett SKUs as self recovery
...
These will all support the recovery feature added by 59970600ad
2019-12-05 08:05:49 -06:00
Richard Hughes
f1a7122250
Add a dell-bios
version format
...
Dell does not include the first byte in the ESRT value, ignoring it. Using a
`quad` means we get versions like `0.1.4.0` rather than `1.4.0` which confuses
both users comparing versions to the vendor website, and also anyone trying to
do analysis on the firmware.
2019-12-04 16:22:46 +00:00
Vincent Huang
3e3a0277c9
synaptics-prometheus: Allow incremental version major and minor number
2019-12-03 11:06:52 +00:00
Richard Hughes
10079e6b8c
Export the raw device version to the client --verbose output
...
It turns out this is really useful for debugging UEFI firmware updates which
typically use the 0x-prefixed version numbers without a version format.
2019-12-02 06:51:25 +00:00