On Sat, 30 Jan 2021 09:30:50 +0100, Peter Allen wrote:
I have a NUX Mighty Plug guitar effects which has a USB Audio interface. Unfortunately it doesn't work in Linux, and I'd love to fix it. It gets registered with Alsa, except it ends up without any valid sample rates (by the look of it due to a buggy clock source descriptor).
This is on Ubuntu-Studio 20.04 LTS _Focal Fossa with kernel 5.4.0-62-lowlatency on a HP Omen 15 with i5-7300HQ
I don't know what I'm doing (but did a little module development rather a long time ago in the 2.2 days :-)) Help is greatly appreciated.
When plugged in I get: [12476.413792] usb 1-1: New USB device found, idVendor=1fc9, idProduct=8260, bcdDevice= 1.00 [12476.413797] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [12476.413800] usb 1-1: Product: MIGHTY PLUG USB [12476.413804] usb 1-1: Manufacturer: NUX [12476.413807] usb 1-1: SerialNumber: 2007151403 [12476.444988] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.444992] usb 1-1: parse_audio_format_rates_v2v3(): unable to find clock source (clock -22) [12476.445413] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.445479] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.447095] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.447098] usb 1-1: parse_audio_format_rates_v2v3(): unable to find clock source (clock -22) [12476.447459] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.447684] usb 1-1: __uac_clock_find_source(): selector reported illegal value, id 40, ret 0 [12476.450397] usbcore: registered new interface driver snd-usb-audio
This might be covered by the recent fixes for 5.12 kernel, found in for-next branch of my sound git tree. git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
Also, as both playback and capture streams are ASYNC, those might be supposed to be running in the implicit feedback. With the very latest kernel, this can be enabled via implicit_fb=1 module option. If this works better, we can set up a static quirk table entry for the device, too.
Takashi