USB devices inoperable randomly

This has been a recurring issue for me for several kernel updates and possibly since 6.8 F40 in general, hence why I ended up here today after a web search. What I assumed solved it

sudo grubby --update-kernel=ALL --args="usbcore.autosuspend=-1"

does not work anymore and quite possibly was a placebo affect.

Same situation with no logged errors and it has become a daily morning routine to replug my keyboard and mouse from the TB18 dock and a few times mid usage.

1 Like

Been running 6.7.0-68.fc40.x86_64 from koji without issues for the past days as well. I suppose we’d need to git bisect to find the breakage.

1 Like

I’m not using any logitech devices. It’s rather the dock and thunderbolt that’s the issue. I’ve been running 6.7 kernel but unfortunately it’s not a silver bullet because the loss of usb devices has happened twice on wake up but never mid usage. Thankfully, it’s not a daily occurrence as recent kernels or happens mid usage.

Where the issues lies is the million dollar question… it’s likely a race condition between the driver and firmware.

PS. still using usbcore.autosuspend=-1 kernel param

> lsusb
...
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
Bus 005 Device 005: ID 045e:0047 Microsoft Corp. IntelliMouse Explorer 3.0
Bus 005 Device 054: ID 0603:0351 Novatek Microelectronics Corp. lucky65
...
> lsusb -t
/:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/7p, 480M
        |__ Port 004: Dev 054, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 004: Dev 054, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 004: Dev 054, If 2, Class=Human Interface Device, Driver=usbhid, 12M
...
        |__ Port 006: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
> sudo lsusb -v -s 5:1

Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            6.07
  iManufacturer           3 Linux 6.7.0-68.fc40.x86_64 xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:3f:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    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 [unknown]
      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
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0100 power
Device Status:     0x0001
  Self Powered
> sudo lspci -v -s 0000:3f:00.0
3f:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller (prog-if 30 [XHCI])
	Subsystem: Dell Device b054
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at 98000000 (64-bit, non-prefetchable) [size=32K]
	Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
	Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
	Capabilities: [78] Power Management version 3
	Capabilities: [80] Express Legacy Endpoint, IntMsgNum 0
	Capabilities: [100] Virtual Channel
	Kernel driver in use: xhci_hcd

No problem, wasn’t trying to hijack the thread, just giving insight that it’s likely a broader issue. I’ll debug the issue on my own and I’d suggest @carlos-roque to also run lsusb, lspci, and boltctl to pinpoint the drivers in use along the chain.

1 Like

lsusb before and after look the same
before

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0c45:6732 Microdia Integrated_Webcam_HD
Bus 001 Device 003: ID 27c6:63ac Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 001 Device 004: ID 8087:0033 Intel Corp. AX211 Bluetooth
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 002: ID 0424:2807 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 007 Device 004: ID 0bda:4014 Realtek Semiconductor Corp. USB Audio
Bus 007 Device 005: ID 046d:085c Logitech, Inc. C922 Pro Stream Webcam
Bus 007 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 002: ID 0424:5807 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 008 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter

same for lspci

0000:00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c)
0000:00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02)
0000:00:06.0 System peripheral: Intel Corporation RST VMD Managed Controller
0000:00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02)
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
0000:00:12.0 Serial controller: Intel Corporation Alder Lake-P Integrated Sensor Hub (rev 01)
0000:00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
0000:00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
0000:00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
0000:00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
0000:00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
0000:00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-P PCH PCIe Root Port #4 (rev 01)
0000:00:1c.4 PCI bridge: Intel Corporation Device 51bc (rev 01)
0000:00:1d.0 PCI bridge: Intel Corporation Alder Lake PCI Express Root Port #9 (rev 01)
0000:00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
0000:00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
0000:00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
0000:00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA104GLM [RTX A3000 Laptop GPU] (rev a1)
0000:01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)
0000:02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01)
0000:03:00.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:04:00.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:04:01.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:04:02.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:04:03.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:05:00.0 USB controller: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020]
0000:39:00.0 USB controller: Intel Corporation Thunderbolt 4 USB Controller [Maple Ridge 4C 2020]
0000:6d:00.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:6e:00.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:6e:01.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:6e:02.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:6e:03.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)
0000:6f:00.0 USB controller: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020]
0000:a3:00.0 USB controller: Intel Corporation Thunderbolt 4 USB Controller [Maple Ridge 4C 2020]
0000:a4:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a5:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a5:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a7:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a8:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a8:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0000:a9:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
10000:e0:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
10000:e1:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO

and boltctl had no change either

● Dell Thunderbolt Cable
   β”œβ”€ type:          peripheral
   β”œβ”€ name:          Dell Thunderbolt Cable
   β”œβ”€ vendor:        Dell
   β”œβ”€ uuid:          002f1168-9371-d400-ffff-ffffffffffff
   β”œβ”€ generation:    Thunderbolt 3
   β”œβ”€ status:        authorized
   β”‚  β”œβ”€ domain:     2dd38780-0050-522c-ffff-ffffffffffff
   β”‚  β”œβ”€ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  β”œβ”€ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  └─ authflags:  boot
   β”œβ”€ authorized:    Tue 24 Sep 2024 01:51:29 PM UTC
   β”œβ”€ connected:     Tue 24 Sep 2024 01:51:29 PM UTC
   └─ stored:        Wed 04 Sep 2024 03:20:57 PM UTC
      β”œβ”€ policy:     iommu
      └─ key:        no

 ● Dell Thunderbolt Dock
   β”œβ”€ type:          peripheral
   β”œβ”€ name:          Dell Thunderbolt Dock
   β”œβ”€ vendor:        Dell
   β”œβ”€ uuid:          001769cd-c351-d400-ffff-ffffffffffff
   β”œβ”€ generation:    Thunderbolt 3
   β”œβ”€ status:        authorized
   β”‚  β”œβ”€ domain:     2dd38780-0050-522c-ffff-ffffffffffff
   β”‚  β”œβ”€ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  β”œβ”€ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  └─ authflags:  boot
   β”œβ”€ authorized:    Tue 24 Sep 2024 01:51:29 PM UTC
   β”œβ”€ connected:     Tue 24 Sep 2024 01:51:29 PM UTC
   └─ stored:        Wed 04 Sep 2024 03:20:57 PM UTC
      β”œβ”€ policy:     iommu
      └─ key:        no

I removed your Issue from the other topic, that we can focus on them separately. Link see on the top of your request.

You might have to edit your top request that we better can understand where we have to go deeper to find for your problem a solution.

A good start would be to give more information about your setup. A good start-point would be here Start Here