Commit Graph

2284 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
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
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
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
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
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
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
Richard Hughes
7df9616e18 wacom-usb: Show the user how to switch out of Android-mode 2021-06-15 14:15:22 +01:00
Richard Hughes
f6cd676fef trivial: Add required dep for dbxtool 2021-06-15 11:45:16 +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
Mario Limonciello
e6cd7d1d60 trivial: wacom_usb: depend on plugin_deps rather than hardcoding libraries 2021-06-14 10:12:45 +01:00
Mario Limonciello
73cdf067ed trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
Mario Limonciello
b0fd08b077 trivial: don't hardcode dependency on libjsonglib for any plugins 2021-06-14 09:25:43 +01:00
Mario Limonciello
64fc650f11 trivial: dfu: depend on plugin_deps rather than hardcoding libraries 2021-06-14 09:25:24 +01:00
Ricardo Cañuelo
30c5e0e918 logitech-hidpp: make peripheral class derivable and subclass it 2021-06-11 13:53:02 +02:00
Richard Hughes
a02c1073f2 trivial: Fix up some of the developer docs
And add some missing content as requried.
2021-06-11 09:39:03 +01:00
Mario Limonciello
1e17457b16 Allow building the documentation with gi-docgen and gtk-doc
Until gi-docgen is declared stable support either of them.
This effectively means that hand builds and CI builds will use
gi-docgen, but distro builds use gtk-doc-tools.
2021-06-09 22:21:53 +01:00
Mario Limonciello
8541f678b7 trivial: don't set priority between thunderbolt and dell-dock plugins
The dell-dock plugin has a check whether or not to create the I2C based
child device based upon whether thunderbolt link is active during probe.

So there will never be a situation that daemon needs to de-duplicate and
set priority between the two plugins.
2021-06-09 07:42:58 -05:00
Vincent Huang
80ba2c1f27 synaptics-prometheus: add pid 0xd8 0xf0 0x103 to quirk file 2021-06-09 08:03:11 +01:00
Richard Hughes
5f74504667 vli: Fix the i2c device enumeration, e.g. MSP430
This regressed in f9e9e087d, as we're using FuDevice->setup() to check
if the device is present, but without setting the physical IDs.
2021-06-08 15:29:43 +01:00
Richard Hughes
694e774c2a uefi-capsule: Make less Linux-specific
Based on patches by Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 19:54:12 +01:00
Sergii Dmytruk
4558e5f317 Fix two off-by-one errors in uefi-capsule plugin
Data is accessed at offset 0x13, so the code must abort if size is
0x13 when you can access only offsets 0x00 through 0x12.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 11:18:57 +01:00
Sergii Dmytruk
cac4f98420 Improve error message in fu-uefi-backend-freebsd
"not supported" doesn't explain much.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 11:18:41 +01:00
Crag Wang
9264dc1bca dell-dock: Add initial support for USB4 module 2021-06-04 22:31:18 -05:00
8BitDo
602bf45a23 Add N30 Pro 2 gamepad 2021-06-04 06:44:32 -05:00
8BitDo
20d969cd70 Add SN30 Pro for Android firmware v2.00 2021-06-03 07:09:22 -05:00
8BitDo
f4e8bec090
Add 8BitDo SN30 for Android (#3310)
Add 8BitDo SN30 Pro for Android

Co-authored-by: 8BitDo <xuxy@8bitdo.com>
2021-06-01 23:51:34 -05:00
8BitDo
ed663623db Add 8BitDo SN30v2 gamepad 2021-05-31 08:45:10 -05:00
xtcui
5bf354976e Set hub2.0 as subcomponent of hub3.0 2021-05-27 18:52:00 +08:00
xtcui
36066ec822 Added VID PID for Minibons device 2021-05-26 10:22:29 +01:00
Richard Hughes
03726227b7 uefi-capsule: Add FreeBSD ESRT support
Based on a patch by Sergii Dmytruk <sergii.dmytruk@3mdeb.com>, many thanks.
2021-05-25 17:17:45 +01:00
Richard Hughes
6c07675558 uefi-capsule: Split out the Linux specific ESRT enumeration
This allows us to add the same functionality for FreeBSD and Windows.
2021-05-25 17:17:45 +01:00
Richard Hughes
1113a7aa11 trivial: Allow setting FuUefiDevice properties at construction 2021-05-25 17:17:45 +01:00
Richard Hughes
69071e14e8 trivial: Use new 8BitDo name 2021-05-24 08:59:54 +01:00