Mario Limonciello
62b8336383
trivial: fu-remotes-list: drop usage of FU_SELF_TEST_REMOTES_DIR
...
Instead use `CONFIGURATION_DIRECTORY`, which already supported by
`fu-common`.
2019-12-12 13:23:13 -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
Mario Limonciello
5d94afae2d
fu-util-common: correct the default prompt for reboot/shutdown ( Fixes : #1617 )
...
Y/n means that Y is the default if you press enter.
y/N means that N is the default if you press enter.
2019-12-11 07:08:17 -06:00
Richard Hughes
d1808aae67
Split out the remote loading from FuConfig
...
It's confusing to have FuConfig load both the daemon.conf file and also keep
track of the enabled remotes. It's also wasteful of memory to keep the GKeyFile
alive the entire time.
Logically these are different pools of information and should be managed by
different objects. This allows us to implement reload() in a sane way and be
less reliant on the inotify event.
2019-12-10 21:40:31 +00:00
Richard Hughes
038d8f463e
vli-usbhub: Fix the quirk for the legacy VIA 813 chip
2019-12-10 14:02:13 +00:00
Mario Limonciello
7e4949c4f8
Clarify error messages when no upgrades available
2019-12-09 10:45:49 -06:00
Richard Hughes
3885789156
trivial: Don't handle a vendor-id requirement error that cannot happen
...
The vendor ID comparison is either 'eq' or 'regex' and 'ge' just doesn't makes
sense in this context.
2019-12-09 12:57:46 +00:00
Richard Hughes
12843af7e2
Only check the vendor ID if the device has one set
...
This means we don't get a weird error if the metadata sets a vendor-id, but the
device does not.
2019-12-09 12:57:46 +00:00
Mario Limonciello
baa9e75ca8
fu-install-task: Enforce that device protocol matches metadata
...
Currently devices with a matching GUID will match any metadata that
has the same GUID.
For Dell in the future there will be a situation that the same GUID
is supported by two different FwupdDevice objects but the payload
required for the different objects will vary.
So start matching the protocol and the GUID both to make sure that
the right Fwupd device gets matched from the metadata.
2019-12-06 09:56:08 -06: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
Richard Hughes
dad3597e76
Allow other plugins to contribute report metadata
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
Richard Hughes
0731b825f4
trivial: Render large values of VersionRaw in a more portable way
2019-12-05 10:56:41 -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
dkadioglu
1db7e987ae
Throw exit status 0 (instead of 2) if there is no firmware to be updated
...
see #1635
2019-12-04 14:42:13 -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
Richard Hughes
df049edf0f
Add support for multiple LVFS::VersionFormat tags
...
We painted ourselves into a corner when we added the `LVFS::VersionFormat`
metadata key, as using newer keys like `bcd` would not be recognised by older
versions of the daemon as there was no explicit fallback path.
This allows plugins or devices to 'upgrade' from simpler formats like:
* `pair` -> `bcd`
* `quad` -> `intel-me`
* `triplet` -> `surface`
* `plain` -> `misc-defined-vendor-format`
This means the LVFS can write multiple `LVFS::VersionFormat` keys, although the
'older' version format has to be listed first to preserve compatibility with
older daemon versions that just validate the first matching node.
2019-12-04 16:22:46 +00:00
Richard Hughes
1fbcb1a180
Do not do semver conversion in fu_common_vercmp()
...
We don't know the version format, and so it's impossible to do it reliably --
just do it in the caller where we *do* know the FuDevice version format.
2019-12-04 15:45:30 +00:00
Richard Hughes
df8833e875
trivial: Deprecate fu_common_version_parse()
...
This hardcodes the version format of 'triplet' which isn't always correct for
obvious reasons.
2019-12-04 15:45:30 +00:00
Richard Hughes
f21add626c
trivial: Support 'plain' in fu_common_version_from_uintXX()
2019-12-04 15:45:30 +00:00
Richard Hughes
5ef1862cc5
Add the sysfs 'description' as the one-line device summary
2019-12-04 15:27:09 +00:00
Richard Hughes
3d48c1bbbc
trivial: Also print the parent keys when using FU_UDEV_DEVICE_DEBUG
2019-12-04 15:27:09 +00:00
Richard Hughes
d865d2473e
trivial: Add fu_common_version_from_uint64()
2019-12-04 14:50:41 +00:00
Richard Hughes
da80c1bda3
trivial: Convert the VersionRaw value to a uint64_t for future use
...
This has not been in any tarball release and so isn't a ABI break.
2019-12-03 10:46:17 -06:00
Richard Hughes
45a00738d8
Allow building on Windows with MinGW
...
Add various fixes to enable us to build a selection of useful USB plugins.
Also, skip tests that don't make sense on WIN32 or that will not work.
With much help from Mario Limonciello <mario.limonciello@dell.com> -- Thanks!
2019-12-03 16:33:43 +00:00
Vincent Huang
3e3a0277c9
synaptics-prometheus: Allow incremental version major and minor number
2019-12-03 11:06:52 +00:00
Andreas Scherbaum
e3f1e9fa34
Replace 'scheduing' with 'scheduling'
2019-12-02 06:52:16 +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
Richard Hughes
297d1598ef
trivial: Only dlopen the test plugin once
...
This causes problems in the self tests when not lazy-loading symbols.
Also use g_build_filename() for the paths to be more portable and readable.
2019-12-01 20:59:19 +00:00
Richard Hughes
4f023420c6
Export the device protocol to the client --verbose output
...
It turns out this is useful for debugging.
2019-12-01 06:31:05 -06:00
Mario Limonciello
19d948ea39
trivial: installed-tests: try to display journal for failed tests
...
This should help make debugging from CI infrastructures such as
autopkgtest easier.
2019-12-01 06:23:27 -06:00
Mario Limonciello
f12e471414
trivial: ci: debian: enable verbose daemon logging for failure analysis
2019-12-01 06:23:27 -06:00
Mario Limonciello
708f490075
trivial: installed-tests: explicitly choose webcam device ID
...
In some CI infrastructures other devices show up and so the webcam
is not automatically picked.
```
Enabling fwupd-tests remote...
Successfully enabled remote
Update the device hash database...
Choose a device:
0. Cancel
1. 08d460be0f1f9f128413f816022a6439e0078018 (Integrated Webcam™)
2. bbbf1ce3d1cf15550c3760b354592040292415bb (Virtio network device)
Request canceled
FAIL: fwupd/fwupdmgr.test (Child process exited with code 2)
SUMMARY: total=1; passed=0; skipped=0; failed=1; user=0.0s; system=0.0s; maxrss=11736
FAIL: fwupd/fwupdmgr.test (Child process exited with code 2)
autopkgtest [22:09:32]: test ci: -----------------------]
ci FAIL non-zero exit status 2
autopkgtest [22:09:33]: test ci: - - - - - - - - - - results - - - - - - - - - -
autopkgtest [22:09:33]: @@@@@@@@@@@@@@@@@@@@ summary
ci FAIL non-zero exit status 2
```
2019-12-01 06:23:27 -06:00
Mario Limonciello
f35a3dec93
trivial: debian: remove obj-* built files to fix back to back builds
2019-11-30 18:56:09 -06:00
Mario Limonciello
728f0f06c6
trivial: ci: don't let bad symlinks cause debian build failures
2019-11-30 18:43:24 -06:00
Mario Limonciello
0f67b79cc5
trivial: debian: correct a dependency for libfwupdplugin-dev
2019-11-30 18:34:56 -06:00
Richard Hughes
713d20f79f
Release fwupd 1.3.5
2019-11-29 12:56:50 +00:00
Francois Berder
bb5385de76
plugins: Fix potential use of NULL pointer in fu_dell_dock_mst_write_register
...
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-29 06:33:09 -06:00
Francois Berder
15daf69ad9
Fix shifting integer by more than 31 in fu_util_filter_device
...
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-29 06:33:09 -06:00
Richard Hughes
1d797668fa
synaptics-prometheus: Reload the device version after IOTA update
2019-11-29 12:04:42 +00:00