You are not logged in.

#1 2021-05-01 22:20:21

dawid.loubser
Member
Registered: 2012-08-09
Posts: 23

[Solved]USB Audio Device only visible after reboot - unable to hotplug

I am experiencing strange behaviour, where the only time that my external USB Audio Device (a Cambridge Audio CA CXA80 1.0) is visible, is if it's already plugged-in and powered on when booting into linux.
When plugged-in before powering up my Thinkpad T495s laptop, and then logging in, I see the device:

$ lsusb
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 005: ID 06cb:00bd Synaptics, Inc. Prometheus MIS Touch Fingerprint Reader
Bus 004 Device 004: ID 04ca:7070 Lite-On Technology Corp. Integrated Camera
Bus 004 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 004 Device 002: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 22e8:170a Cambridge Audio CA CXA80 1.0
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Usage as pulseaudio device works as expected. If I unplug my device, it's absent as expected:

$ lsusb
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 005: ID 06cb:00bd Synaptics, Inc. Prometheus MIS Touch Fingerprint Reader
Bus 004 Device 004: ID 04ca:7070 Lite-On Technology Corp. Integrated Camera
Bus 004 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 004 Device 002: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Problem is, if I plug my device back in, it never reappears until I reboot linux:

$ lsusb
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 005: ID 06cb:00bd Synaptics, Inc. Prometheus MIS Touch Fingerprint Reader
Bus 004 Device 004: ID 04ca:7070 Lite-On Technology Corp. Integrated Camera
Bus 004 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 004 Device 002: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Note: Yes, I do run TLP, but the device is properly blacklisted from USB autosuspend, and to prove that it's not an issue, if I disable TLP completely and reboot, the behaviour is exactly the same.
Another note: I was running on Pipewire, which works beautifully in all other respects. I did think it was the culprit, and removed all traces of pipewire / installed pulseaudio  - but no change.

How do I debug this? Here is some output from dmesg - you can see when it originally picks up the device, and the final line (upon disconnect) but when I plug it in again, there is no further dmesg output regarding USB at all:

$ sudo dmesg | grep -i usb
[    0.005273] ACPI: SSDT 0x00000000BA158000 000D2D (v01 LENOVO UsbCTabl 00000001 INTL 20120711)
[    0.326078] ACPI: bus type USB registered
[    0.326078] usbcore: registered new interface driver usbfs
[    0.326078] usbcore: registered new interface driver hub
[    0.326078] usbcore: registered new device driver usb
[    0.551805] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.552554] ehci-pci 0000:03:00.4: new USB bus registered, assigned bus number 1
[    0.564904] ehci-pci 0000:03:00.4: USB 0.0 started, EHCI 1.00
[    0.564954] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    0.564956] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.564958] usb usb1: Product: EHCI Host Controller
[    0.564959] usb usb1: Manufacturer: Linux 5.11.16-arch1-1 ehci_hcd
[    0.564961] usb usb1: SerialNumber: 0000:03:00.4
[    0.565115] hub 1-0:1.0: USB hub found
[    0.565218] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.565231] uhci_hcd: USB Universal Host Controller Interface driver
[    0.565271] usbcore: registered new interface driver usbserial_generic
[    0.565275] usbserial: USB Serial support registered for generic
[    0.831791] xhci_hcd 0000:05:00.3: new USB bus registered, assigned bus number 2
[    0.833505] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    0.833511] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.833514] usb usb2: Product: xHCI Host Controller
[    0.833516] usb usb2: Manufacturer: Linux 5.11.16-arch1-1 xhci-hcd
[    0.833518] usb usb2: SerialNumber: 0000:05:00.3
[    0.833762] hub 2-0:1.0: USB hub found
[    0.834313] xhci_hcd 0000:05:00.3: new USB bus registered, assigned bus number 3
[    0.834318] xhci_hcd 0000:05:00.3: Host supports USB 3.1 Enhanced SuperSpeed
[    0.834358] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.834409] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.11
[    0.834412] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.834414] usb usb3: Product: xHCI Host Controller
[    0.834415] usb usb3: Manufacturer: Linux 5.11.16-arch1-1 xhci-hcd
[    0.834417] usb usb3: SerialNumber: 0000:05:00.3
[    0.834575] hub 3-0:1.0: USB hub found
[    0.835435] xhci_hcd 0000:05:00.4: new USB bus registered, assigned bus number 4
[    0.836438] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    0.836443] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.836446] usb usb4: Product: xHCI Host Controller
[    0.836448] usb usb4: Manufacturer: Linux 5.11.16-arch1-1 xhci-hcd
[    0.836450] usb usb4: SerialNumber: 0000:05:00.4
[    0.836870] hub 4-0:1.0: USB hub found
[    0.837264] xhci_hcd 0000:05:00.4: new USB bus registered, assigned bus number 5
[    0.837269] xhci_hcd 0000:05:00.4: Host supports USB 3.1 Enhanced SuperSpeed
[    0.837336] usb usb5: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.837371] usb usb5: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.11
[    0.837375] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.837377] usb usb5: Product: xHCI Host Controller
[    0.837379] usb usb5: Manufacturer: Linux 5.11.16-arch1-1 xhci-hcd
[    0.837381] usb usb5: SerialNumber: 0000:05:00.4
[    0.837538] hub 5-0:1.0: USB hub found
[    1.164161] usb 4-1: new full-speed USB device number 2 using xhci_hcd
[    1.164197] usb 2-2: new full-speed USB device number 2 using xhci_hcd
[    1.308437] usb 2-2: not running at top speed; connect to a high speed hub
[    1.312488] usb 2-2: unable to read config index 0 descriptor/start: -71
[    1.312558] usb 2-2: can't read configurations, error -71
[    1.317580] usb 4-1: New USB device found, idVendor=8087, idProduct=0025, bcdDevice= 0.02
[    1.317592] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.434145] usb 2-2: new full-speed USB device number 3 using xhci_hcd
[    1.447481] usb 4-2: new high-speed USB device number 3 using xhci_hcd
[    1.578974] usb 2-2: not running at top speed; connect to a high speed hub
[    1.589170] usb 4-2: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=60.52
[    1.589181] usb 4-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.589184] usb 4-2: Product: USB2.0 Hub
[    1.593481] usb 2-2: New USB device found, idVendor=22e8, idProduct=170a, bcdDevice= 1.09
[    1.593493] usb 2-2: New USB device strings: Mfr=1, Product=8, SerialNumber=0
[    1.593498] usb 2-2: Product: CA CXA80 1.0
[    1.593501] usb 2-2: Manufacturer: CA
[    1.595826] usb 2-2: can't set config #1, error -32
[    1.638304] hub 4-2:1.0: USB hub found
[    1.987490] usb 4-2.1: new high-speed USB device number 4 using xhci_hcd
[    2.090454] usb 4-2.1: New USB device found, idVendor=04ca, idProduct=7070, bcdDevice= 0.25
[    2.090466] usb 4-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.090470] usb 4-2.1: Product: Integrated Camera
[    2.090474] usb 4-2.1: Manufacturer: SunplusIT Inc
[    2.224141] usb 4-2.4: new full-speed USB device number 5 using xhci_hcd
[    2.330794] usb 4-2.4: New USB device found, idVendor=06cb, idProduct=00bd, bcdDevice= 0.00
[    2.330806] usb 4-2.4: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[    2.330810] usb 4-2.4: SerialNumber: 36d46e182126
[   20.364023] usbcore: registered new interface driver btusb
[   20.865289] input: Integrated Camera: Integrated C as /devices/pci0000:00/0000:00:08.1/0000:05:00.4/usb4/4-2/4-2.1/4-2.1:1.0/input/input98
[   20.865394] usbcore: registered new interface driver uvcvideo
[   20.865397] USB Video Class driver (1.1.1)
[  301.613153] usb 2-2: USB disconnect, device number 3

Last edited by dawid.loubser (2021-05-02 07:40:41)

Offline

#2 2021-05-02 03:14:37

Tesla23
Member
Registered: 2015-09-17
Posts: 10

Re: [Solved]USB Audio Device only visible after reboot - unable to hotplug

Have you tried hot plugging other USB devices to see if it's specific to that device?

Offline

#3 2021-05-02 07:39:14

dawid.loubser
Member
Registered: 2012-08-09
Posts: 23

Re: [Solved]USB Audio Device only visible after reboot - unable to hotplug

Update: I've figured out what's going on here.
This is TLP blocking the USB controller(s) on my laptop at boot time.
So even though I stop the TLP service during my experiments, it had already done so at boot time.

The solution was to use lspci to locate my USB controllers:

$ lspci | grep USB
03:00.4 USB controller: Realtek Semiconductor Co., Ltd. Device 816d (rev 0e)
05:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1
05:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1

And add their bus IDs to RUNTIME_PM_BLACKLIST in /etc/tlp.conf

My USB devices hotplug just fine now. So, this turned out to be a TLP default-configuration issue.

Offline

Board footer

Powered by FluxBB