All of lore.kernel.org
 help / color / mirror / Atom feed
* Very frequent disconnects over USB type-C when using power delivery
@ 2020-01-13 12:51 Mike Murdoch
  0 siblings, 0 replies; only message in thread
From: Mike Murdoch @ 2020-01-13 12:51 UTC (permalink / raw)
  To: linux-usb

[-- 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-13 12:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-13 12:51 Very frequent disconnects over USB type-C when using power delivery Mike Murdoch

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.