Good day,
I am running kernel 5.4.7 on a recently acquired Lenovo Thinkpad X1
Extreme Gen 2. It has two USB-C ports which support USB-PD source and
sink, DisplayPort and USB. They also support Thunderbolt 3 which I do
not use. All ports are controlled by an Intel Corporation Cannon Lake
PCH USB 3.1 xHCI Host Controller (rev 10).
My sole USB-C device is a Dell Ultrasharp U3818DW monitor. When hooked
up over its USB-C port, it supports USB-PD source, DisplayPort and USB
hub functionality. It exposes two TI USB devices: 0451:8442 (hub) and
0451:82ff (a HID device?) along with the devices attached to its hub.
Sometimes 82ff is replaced by 82ee.
Connecting the monitor to the laptop is problematic. *Reliably*, every
3±1 minutes, the monitor disconnects and reconnects a few seconds later,
along with all devices attached to the monitor's USB hub, the monitor's
DisplayPort, and power-delivery. It doesn't matter if the DisplayPort
link is idle at the time. The kernel log shows no suspicious entries,
apart from USB disconnect/new device chatter. Curiously, I occasionally
see a new device announcement being logged before the disconnect message is.
Now when a dedicated charger is plugged into the system, it appears to
be preferred over USB-PD (the power LED blinks, indicating an attached
charger). At this point the disconnects stop. To me, this indicates a
problem with USB-PD.
Any ideas? I'd be happy to help out in making USB-PD work reliably. I
can test patches or provide additional logs. Find attached lsusb -v of
the relevant devices.
Thanks a lot!
Best regards,
- Mike
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 5.04
iManufacturer 3 Linux 5.4.7-HH xhci-hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:00:14.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x001f
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
bMaxBurst 0
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 10
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
bHubDecLat 0.0 micro seconds
wHubDelay 0 nano seconds
DeviceRemovable 0x00 0x00
Hub Port Status:
Port 1: 0000.02a0 lowspeed L1
Port 2: 0000.02a0 lowspeed L1
Port 3: 0000.02a0 lowspeed L1
Port 4: 0000.02a0 lowspeed L1
Port 5: 0000.02a0 lowspeed L1
Port 6: 0000.02a0 lowspeed L1
Port 7: 0000.02a0 lowspeed L1
Port 8: 0000.02a0 lowspeed L1
Port 9: 0000.02a0 lowspeed L1
Port 10: 0000.02a0 lowspeed L1
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x005b
bNumDeviceCaps 2
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x0008
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 918 micro seconds
SuperSpeedPlus USB Device Capability:
bLength 76
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x000000ef
Sublink Speed Attribute count 15
Sublink Speed ID count 7
wFunctionalitySupport 0x0001
bmSublinkSpeedAttr[0] 0x00050034
Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[1] 0x000500b4
Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[2] 0x000a4035
Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
bmSublinkSpeedAttr[3] 0x000a40b5
Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus
bmSublinkSpeedAttr[4] 0x04e00026
Speed Attribute ID: 6 1248Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[5] 0x04e000a6
Speed Attribute ID: 6 1248Mb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[6] 0x09c00027
Speed Attribute ID: 7 2496Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[7] 0x09c000a7
Speed Attribute ID: 7 2496Mb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[8] 0x13800028
Speed Attribute ID: 8 4992Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[9] 0x138000a8
Speed Attribute ID: 8 4992Mb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[10] 0x05b10029
Speed Attribute ID: 9 1457Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[11] 0x05b100a9
Speed Attribute ID: 9 1457Mb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[12] 0x0b63002a
Speed Attribute ID: 10 2915Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[13] 0x0b6300aa
Speed Attribute ID: 10 2915Mb/s Symmetric TX SuperSpeed
bmSublinkSpeedAttr[14] 0x16c6002b
Speed Attribute ID: 11 5830Mb/s Symmetric RX SuperSpeed
bmSublinkSpeedAttr[15] 0x16c600ab
Speed Attribute ID: 11 5830Mb/s Symmetric TX SuperSpeed
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
Bus 001 Device 097: ID 0451:82ff Texas Instruments, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.01
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0451 Texas Instruments, Inc.
idProduct 0x82ff
bcdDevice 1.00
iManufacturer 0
iProduct 0
iSerial 1 F70C0051CC9D
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0022
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 49
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0020
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
BESL Link Power Management (LPM) Supported
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {1a410000-8a04-4c74-d216-27c2b6c9d000}
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
Bus 001 Device 094: ID 0451:8442 Texas Instruments, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 2 TT per port
bMaxPacketSize0 64
idVendor 0x0451 Texas Instruments, Inc.
idProduct 0x8442
bcdDevice 1.00
iManufacturer 0
iProduct 0
iSerial 1 F70C0051CC9D
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0029
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 1 Single TT
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 2 TT per port
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 6
wHubCharacteristic 0x000d
Per-port power switching
Compound device
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x60
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0303 lowspeed power enable connect
Port 2: 0000.0103 power enable connect
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Port 5: 0000.0503 highspeed power enable connect
Port 6: 0000.0100 power
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x002a
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
BESL Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 10 micro seconds
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {1a410000-8a04-4c74-d216-27c2b6c9d000}
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered