On Thu, 25 Aug 2022 22:52:02 +0200, Lennert Van Alboom wrote:
------- Original Message ------- On Thursday, August 25th, 2022 at 12:58, Takashi Iwai tiwai@suse.de wrote:
There are lots of workarounds for the buggy USB audio firmware, and the latest kernel allows to enable the quirks via quirk_flags module option of snd-usb-audio driver. See Documentation/sound/alsa-configuration.rst. You can try the bit 16 at first, for example.
Takashi
Thanks. I tried fiddling around with it for a bit but so far limited success. I wasn't sure about the arguments or counting order of quirk_flags (some tidbits show it as hex, others as an array of booleans (?)) so tried a few different things. I have no other USB audio devices so didn't see a need to specify vendor or product ID while testing.
# modprobe snd_usb_audio quirk_flags=0x10000 # modprobe snd_usb_audio quirk_flags=0x1 # modprobe snd_usb_audio quirk_flags=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
No success with any, so far. Is there a way to make the process more verbose? I can see from the lights on the DAC that the initialisation works differently if I mess with the different quirks but that's not visible in syslog or outcome.
This option is passed per card instance, as the driver may hold multiple cards. Check your /proc/asound/cards. The first argument of quirk_flags is applied to the first USB-audio card, the second to the second USB audio device, and so on.
At best, give alsa-info.sh output before and after applying the quirk. Run the script with --no-upload option and attach the outputs.
And, as a reference, you can see the existing quirk tables in sound/usb/quirks.c.
Takashi