From: Mike Murdoch <main.haarp@gmail.com>
To: linux-usb@vger.kernel.org
Subject: Very frequent disconnects over USB type-C when using power delivery
Date: Mon, 13 Jan 2020 13:51:55 +0100 [thread overview]
Message-ID: <f77ca3a9-e026-90cc-0667-1384f2db7fed@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1612 bytes --]
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
[-- Attachment #2: usbdev.txt --]
[-- Type: text/plain, Size: 11546 bytes --]
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
reply other threads:[~2020-01-13 12:52 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f77ca3a9-e026-90cc-0667-1384f2db7fed@gmail.com \
--to=main.haarp@gmail.com \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.