diff --git a/plugins/vli/README.md b/plugins/vli/README.md index 6a0f6b226..74e99a3d7 100644 --- a/plugins/vli/README.md +++ b/plugins/vli/README.md @@ -31,13 +31,13 @@ These devices also use custom GUID values for the SPI flash configuration, e.g. * `VLI_USBHUB\SPI_3730` * `VLI_USBHUB\SPI_37` -Optional PD child devices use just one extra GUID, e.g. +Optional PD child devices sharing the SPI flash use just one extra GUID, e.g. - * `VLI_USBHUB_PD\VID_17EF&PID_3083` + * `USB\VID_17EF&PID_3083&DEV_VL102` Optional I²C child devices use just one extra GUID, e.g. - * `VLI_USBHUB_I2C\MSP430` + * `USB\VID_17EF&PID_3083&I2C_MSP430` Vendor ID Security ------------------ diff --git a/plugins/vli/fu-vli-usbhub-i2c-device.c b/plugins/vli/fu-vli-usbhub-i2c-device.c index 08696fce6..62346b2d3 100644 --- a/plugins/vli/fu-vli-usbhub-i2c-device.c +++ b/plugins/vli/fu-vli-usbhub-i2c-device.c @@ -58,7 +58,9 @@ fu_vli_usbhub_i2c_device_setup (FuDevice *device, GError **error) } /* add instance ID */ - instance_id = g_strdup_printf ("VLI_USBHUB_I2C\\%s", + instance_id = g_strdup_printf ("USB\\VID_%04X&PID_%04X&I2C_%s", + fu_usb_device_get_vid (FU_USB_DEVICE (parent)), + fu_usb_device_get_pid (FU_USB_DEVICE (parent)), fu_vli_common_device_kind_to_string (self->device_kind)); fu_device_add_instance_id (device, instance_id); diff --git a/plugins/vli/fu-vli-usbhub-pd-device.c b/plugins/vli/fu-vli-usbhub-pd-device.c index 02a68b86e..9da142c86 100644 --- a/plugins/vli/fu-vli-usbhub-pd-device.c +++ b/plugins/vli/fu-vli-usbhub-pd-device.c @@ -64,9 +64,10 @@ fu_vli_usbhub_pd_device_probe (FuDevice *device, GError **error) fwver_str = fu_common_version_from_uint32 (fwver, FWUPD_VERSION_FORMAT_QUAD); fu_device_set_version (device, fwver_str, FWUPD_VERSION_FORMAT_QUAD); fu_device_set_version_raw (device, fwver); - instance_id1 = g_strdup_printf ("VLI_USBHUB_PD\\VID_%04X&PID_%04X", + instance_id1 = g_strdup_printf ("USB\\VID_%04X&PID_%04X&DEV_%s", GUINT16_FROM_LE (self->hdr.vid), - GUINT16_FROM_LE (self->hdr.pid)); + GUINT16_FROM_LE (self->hdr.pid), + fu_vli_common_device_kind_to_string (self->device_kind)); fu_device_add_instance_id (device, instance_id1); /* these have a backup section */