Commit Graph

2319 Commits

Author SHA1 Message Date
Richard Hughes
4fb8c7ad51 trivial: Fix precommit issue
Weird.
2021-07-06 17:33:33 +01:00
Richard Hughes
5f42fcb0c4 redfish: Port FuRedfishClient to derive from FuBackend 2021-07-06 17:13:16 +01:00
Richard Hughes
ad825eac24 redfish: Allow discovery of Redfish BMCs specified by VID-PID or MAC
Also, allow overriding the data using the config file.
2021-07-06 17:13:16 +01:00
Richard Hughes
dfaae2e837 Move amdgpu safety check into the plugin
There are now multiple plugins using drm_dp_aux_dev interface which
may potentially be combined with an amdgpu. Prevent exercising this
interface with any plugin using DP aux unless a new enough kernel is
installed.
2021-07-04 17:49:36 +01:00
Ricky Wu
825cf474ef
plugins: rts54hub: update rts54hub.quirk (#3445)
rts54hub: update rts54hub.quirk 

add Acer Dock ID
2021-07-03 16:50:28 +01:00
Richard Hughes
a5de6f0248 acpi-phat: Prevent a corrupt PHAT table from allocating ~4GB of memory
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35761
2021-07-02 21:28:39 +01:00
Richard Hughes
1de71f1191 acpi-phat: Fix a -Wcast-align issue detected with clang 2021-07-01 13:11:12 +01:00
Ricky Wu
5abbceddb9 plugins: rts54hub: rts54hub.quirk update
fixed USB\VID_0BDA&PID_5420 and USB\VID_0BDA&PID_5420&I2C_01 fw size range
2021-06-30 10:00:19 +01:00
Ricky Wu
4aa3b56ecb Update rts54hub.quirk
change fw size range
2021-06-30 07:58:51 +01:00
Mario Limonciello
4b80abafd8 trivial: don't use noclone attribute for cet checker on clang
Clang doesn't support this
2021-06-29 14:37:44 -05:00
Mario Limonciello
8867b1f47e trivial: remove some unused variables caught by clang 2021-06-29 14:37:44 -05:00
Richard Hughes
35e701556f redfish: Add GUIDs lowercase to match all the other plugins 2021-06-28 19:42:03 +01:00
Richard Hughes
7b7d33554a redfish: Fix a download warning for libcurl >= 7.62.0 2021-06-28 19:41:37 +01:00
Jarvis Jiang
6b79e9201d modem-manager: Add MBIM QDU support for firmware downloading in the MM plugin
Add the mbim-qdu support for firmware downloading, it will be used for T99W175 module of Foxconn.

Signed-off-by: Jarvis Jiang <jarvis.w.jiang@gmail.com>
2021-06-28 10:11:15 +01:00
Peter Marheine
8db9a0f3c3 realtek_mst: new plugin supporting RTD2142 2021-06-28 10:09:52 +01:00
Richard Hughes
6ff0ae2bc4 redfish: Split out the SMBIOS table parsing
This makes it more robust against corrupted data, and also adds support
for fuzzing.
2021-06-25 19:55:19 +01:00
Richard Hughes
5acee72213 redfish: Fix the SMBIOS table type value
It's 'type 42' in _decimal_, not hex.
2021-06-25 19:55:19 +01:00
Sergii Dmytruk
d8a5c7968d Add support for SuperIO IT5570
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-25 19:54:47 +01:00
Richard Hughes
6e3ad475a1 superio: Rename some variables with some new knowledge 2021-06-25 19:54:47 +01:00
Richard Hughes
2f9a9b2730 superio: trivial coldplug optimization 2021-06-25 19:54:47 +01:00
Mario Limonciello
5c6cb2bd53 Add a new plugin lenovo-thinklmi
This plugin uses the `thinklmi` kernel module from kernel 5.14 to
inhibit device updates for UEFI capsules when Boot Order Lock
is set.

Users will need to use `thinklmi` or BIOS setup to change the setting.
2021-06-25 08:12:58 -05:00
Richard Hughes
b9965d4d5c trivial: Do not run the linux swap tests on win32 2021-06-24 23:18:14 -05:00
Mario Limonciello
1d44dce78a trivial: remove some unused variables 2021-06-23 08:29:56 -05:00
Richard Hughes
aaa77c6f51 Allow adding and removing custom flags on devices
The CustomFlags feature is a bit of a hack where we just join the flags
and store in the device metadata section as a string. This makes it
inefficient to check if just one flag exists as we have to split the
string to a temporary array each time.

Rather than adding to the hack by splitting, appending (if not exists)
then joining again, store the flags in the plugin privdata directly.

This allows us to support negating custom properties (e.g. ~hint) and
also allows quirks to append custom values without duplicating them on
each GUID match, e.g.

[USB\VID_17EF&PID_307F]
Plugin = customflag1
[USB\VID_17EF&PID_307F&HUB_0002]
Flags = customflag2

...would result in customflag1,customflag2 which is the same as you'd
get from an enumerated device flag doing the same thing.
2021-06-23 07:59:15 +01:00
Richard Hughes
1a84d5c6bc vli: Fix regression in enumerating the PD device
This was missed when porting the MSP430 and RTD21XX chips.
2021-06-22 18:39:27 +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
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
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
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
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