Commit Graph

5772 Commits

Author SHA1 Message Date
Richard Hughes
005bf9d0b4 Add support for soft-requirements that can be ignored with --force
This allows OEMs to suggest that certain components are updated to specific
versions, but allowing end-users to override this as required.
2021-06-21 21:57:09 +01:00
Richard Hughes
bcc513741c pixart-rf: Add support for receiver and wireless hardware 2021-06-21 14:28:03 -05:00
Richard Hughes
2360aa296a Use an internal device flag rather that using a custom flag
If this is shared between plugins it needs to be specified in a shared
place.
2021-06-21 19:38:00 +01:00
Jason Gerecke
6d065bbc2f Bump minimum required meson version to correct build warning
Sets the minimum required version to 0.50.0 since we are using features
which are not available prior to that release:

    WARNING: Project specifies a minimum meson_version '>=0.47.0' but uses
    features which were added in newer versions:
     * 0.49.0: {'/ with string arguments'}
     * 0.50.0: {'install arg in configure_file'}
2021-06-21 15:23:05 +01:00
Mario Limonciello
4ae30a2c1a trivial: update assignee for wd19 bug reports
The WD19 has a special bug report template, and although I'll contribute
what I can to it, nominally Crag will be looking into the issues now.
2021-06-20 21:50:12 -05:00
Richard Hughes
fe7b0794b3 Use the parent physical ID to autoset the device parent
Of course, this only works if the parent and child both export a
FuDevice of the same physical kind, e.g. USB.
2021-06-19 16:57:35 +01:00
Crag Wang
8d68865a86 dell-dock: add usb protocol for USB4 device 2021-06-19 16:44:24 +01:00
Jason Gerecke
98afc729f2 wacom-usb: Add "no serial" flag to other CTL-X100 products
Both the wired-only and wireless-capable versions of the CTL-4100 /
CTL-6100 will switch into "Android mode" if their string descriptors are
read too many times. A previous commit added the "no-serial-number"
flag to the wireless variants to work around this problem; this commit
adds the flag to the wired-only variants.
2021-06-18 16:55:33 +01:00
Richard Hughes
ef2c226a0c wacom-usb: Retry the legacy bluetooth version read for up to 5s 2021-06-18 14:03:54 +01:00
Richard Hughes
baed4af717 wacom-usb: Reduce the debug verbosity when updating 2021-06-18 14:03:54 +01:00
Richard Hughes
351989ed9e trivial: Reduce the debug verbosity when reading SREC firmware 2021-06-18 14:03:54 +01:00
Richard Hughes
a2682eeed9 Add a device flag to ignore the serial number
On some devices the serial number is junk, or not set. On some Wacom
hardware reading the serial LangID puts the device into Android mode...
2021-06-18 14:03:54 +01:00
Richard Hughes
fc3f95079e colorhug: Move the vendor specific setup out of common code
The now-defunct ColorHug devices are the only ones to support the
abandoned FW/GU descriptor specification.
2021-06-18 14:03:54 +01:00
Richard Hughes
50d1892e10 trivial: Remove duplicate #define to stop a gtk-doc warning 2021-06-18 09:20:10 +01:00
Mario Limonciello
6f83190392 trivial: drop support for upower.conf (Fixes: #3384)
All overrides should be performed using `power.quirk`
2021-06-18 09:12:57 +01:00
Mario Limonciello
04fdca165e trivial: move upower.quirk out of upower plugin
This should be used by other power plugins as well.
2021-06-18 09:12:57 +01:00
Richard Hughes
2db68bf835 trivial: Fix setting internal flags from quirk files
This is a typo, non-negated flags shouldn't be removed.
2021-06-17 17:47:06 +01:00
Jason Gerecke
81482c3ba7 wacom-usb: Legacy Bluetooth module reports version numbers in little-endian
While the modern firmware interfaces report their version numbers in
big-endian form, reading the legacy Bluetooth module version via the
FU_WAC_REPORT_ID_GET_FIRMWARE_VERSION_BLUETOOTH report requires us to
actually parse a little-endian value. This difference was overlooked
when making changes to the version parsing code in commit 50a4ec70e6.
This commit restores the proper interpretation.

Fixes: 50a4ec70e6 (wacom_usb: Firmware versions are packed BCD, not "decimal")
2021-06-17 17:32:19 +01:00
Richard Hughes
9f13d8ed1e vli: Be more specific when matching the MSP430
Add a FuDevice->ready() vfunc that is run after ->setup()
This allows plugins to perform setup actions that require quirk matches
after the instance IDs have been converted. This allows us to also
remove FuVliDevice->setup() as the ordering chain has been broken.

There are two USB-3 hubs internally (with the same VID&PID), and the
MSP430 is only attached to the top-level one.

Fixes https://github.com/fwupd/fwupd/issues/3366
2021-06-17 17:09:48 +01:00
Richard Hughes
eb8e43d942 libfwupd: Show unconverted GUIDs when debugging
Add a suffix to any GUIDs that are currently unconverted InstanceIDs.

This makes plugin development much easier as you can now see why GUID
quirks in the subclassed ->setup() are not matching.
2021-06-17 16:22:06 +01:00
Richard Hughes
0076c3eaf9 logitech-hidpp: Remove the FuLogitechHidPpBootloaderClass->setup() action
It's not required as we can just call up to the parent instead.
2021-06-17 16:21:41 +01:00
Richard Hughes
bf72d393fd Split up FuUsbDevice into ->open() and ->setup()
Before this change calling FuUsbDevice->open() opened the device, and
also unconditionally added various GUIDs and InstanceIDs which we
normally do in setup.
Then fu_device_setup() would call the FuSubclass->setup() vfunc which
would have no way of either opting out of the FuUsbDevice->setup()-like
behaviour, or controlling if the parent class ->setup is run before or
after the subclass setup.

Split up FuUsbDevice->open() into clear ->open() and ->setup() phases
and add the parent class calls where appropriate.

This means that ->setup() now behaves the same as all the other vfuncs.
2021-06-17 16:21:41 +01:00
Richard Hughes
4324e1b5e5 vli: Call the superclassed probe explicitly
Although this leads to the same end result, it's better to list the
InstanceIDs in order of specificity.
2021-06-17 15:50:58 +01:00
Richard Hughes
a6efe753eb vli: Use the baseclass ->to_string()
This was missed when converting everything to _parent_class.
2021-06-17 14:41:49 +01:00
Richard Hughes
8eb5825bdb trivial: Show the USB class code when debugging 2021-06-17 14:41:49 +01:00
Benson Leung
d92d99d075 trivial: device-tests: Add HP USB-C Dock G5 firmware v1.0.13
Fixes #3376
2021-06-17 10:25:05 +01:00
Crag Wang
5a384a3f02 trivial: fix for expr check introduced in 3a48af58 2021-06-17 09:17:43 +01:00
Mario Limonciello
9e6a8bd318 trivial: Adjust synaptics-mst amdgpu safety check
The previous safety check was introduced due to a bug in the kernel
where it would produce a traceback and hang the offending process.

This code was fixed in kernel 5.2.0:
8ae5b1d78d

Add a new configuration option that will allow disabling the safety
checks if a new enough kernel is in place.  This configuration option
is necessary because some Linux distributions may backport drm, and thus
this commit but still need the feature to work.
2021-06-16 14:54:17 -05:00
Mario Limonciello
3a48af58c2 trivial: move kernel version check into common library code
This will be used by more than one plugin in an upcoming commit.
2021-06-16 14:54:17 -05:00
Mario Limonciello
4554eaa688 Fix blocking of updates for inhibited devices
If the device is inhibited no install tasks should run on it.
2021-06-16 10:01:50 -05:00
Mario Limonciello
1e06c12e99 trivial: ci: Check for inclusion of private headers during pre-commit
This will improve the pre-commit hook coverage.

For dfu: waive pre-commit checks for internal header file
This is internal to the plugin not to the library.
2021-06-16 08:32:29 -05:00
Mario Limonciello
78b78d8edd trivial: update python black style to 21.6b0 2021-06-16 06:41:46 -05:00
Mario Limonciello
80ae982f6d trivial: fix pre-commit removing arguments 2021-06-16 06:41:46 -05:00
Mario Limonciello
a88c193e2b trivial: update pre-commit hooks to 4.0.1 2021-06-16 06:41:46 -05:00
Mario Limonciello
783b6a2bbc trivial: drop optional codespell meson target
As we already run pre-commit hooks, no need to also run in meson.
2021-06-16 06:41:46 -05:00
Mario Limonciello
2980cf966c trivial: add a codespell pre-commit hook
Inspired-by: 8b0031fad3
2021-06-16 06:41:46 -05:00
Mario Limonciello
800d45549c trivial: fix a codespell mistake 2021-06-16 06:41:46 -05:00
Maciej Pijanowski
4b01f4b10e superio/README.md: fix typo
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2021-06-16 12:10:17 +01:00
Richard Hughes
0a647a82d7 pixart-rf: Split out struct ota_fw_state for future usage 2021-06-16 09:27:33 +01:00
Richard Hughes
8c391ee750 pixart-rf: Rename FuPxiDevice to FuPxiBleDevice 2021-06-16 09:27:33 +01:00
Richard Hughes
7dff59c376 pixart-rf: Split out some common code to a new file 2021-06-16 09:27:33 +01:00
Richard Hughes
cae9d04590 trivial: Fix missing failure case in pixart-rf setup 2021-06-16 09:27:33 +01:00
Mario Limonciello
4d7585f8ee trivial: promote fwupd_checksum_format_for_display into ABI
This symbol is used by one plugin and so it should be properly
exported.
2021-06-16 08:37:34 +01:00
Mario Limonciello
7ad3541d56 trivial: logitech: fixup some includes 2021-06-16 08:36:18 +01:00
Richard Hughes
8b0031fad3 trivial: Codespell fixes 2021-06-15 21:45:15 +01:00
Richard Hughes
832231da9c synaptics-prometheus: Fix enumeration of the config child
Do not manually call config setup before adding the parent.

The ->setup() action is called on children explicitly in fu_device_setup()
after the parent device has all the required properties.

Fixes https://github.com/fwupd/fwupd/issues/3364
2021-06-15 11:46:17 -05:00
Sergii Dmytruk
c0d0ce4e1a Switch from sysctl to ioctl for ESRT on FreeBSD
Initial version of the patch was rejected and rewritten.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Sergii Dmytruk
9c21e4e135 Depend on libefivar in uefi-capsule
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Sergii Dmytruk
c16602d688 Corrections for fu-efivar-freebsd.c
There were some compilation warnings (one actual error) and possibility
to use incorrect efivar library.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Richard Hughes
bda57e8c9d modem-manager: Do not convert instance IDs to GUIDs manually
This already happens during setup, there shouldn't be a need to depend
on the private header to accomplish this.
2021-06-15 09:14:39 -05:00