Commit Graph

6025 Commits

Author SHA1 Message Date
Richard Hughes
ef73701aa1 trivial: Provide FWUPD_PLUGIN_FLAG_AUTH_REQUIRED for future usage 2021-07-06 20:12:17 +01:00
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
167046b4ce trivial: Fallback to text if the multiline description was invalid XML 2021-07-06 11:07:46 -05:00
Richard Hughes
121cffe7d8 trivial: Export fwupd_device_has_icon()
This is useful in self tests.
2021-07-06 16:47:50 +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
974d63851d Allow calculating the CRC-16 with the CCITT polynomial 2021-07-03 13:49:50 +01:00
Yuan-Chen Cheng
c593ca6d4b trivial: vendor-directory typo 2021-07-03 10:17:31 +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
24eec8c533 Copy the device update state when replugging
At the moment we saving the new state as 'unknown' which explains why
we're getting so few LVFS reports uploaded for USB devices that perform
a replug...

Tested with a ColorHug2.
2021-07-02 21:28:22 +01:00
Richard Hughes
7b209bb2c1 Watch for children added or removed after setup has been completed
Some devices may 'discover' child devices during poll, rather than the
more usual case of adding them as children during setup.
2021-07-02 13:27:10 +01:00
Richard Hughes
7830ed5812 trivial: Fix accidental ABI break when adding ->ready()
If adding an entry into the class function table then the padding has
to be decremented unless the SO version is incremented.

Fixes out-of-tree plugins failing to load with:

   GLib-GObject: Specified class size for type 'FuXxxDevice' is smaller
   than the parent type's 'FuDevice' class size
2021-07-02 11:51:35 +01:00
William Wilson
238e8b8781 Compile with the flashrom plugin in Ubuntu now that flashrom is being included in main (https://bugs.launchpad.net/ubuntu/+source/flashrom/+bug/1912371) 2021-07-01 17:45:32 +01:00
Richard Hughes
1de71f1191 acpi-phat: Fix a -Wcast-align issue detected with clang 2021-07-01 13:11:12 +01:00
Richard Hughes
1cee26eba9 Remove the vendor string from the device name where required
This means we don't display something like 'Logitech Logitech Product'
when showing the devices on one line.

This is now required in two plugins so move it to common code. Also
support setting the properties in either order to prevent regressions
when using the device name as part of the instance ID.
2021-06-30 18:43:07 +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
6288886d35 trivial: Fix up an introspection tag added recently 2021-06-28 19:45:19 +01:00
Richard Hughes
c3b973a91e trivial: Prevent critical warning when the EFI variable has no data
I don't think this can happen in reality, but I hit it when mocking up
an efivar directory using FWUPD_SYSFSFWDIR with a 4 byte file.
2021-06-28 19:42:13 +01: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
Richard Hughes
562dfb3bc6 trivial: Use the upstream Makefile to disable plugins for FreeBSD 2021-06-28 07:06:27 -05: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
69bfebc498 trivial: Set the physical ID in FuI2cDevice->probe() 2021-06-28 10:09:52 +01:00
Peter Marheine
6281467a6b Add a fu_udev_device_get_children_with_subsystem function
This works like fu_udev_device_get_siblings_with_subsystem but returns child
devices of self rather than siblings.
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
Sergii Dmytruk
744e17f68f Load hwinfo on fwupdtool firmware-dump command
Otherwise can't read firmware of devices whose detection depends on
hardware information.

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
a962d47103 trivial: fix win32 build (Fixes: #3418)
Use the gusb that we build rather than the system one.
2021-06-25 11:15:46 -05: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
Mario Limonciello
d20a95458d libfwupdplugin: add support for firmware-attributes 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
Richard Hughes
9a2e10c639 trivial: Export the matching fu_udev_device_set_dev() 2021-06-24 14:22:08 +01:00
Richard Hughes
8ae988dda8 Allow writing multiple bytes to the I²C device 2021-06-24 14:22:08 +01:00
Richard Hughes
046e81e844 trivial: Fix search and replace typo in defining the term colors 2021-06-24 14:22:08 +01:00
Richard Hughes
e2f51539b9 trivial: Add the missing fu_i2c_device_set_bus_number() function 2021-06-24 14:22:08 +01:00
Richard Hughes
f350dd49cf trivial: Fix the internal enum used for the i2c bus number 2021-06-24 14:22:08 +01:00
Richard Hughes
c5ec2350a3 trivial: Display multiple vendors IDs more clearly 2021-06-24 12:43:42 +01:00
Mario Limonciello
7f7d063a7c trivial: fu-util-common: output UpdateError and UpdateMessage in colors
This will make it easier to stand out when there is a problem or something
to tell the user.
2021-06-23 08:40:13 -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