From af3b91d4904fc539e4d207dbe014a715c340913b Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Mon, 10 Feb 2020 21:09:43 +0000 Subject: [PATCH] Set up more parent devices for various Lenovo USB hubs --- .../synaptics-cxaudio/synaptics-cxaudio.quirk | 3 +++ plugins/synaptics-mst/synaptics-mst.quirk | 10 +++++---- plugins/vli/vli-usbhub-lenovo.quirk | 22 +++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/plugins/synaptics-cxaudio/synaptics-cxaudio.quirk b/plugins/synaptics-cxaudio/synaptics-cxaudio.quirk index fedadbf2a..0aa9ec84d 100644 --- a/plugins/synaptics-cxaudio/synaptics-cxaudio.quirk +++ b/plugins/synaptics-cxaudio/synaptics-cxaudio.quirk @@ -1,14 +1,17 @@ # ThinkPad TBT3-TR Gen 2 dock [DeviceInstanceId=USB\VID_17EF&PID_3083] Guid = SYNAPTICS_CXAUDIO\CX2098X +ParentGuid = TBT-01081720 # ThinkPad TBT3-MS Gen 2 dock [DeviceInstanceId=USB\VID_17EF&PID_3092] Guid = SYNAPTICS_CXAUDIO\CX2198X +ParentGuid = USB\VID_17EF&PID_308F # ThinkPad USB-C Dock Gen2 Audio [DeviceInstanceId=USB\VID_17EF&PID_A396] Guid = SYNAPTICS_CXAUDIO\CX2198X +ParentGuid = USB\VID_17EF&PID_1039 # Google Pixel USB-C headphones [DeviceInstanceId=USB\VID_18D1&PID_5033] diff --git a/plugins/synaptics-mst/synaptics-mst.quirk b/plugins/synaptics-mst/synaptics-mst.quirk index a27403049..2f3fba836 100644 --- a/plugins/synaptics-mst/synaptics-mst.quirk +++ b/plugins/synaptics-mst/synaptics-mst.quirk @@ -42,11 +42,13 @@ DeviceKind = system [SynapticsMSTBoardID=259] Name = Dell dock -[SynapticsMSTBoardID=513] -Name = ThinkPad Workstation Dock +# ThinkPad Workstation Dock +[DeviceInstanceId=MST-tesla-vmm2322-513] +ParentGuid = TBT-01081720 -[SynapticsMSTBoardID=595] -Name = ThinkPad Thunderbolt 3 Workstation Dock +# ThinkPad Thunderbolt 3 Workstation Dock +[DeviceInstanceId=MST-panamera-vmm5322-595] +ParentGuid = USB\VID_17EF&PID_305A [SynapticsMSTBoardID=596] Name = ThinkPad USB-C Dock Gen2 diff --git a/plugins/vli/vli-usbhub-lenovo.quirk b/plugins/vli/vli-usbhub-lenovo.quirk index 942776b0c..e5b741130 100644 --- a/plugins/vli/vli-usbhub-lenovo.quirk +++ b/plugins/vli/vli-usbhub-lenovo.quirk @@ -3,10 +3,14 @@ Plugin = vli GType = FuVliUsbhubDevice Flags = usb3 +[DeviceInstanceId=USB\VID_17EF&PID_3072&HUB_0002] +ParentGuid = USB\VID_17EF&PID_3072&HUB_0006 [DeviceInstanceId=USB\VID_17EF&PID_3071] Plugin = vli GType = FuVliUsbhubDevice Flags = usb2 +[DeviceInstanceId=USB\VID_17EF&PID_3071&HUB_0006] +ParentGuid = USB\VID_17EF&PID_3071&HUB_0002 # Lenovo CS18 Pro and Basic Dock [DeviceInstanceId=USB\VID_17EF&PID_3072] @@ -17,16 +21,26 @@ Flags = usb3 Plugin = vli GType = FuVliUsbhubDevice Flags = usb2 +[DeviceInstanceId=USB\VID_17EF&PID_3073&HUB_0002] +ParentGuid = USB\VID_17EF&PID_3073&HUB_0006 # Lenovo TR Dock +[DeviceInstanceId=USB\VID_17EF&PID_307F&HUB_0006] +ParentGuid = TBT-01081720 [DeviceInstanceId=USB\VID_17EF&PID_307F] Plugin = vli GType = FuVliUsbhubDevice Flags = usb3,has-shared-spi-i2c +[DeviceInstanceId=USB\VID_17EF&PID_307F&HUB_0002] +ParentGuid = USB\VID_17EF&PID_307F&HUB_0006 [DeviceInstanceId=USB\VID_17EF&PID_3080] Plugin = vli GType = FuVliUsbhubDevice Flags = usb2,has-shared-spi-i2c +[DeviceInstanceId=USB\VID_17EF&PID_3080&HUB_20] +ParentGuid = USB\VID_17EF&PID_3080&HUB_06 +[DeviceInstanceId=USB\VID_17EF&PID_3080&HUB_06] +ParentGuid = TBT-01081720 # Lenovo CS13 KG Dock [DeviceInstanceId=USB\VID_17EF&PID_1010] @@ -55,6 +69,7 @@ Flags = usb2,usb3 Plugin = vli GType = FuVliUsbhubDevice Flags = usb2,usb3 +ParentGuid = USB\VID_17EF&PID_305A # Lenovo USB3 Ultra Dock [DeviceInstanceId=USB\VID_17EF&PID_1014] @@ -65,6 +80,7 @@ Flags = usb2,usb3 Plugin = vli GType = FuVliUsbhubDevice Flags = usb2,usb3 +ParentGuid = USB\VID_17EF&PID_1014 # Lenovo USB3 Pro Dock [DeviceInstanceId=USB\VID_17EF&PID_1016] @@ -75,6 +91,7 @@ Flags = usb2,usb3 Plugin = vli GType = FuVliUsbhubDevice Flags = usb2,usb3 +ParentGuid = USB\VID_17EF&PID_1016 # Lenovo Workstation D40 [DeviceInstanceId=USB\VID_17EF&PID_1033] @@ -103,6 +120,7 @@ Flags = usb2,usb3 Plugin = vli GType = FuVliUsbhubDevice Flags = usb2,usb3 +ParentGuid = USB\VID_17EF&PID_1018 # Lenovo Hybrid dock [DeviceInstanceId=USB\VID_17EF&PID_A356] @@ -117,10 +135,12 @@ Flags = usb2 Plugin = vli GType = FuVliUsbhubDevice Flags = usb3 +ParentGuid = USB\VID_17EF&PID_A356 [DeviceInstanceId=USB\VID_17EF&PID_1029] Plugin = vli GType = FuVliUsbhubDevice Flags = usb2 +ParentGuid = USB\VID_17EF&PID_1028 # Lenovo Travel hub [DeviceInstanceId=USB\VID_17EF&PID_7216] @@ -195,10 +215,12 @@ Flags = usb2 Plugin = vli GType = FuVliUsbhubDevice Flags = usb3 +ParentGuid = USB\VID_17EF&PID_A391 [DeviceInstanceId=USB\VID_17EF&PID_A394] Plugin = vli GType = FuVliUsbhubDevice Flags = usb2 +ParentGuid = USB\VID_17EF&PID_A392 [DeviceInstanceId=USB\VID_17EF&PID_A395] Plugin = vli GType = FuVliUsbhubDevice