No USB Devices on Docking Station When Resuming From Suspend

Hey together,

I have an annoying problem and am poking around in the dark.

When the laptop resumes from suspend (which is probably hibernation), the external screen comes back to life, but none of the attached USB peripherals (attached to the docking station) work.

The way to go is to open the laptop first, unplug the docking station, wait for the screen to appear, unlock the OS, and plug the docking station back in. Then everything comes back.

I have tried all kinds of variations (as well as setenforce 0). It all boils down to re-plugging while unlocked.

Thank you very much for any help!

boltctl

Lenovo ThinkPad Thunderbolt 3 Dock
   ├─ type:          peripheral
   ├─ name:          ThinkPad Thunderbolt 3 Dock
   ├─ vendor:        Lenovo
   ├─ uuid:          00485118-dd2a-0801-ffff-ffffffffffff
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     c8010000-0092-9088-20ba-ac0d2072a820
   │  ├─ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  ├─ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  └─ authflags:  secure
   ├─ authorized:    Fri 29 Mar 2024 09:08:24 AM UTC
   ├─ connected:     Fri 29 Mar 2024 09:08:23 AM UTC
   └─ stored:        Wed 27 Mar 2024 04:22:58 PM UTC
      ├─ policy:     auto
      └─ key:        yes

inxi -Fzxx

System:
  Kernel: 6.7.10-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-14.fc39
  Desktop: GNOME v: 45.5 tk: GTK v: 3.24.41 wm: gnome-shell dm: GDM
    Distro: Fedora Linux 39 (Workstation Edition)
Machine:
  Type: Laptop System: LENOVO product: 20L5CTO1WW v: ThinkPad T480
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 20L5CTO1WW v: SDK0R32862 WIN
    serial: <superuser required>
    part-nu: LENOVO_MT_20L5_BU_Think_FM_ThinkPad T480 UEFI: LENOVO
    v: N24ET75W (1.50 ) date: 10/30/2023
Battery:
  ID-1: BAT0 charge: 17.7 Wh (98.3%) condition: 18.0/24.0 Wh (74.9%)
    volts: 12.6 min: 11.6 model: SANYO 01AV419 serial: <filter>
    status: not charging
  ID-2: BAT1 charge: 59.8 Wh (99.0%) condition: 60.4/71.1 Wh (84.9%)
    volts: 12.8 min: 11.2 model: LGC 01AV492 serial: <filter>
    status: not charging
CPU:
  Info: quad core model: Intel Core i7-8550U bits: 64 type: MT MCP
    arch: Coffee Lake rev: A cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
  Speed (MHz): avg: 2432 high: 2528 min/max: 400/4000 cores: 1: 2497 2: 2528
    3: 2407 4: 2412 5: 2406 6: 2400 7: 2399 8: 2413 bogomips: 31999
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Lenovo ThinkPad T480 driver: i915
    v: kernel arch: Gen-9.5 ports: active: DP-5 off: eDP-1 empty: DP-1, DP-2,
    DP-3, DP-6, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:5917
  Device-2: Bison Integrated IR Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-5:2 chip-ID: 5986:1141
  Device-3: Bison SunplusIT Integrated Camera driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-8:4 chip-ID: 5986:2113
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.4
    compositor: gnome-shell driver: X: loaded: fbdev,modesetting,vesa gpu: i915
    display-ID: 0
  Monitor-1: DP-5 model: AOC U3277WB res: 3840x2160 dpi: 140
    diag: 801mm (31.5")
  Monitor-2: eDP-1 model: AU Optronics 0x2336 res: 2560x1440 dpi: 210
    diag: 355mm (14")
  API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.6 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel UHD Graphics 620 (KBL GT2)
    device-ID: 8086:5917 display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo ThinkPad T480
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:9d71
  Device-2: Lenovo ThinkPad Thunderbolt 3 Dock USB Audio
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 bus-ID: 3-2.1.1.4:9 chip-ID: 17ef:3083
  API: ALSA v: k6.7.10-200.fc39.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
  Device-1: Intel Ethernet I219-V vendor: Lenovo ThinkPad T480 driver: e1000e
    v: kernel port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15d8
  IF: enp0s31f6 state: down mac: <filter>
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie:
    speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:24fd
  IF: wlp3s0 state: up mac: <filter>
  Device-3: Lenovo ThinkPad TBT 3 Dock driver: r8152 type: USB rev: 3.0
    speed: 5 Gb/s lanes: 1 bus-ID: 4-2.1.2:4 chip-ID: 17ef:3082
  IF: enp9s0u2u1u2 state: down mac: <filter>
  IF-ID-1: wwan0 state: down mac: N/A
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-7:3 chip-ID: 8087:0a2b
  Report: btmgmt ID: hci0 rfk-id: 12 state: up address: <filter> bt-v: 4.2
    lmp-v: 8
Drives:
  Local Storage: total: 931.51 GiB used: 118.33 GiB (12.7%)
  ID-1: /dev/nvme0n1 vendor: Lexar model: SSD NM710 1TB size: 931.51 GiB
    speed: 63.2 Gb/s lanes: 4 serial: <filter> temp: 34.9 C
Partition:
  ID-1: / size: 929.91 GiB used: 118.01 GiB (12.7%) fs: btrfs dev: /dev/dm-0
    mapped: luks-a17c252e-ab99-4508-936d-ce25228544af
  ID-2: /boot size: 973.4 MiB used: 308.8 MiB (31.7%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 19.1 MiB (3.2%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 929.91 GiB used: 118.01 GiB (12.7%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-a17c252e-ab99-4508-936d-ce25228544af
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 49.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB note: est. available: 15.38 GiB used: 8.74 GiB (56.9%)
  Processes: 404 Power: uptime: 18h 29m wakeups: 8 Init: systemd v: 254
    target: graphical (5) default: graphical
  Packages: pm: flatpak pkgs: 15 Compilers: gcc: 13.2.1 Shell: fish v: 3.7.0
    running-in: alacritty inxi: 3.3.33

P.S. Some messages from the journal:

sudo journalctl -b -xrk -p 0..4

Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot get freq at ep 0x1
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot get freq at ep 0x1
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 1:1: cannot get freq at ep 0x81
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot set freq 48000 to ep 0x1
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot set freq 48000 to ep 0x1
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot set freq 48000 to ep 0x1
Mar 29 10:48:51 hostname kernel: usb 3-2.1.1.4: 2:1: cannot set freq 48000 to ep 0x1
Mar 29 10:48:50 hostname kernel: r8152 4-2.1.2:1.0 (unnamed net_device) (uninitialized): Invalid header when reading pass-thru MAC addr
Mar 29 10:48:30 hostname kernel: pcieport 0000:05:00.0: Unable to change power state from D3hot to D0, device inaccessible
Mar 29 10:48:30 hostname kernel: pcieport 0000:05:02.0: Unable to change power state from D3hot to D0, device inaccessible
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:55 fedora kernel: iosm 0000:02:00.0: PORT open refused, phase A-ROM
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: Host not accessible, reset failed.
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: Host halt failed, -19
Mar 29 10:47:53 fedora kernel: done.
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: PM: failed to resume async: error -19
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: PM: dpm_run_callback(): pci_pm_resume+0x0/0xf0 returns -19
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: HC died; cleaning up
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: PCI post-resume error -19!
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: Controller not ready at resume -19
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: Unable to change power state from D3cold to D0, device inaccessible
Mar 29 10:47:53 fedora kernel: xhci_hcd 0000:09:00.0: Unable to change power state from D3hot to D0, device inaccessible
Mar 29 10:47:53 fedora kernel: pcieport 0000:08:04.0: Unable to change power state from unknown to D0, device inaccessible
Mar 29 10:47:53 fedora kernel: pcieport 0000:08:02.0: Unable to change power state from D3hot to D0, device inaccessible
Mar 29 10:47:53 fedora kernel: pcieport 0000:07:00.0: Unable to change power state from unknown to D0, device inaccessible

Removed audio, bluetooth, flatpak, gnome, pipewire