Genesys Logic uses the same VID/PID for its USB Hubs products, whatever
the chip underneath (GL3523, GL3590...). For example, Genesys Logic
USB2.0 Hub uses 05E3/0610; and Genesys Logic USB3.1 Hub uses 05E3/0612.
The manufacturers may reuse the Genesys Logic VID/PID for its products
or may use its own VID such as HP (03F0).
The genesys plugin supports upgrading GL3523 USB and GL3590 USB2.0 Hubs
for now (the latter is not tested).
The quirk file limits the support to HP Hubs only; and the plugin will
allow upgrade Hub with genuine Genesys Logic VID/PID in the future by
adding the following lines to the quirk file:
[USB\VID_05E3&PID_0610]
Plugin = genesys
However, this change in the quirk file will report the errors below for
the Hub with IC that are not supported:
04:26:40:0325 FuEngine failed to add device usb:01:00:01: Unsupported IC GL3521-22
04:26:40:0344 FuEngine failed to add device usb:01:00:01: Unsupported IC GL3521-22
Note: This may be true already if HP uses Hubs with IC that are not
unsupported.
This change returns the error FWUPD_ERROR_NOT_SUPPORTED instead to fail
silently.
This fixes the memory leak below:
$ sudo valgrind -v --leak-check=full fwupdtool get-devices
(...)
==3244345== 133 (64 direct, 69 indirect) bytes in 2 blocks are definitely lost in loss record 2,488 of 2,681
==3244345== at 0x4845899: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3244345== by 0x4C04D59: g_malloc (in /usr/lib/libglib-2.0.so.0.7000.4)
==3244345== by 0x4C1C816: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.7000.4)
==3244345== by 0x4C1CE9E: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.7000.4)
==3244345== by 0x4B84684: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.7000.4)
==3244345== by 0x4B6BB65: ??? (in /usr/lib/libgobject-2.0.so.0.7000.4)
==3244345== by 0x4B6CAF4: g_object_new_with_properties (in /usr/lib/libgobject-2.0.so.0.7000.4)
==3244345== by 0x4B6D659: g_object_new (in /usr/lib/libgobject-2.0.so.0.7000.4)
==3244345== by 0x4AA8969: ??? (in /usr/lib/libgio-2.0.so.0.7000.4)
==3244345== by 0x153967: fu_engine_load_local_metadata_watches (fu-engine.c:7050)
==3244345== by 0x1540FC: fu_engine_load (fu-engine.c:7230)
==3244345== by 0x124D29: fu_util_start_engine (fu-tool.c:262)
(...)
==3244345== LEAK SUMMARY:
==3244345== definitely lost: 64 bytes in 2 blocks
==3244345== indirectly lost: 69 bytes in 2 blocks
==3244345== possibly lost: 1,936 bytes in 8 blocks
==3244345== still reachable: 234,668 bytes in 3,072 blocks
==3244345== suppressed: 0 bytes in 0 blocks
==3244345== Reachable blocks (those to which a pointer was found) are not shown.
==3244345== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==3244345==
==3244345== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
The plugin gets the panel-type (i.e. hardware revision) as the firmware
version.
This gets the real firmware version, and appends the panel-type to the
instance-id string as the blobs are specific to panel-types.
The Special Protect Sector structure is 24-bit long.
This replaces the 32-bit integer in union that makes the structure
8-bits too big by an array of 3-bytes.
This fixes the problem when the UEFI update depends on a specific BMC
version -- including the backup BMC device means we checking that both
the primary and the backup were above a specific version.
I don't think it's ever useful to show the backup BMC device, so just
don't include it as an enumerated device.
Fixes https://github.com/fwupd/fwupd/issues/4404
Flashrom is primarily used with coreboot, which has a pair version number
currently 4.16. As such, chance the default to pair so that fewer quirks
are required.
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
wacom-raw is required to support several Lenovo products.
Therefore, some items have been added to "wacom-raw.quirk".
Signed-off-by Tatsunosuke Tobita <tatsunosuke.tobita@wacommfg.corp-patner.google.com>
* HwId for StarLite Mk IV
* coreboot GUID for StarLite Mk IV
* HwId for StarLite Mk II (under coreboot)
* coreboot GUID for StarLite Mk II
Signed-off-by: Sean Rhodes <sean@starlabs.systems>