Commit Graph

5755 Commits

Author SHA1 Message Date
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
Mario Limonciello
ed51779598 trivial: fix a regression in Gentoo detecting python versions 2021-06-15 08:22:40 -05:00
Mario Limonciello
00cc29c3af Revert "meson.build: Change python version check order"
This reverts commit 1b396215d9.
2021-06-15 08:22:40 -05:00
Richard Hughes
e64ebe8a7c trivial: Allow setting device inhibits from quirk files 2021-06-15 14:15:34 +01:00
Richard Hughes
7df9616e18 wacom-usb: Show the user how to switch out of Android-mode 2021-06-15 14:15:22 +01:00
Mario Limonciello
34a6dac830 trivial: fix unclear build failure for introspection off with docgen
GI-Docgen requires introspection data to generate documentation.
Show a clearer error about this (Fixes: #3355)
2021-06-15 07:03:05 -05:00
Mario Limonciello
6bc296f633 trivial: update gi-docgen to a tag 2021-06-15 07:03:05 -05:00
Mario Limonciello
f1db89ff35 trivial: set the version string for source code links properly 2021-06-15 07:03:05 -05:00
Mario Limonciello
68a13d2250 trivial: Add details into RELEASE process for forking stable branches 2021-06-15 07:03:05 -05:00
Richard Hughes
f6cd676fef trivial: Add required dep for dbxtool 2021-06-15 11:45:16 +01:00
Richard Hughes
a5a82ba519 trivial: Fix the FuDeviceInternalFlags conversion funcs 2021-06-15 10:18:24 +01:00
Richard Hughes
39b3140ed3 trivial: post release version bump 2021-06-14 14:46:05 +01:00
Richard Hughes
85e3916c77 Release fwupd 1.6.1 2021-06-14 14:31:12 +01:00
Ricardo Cañuelo
7a125913bb logitech-hidpp: make receiver runtime class derivable 2021-06-14 13:31:44 +01:00
Richard Hughes
2dd6462c0c trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
Ricardo Cañuelo
be8634d2cb logitech-hidpp: fix bug in type casting 2021-06-14 12:35:34 +01:00
Richard Hughes
69f8ae5fb1 Add a precommit check for superfluous includes 2021-06-14 10:12:45 +01:00
Mario Limonciello
e6cd7d1d60 trivial: wacom_usb: depend on plugin_deps rather than hardcoding libraries 2021-06-14 10:12:45 +01:00