Reconnecting a USB-C Monitor fails

I encountered an interesetting bug in new Manajaro Kernel Versions.

I am using a Notebook and an external USB-C monitor. THis Lenovo Monitor works if connected at boot time. If I reconnect it later, it will not be detected, means it stays dark. (The internal HUB does get deteckted).

I am seeing the device in the lsusb:

sudo lsusb -vd 17ef:a361

Bus 001 Device 024: ID 17ef:a361 Lenovo BillBoard Device
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.01
  bDeviceClass           17 Billboard
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x17ef Lenovo
  idProduct          0xa361 BillBoard Device
  bcdDevice            3.00
  iManufacturer          17 Realtek
  iProduct               18 BillBoard Device
  iSerial                19 123456789ABCDEFGH
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0012
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration         18 BillBoard Device
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        17 Billboard
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0 
      iInterface             18 BillBoard Device
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0062
  bNumDeviceCaps          5
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000000
      (Missing must-be-set LPM bit!)
  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        1023 micro seconds
  Container ID Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType      4
    bReserved               0
    ContainerID             {00000000000000000000000000000000}
  Billboard Capability:
    bLength                    48
    bDescriptorType            16
    bDevCapabilityType         13
    iAdditionalInfoURL          1 Generic
    bNumberOfAlternateModes     1
    bPreferredAlternateMode     0
    VCONN Power                 0 1W
    bmConfigured                03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    bcdVersion               1.21
    bAdditionalFailureInfo      0
    bReserved                   0
    Alternate Modes supported by Device Container:
    Alternate Mode 0 : Alternate Mode configuration successful
      wSVID[0]                    0xFF01
      bAlternateMode[0]           1
      iAlternateModeString[0]     1 Generic
  Billboard Alternate Mode Capability:
    bLength                     8
    bDescriptorType            16
    bDevCapabilityType         15
    bIndex                      0
    dwAlternateModeVdo          0x45000400
Device Status:     0x0001
  Self Powered

and I can see some issues whilst reconnecting: (from journalctl -fk)

Apr 14 17:04:40 florian-manjaro kernel: INFO: task kworker/15:0:111 blocked for more than 614 seconds.
Apr 14 17:04:40 florian-manjaro kernel:       Tainted: G           OE      6.6.26-1-MANJARO #1
Apr 14 17:04:40 florian-manjaro kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 14 17:04:40 florian-manjaro kernel: task:kworker/15:0    state:D stack:0     pid:111   ppid:2      flags:0x00004000
Apr 14 17:04:40 florian-manjaro kernel: Workqueue: events_long drm_dp_mst_link_probe_work [drm_display_helper]
Apr 14 17:04:40 florian-manjaro kernel: Call Trace:
Apr 14 17:04:40 florian-manjaro kernel:  <TASK>
Apr 14 17:04:40 florian-manjaro kernel:  __schedule+0x3e7/0x1410
Apr 14 17:04:40 florian-manjaro kernel:  schedule+0x5e/0xd0
Apr 14 17:04:40 florian-manjaro kernel:  rpm_resume+0x1ba/0x7b0
Apr 14 17:04:40 florian-manjaro kernel:  ? __pfx_autoremove_wake_function+0x10/0x10
Apr 14 17:04:40 florian-manjaro kernel:  __pm_runtime_resume+0x4b/0x80
Apr 14 17:04:40 florian-manjaro kernel:  __device_attach+0x9d/0x1b0
Apr 14 17:04:40 florian-manjaro kernel:  bus_probe_device+0x8d/0xa0
Apr 14 17:04:40 florian-manjaro kernel:  device_add+0x698/0x8a0
Apr 14 17:04:40 florian-manjaro kernel:  i2c_register_adapter+0x10a/0x770
Apr 14 17:04:40 florian-manjaro kernel:  drm_dp_port_set_pdt+0x187/0x360 [drm_display_helper a94c02d281acd1f0461f39f47f0beff7b92935d1]
Apr 14 17:04:40 florian-manjaro kernel:  drm_dp_send_link_address+0x261/0xad0 [drm_display_helper a94c02d281acd1f0461f39f47f0beff7b92935d1]
Apr 14 17:04:40 florian-manjaro kernel:  ? srso_alias_return_thunk+0x5/0xfbef5
Apr 14 17:04:40 florian-manjaro kernel:  ? queue_work_on+0x3b/0x50
Apr 14 17:04:40 florian-manjaro kernel:  ? srso_alias_return_thunk+0x5/0xfbef5
Apr 14 17:04:40 florian-manjaro kernel:  drm_dp_check_and_send_link_address+0x7a/0xa0 [drm_display_helper a94c02d281acd1f0461f39f47f0beff7b92935d1]
Apr 14 17:04:40 florian-manjaro kernel:  drm_dp_mst_link_probe_work+0x125/0x1a0 [drm_display_helper a94c02d281acd1f0461f39f47f0beff7b92935d1]
Apr 14 17:04:40 florian-manjaro kernel:  process_one_work+0x174/0x340
Apr 14 17:04:40 florian-manjaro kernel:  worker_thread+0x27b/0x3a0
Apr 14 17:04:40 florian-manjaro kernel:  ? __pfx_worker_thread+0x10/0x10
Apr 14 17:04:40 florian-manjaro kernel:  kthread+0xe8/0x120
Apr 14 17:04:40 florian-manjaro kernel:  ? __pfx_kthread+0x10/0x10
Apr 14 17:04:40 florian-manjaro kernel:  ret_from_fork+0x34/0x50
Apr 14 17:04:40 florian-manjaro kernel:  ? __pfx_kthread+0x10/0x10
Apr 14 17:04:40 florian-manjaro kernel:  ret_from_fork_asm+0x1b/0x30
Apr 14 17:04:40 florian-manjaro kernel:  </TASK>
Apr 14 17:04:40 florian-manjaro kernel: INFO: task kworker/15:2:1572 blocked for more than 614 seconds.
Apr 14 17:04:40 florian-manjaro kernel:       Tainted: G           OE      6.6.26-1-MANJARO #1
Apr 14 17:04:40 florian-manjaro kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

Observed with the Kernels: 6.8.5-1 and 6.6.26-1 LTS

Would really appreciate some advice :slight_smile:

Kernel 6.8.x has issues recently; it might be best to avoid that one.

Cheers.

Hi there! Thank you for your answer.

Problem is I don’t know which drivers I would need to target. Could you shed some light here ?

It looks like part of my last response was intended for another post. It can happen sometimes in the wee hours. The note about kernel 6.8.x still stands, however. Cheers.

Happens to the best of us :slight_smile:

But indeed gave me an idea to look into the mesa package. Pulled the unstable version and it seems to circumvent my issue :slight_smile:

1 Like