FS#70636 - USB DAC no longer works with New Kernel 5.11.x
Attached to Project:
Arch Linux
Opened by Yuan Lin (lsyoyom) - Thursday, 29 April 2021, 06:22 GMT
Last edited by Toolybird (Toolybird) - Sunday, 04 June 2023, 03:49 GMT
Opened by Yuan Lin (lsyoyom) - Thursday, 29 April 2021, 06:22 GMT
Last edited by Toolybird (Toolybird) - Sunday, 04 June 2023, 03:49 GMT
|
Details
Description:
My USB DAC stopped working starting 5.11. I have tested on a few minor updates of different kernels: - "linux-zen", 5.11.1, 5.11.10, 5.11.16 - "linux", 5.11.1, 5.11.10, 5.11.16 Revert back to 5.10 works, tested on 5.10.16. I have also tried different ports on my laptop and dock as well. One thing I noticed is, when the DAC connected to laptop on 5.11.x in a power cycle, directly rebooting laptop with a 5.10.x kernel is not enough to bring the DAC back alive, I have a separately power cycle itself before it starts working again. And my dmesg of broken kernel is filled with: [ 256.696027] usb 3-1.1.1: new high-speed USB device number 7 using xhci_hcd [ 256.807013] usb 3-1.1.1: New USB device found, idVendor=2522, idProduct=0009, bcdDevice= 1.50 [ 256.807028] usb 3-1.1.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0 [ 256.807034] usb 3-1.1.1: Product: Geek Pulse X 1V5 [ 256.807037] usb 3-1.1.1: Manufacturer: LH Labs [ 261.613710] usb 3-1.1.1: 1:2 : unsupported format bits 0x100000000 [ 267.677756] usb 3-1.1.1: 1:1: usb_set_interface failed (-110) [ 267.678017] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) [ 267.678573] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) [ 267.679716] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) [ 267.680072] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) [ 267.681250] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) [ 267.681649] usb 3-1.1.1: 1:0: usb_set_interface failed (-71) .... Lots of usb_set_interface failure, it changes port if I change the DAC port. My USB devices: Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter Bus 004 Device 002: ID 0424:5537 Microchip Technology, Inc. (formerly SMSC) USB5537B Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 003: ID 0bda:4014 Realtek Semiconductor Corp. USB Audio Bus 003 Device 006: ID 0951:16d2 Kingston Technology HX-KB4BL1-US [HYPERX Alloy FPS Pro] Bus 003 Device 007: ID 2522:0009 LH Labs Geek Pulse X 1V5 Bus 003 Device 004: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub Bus 003 Device 002: ID 0424:2137 Microchip Technology, Inc. (formerly SMSC) USB2137B Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 8087:0a2b Intel Corp. Bluetooth wireless interface Bus 001 Device 003: ID 046d:c537 Logitech, Inc. Cordless Mouse Receiver Bus 001 Device 008: ID 1bcf:28b8 Sunplus Innovation Technology Inc. Integrated_Webcam_HD Bus 001 Device 007: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub And: /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/7p, 5000M |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/7p, 480M |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 1: Dev 7, If 2, Class=Application Specific Interface, Driver=, 480M |__ Port 1: Dev 7, If 0, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 5: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 5: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 5: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 5: Dev 3, If 3, Class=Audio, Driver=snd-usb-audio, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M |__ Port 4: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 6: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 6: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 10: Dev 7, If 0, Class=Application Specific Interface, Driver=, 480M |__ Port 10: Dev 7, If 1, Class=Chip/SmartCard, Driver=, 480M |__ Port 11: Dev 8, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 11: Dev 8, If 1, Class=Video, Driver=uvcvideo, 480M |
This task depends upon
Closed by Toolybird (Toolybird)
Sunday, 04 June 2023, 03:49 GMT
Reason for closing: Upstream
Additional comments about closing: Clearly an upstream issue. If still happening, please report upstream to the kernel folks.
Sunday, 04 June 2023, 03:49 GMT
Reason for closing: Upstream
Additional comments about closing: Clearly an upstream issue. If still happening, please report upstream to the kernel folks.
alsa-info.txt.ePPQd0IztM_5.10... (70.1 KiB)
~ λ dmesg
[ 1767.931355] usb 1-2.1: USB disconnect, device number 11
[ 1771.205549] usb 1-2.1: new high-speed USB device number 12 using xhci_hcd
[ 1771.302512] usb 1-2.1: New USB device found, idVendor=2522, idProduct=0009, bcdDevice= 1.50
[ 1771.302521] usb 1-2.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[ 1771.302525] usb 1-2.1: Product: Geek Pulse X 1V5
[ 1771.302528] usb 1-2.1: Manufacturer: LH Labs
[ 1776.356995] usb 1-2.1: 1:2 : unsupported format bits 0x100000000
[ 1788.090407] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1788.177530] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1789.484288] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1789.587292] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1793.820219] usb 1-2.1: 1:1: usb_set_interface failed (-110)
[ 1793.820372] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1800.899521] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1801.002298] logitech-djreceiver 0003:046D:C537.0002: Unexpected input report number 128
[ 1801.166552] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.166668] usb 1-2.1: uac_clock_source_is_valid(): cannot get clock validity for id 41
[ 1801.166670] usb 1-2.1: clock source 41 is not valid, cannot use
[ 1801.166906] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.167933] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.168051] usb 1-2.1: uac_clock_source_is_valid(): cannot get clock validity for id 41
[ 1801.168053] usb 1-2.1: clock source 41 is not valid, cannot use
[ 1801.168288] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.168984] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.169102] usb 1-2.1: uac_clock_source_is_valid(): cannot get clock validity for id 41
[ 1801.169103] usb 1-2.1: clock source 41 is not valid, cannot use
[ 1801.169342] usb 1-2.1: 1:0: usb_set_interface failed (-71)
[ 1801.170034] usb 1-2.1: 1:0: usb_set_interface failed (-71)
And the last 4 lines would flood the message log
```
USB Mixer: usb_id=0x25220009, ctrlif=0, ctlerr=0
Card: LH Labs Geek Pulse X 1V5 at usb-0000:00:14.0-2.1, high speed
Unit: 10
Control: name="Geek Pulse X 1V5 Output Playback Volume", index=1
Info: id=10, control=2, cmask=0x0, channels=1, type="S16"
Volume: min=-32512, max=0, dBmin=-12700, dBmax=0
Unit: 10
Control: name="Geek Pulse X 1V5 Output Playback Volume", index=0
Info: id=10, control=2, cmask=0x3, channels=2, type="S16"
Volume: min=-32512, max=0, dBmin=-12700, dBmax=0
Unit: 10
Control: name="Geek Pulse X 1V5 Output Playback Switch", index=1
Info: id=10, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 10
Control: name="Geek Pulse X 1V5 Output Playback Switch", index=0
Info: id=10, control=1, cmask=0x3, channels=2, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 41
Control: name="LH Labs 3X Clocks Validity", index=0
Info: id=41, control=2, cmask=0x0, channels=1, type="BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
```
Like the OP I tested LTS 5.10 for comparison, and can confirm it works there.
My journalctl has these error messages mentioned above, "clock source 41 is not valid, cannot use".
I also came across a blog post which may be helpful; https://guillaumeplayground.net/teac-ud-503-ud-501-snd-usb-audio-patch/
Looking over Github's kernel commit history, I may have identified some changes relevant to this bug report;
https://github.com/archlinux/linux/commits/master?after=2f47a9a4dfa3674fad19a49b40c5103a9a8e1589+34&branch=master&path%5B%5D=sound&path%5B%5D=usb&path%5B%5D=quirks.c
History for linux/sound/usb/quirks.c
Commits on Nov 23, 2020
v5.11-arch1
ALSA: usb-audio: Drop unneeded snd_usb_substream fields
ALSA: usb-audio: Constify audioformat pointer references
ALSA: usb-audio: Always set up the parameters after resume
ALSA: usb-audio: Simplify snd_usb_init_pitch() arguments
ALSA: usb-audio: Simplify snd_usb_init_sample_rate() arguments
ALSA: usb-audio: Pass snd_usb_audio object to quirk functions