[alsa-devel] BUG: Edirol UA-1000 failed parsing interface
Hello,
I have a Edirol UA-1000 that is supported by Linux using the snd-ua101 module.
I have some problems using this card with recent kernel (no mixer for PCM like Master Control)
I have tracked the problem. I found the origin of the problem but I haven't found the solution to correct it.
Some information : Ubuntu 14.04 in 32 bit with a 3.17-rc7 kernel (but 3.13 has also the problem)
The lsusb -v of my sound card: http://pastebin.com/CRDXa5w0
The "cat /sys/kernel/debug/usb/devices" for my sound card : http://pastebin.com/j4ab9ekZ
So I found that the problem is in the quirk.c In the function create_auto_pcm_quirk() There is a check : /* * Most Roland/Yamaha audio streaming interfaces have more or less * standard descriptors, but older devices might lack descriptors, and * future ones might change, so ensure that we fail silently if the * interface doesn't look exactly right. */
/* must have a non-zero altsetting for streaming */ if (iface->num_altsetting < 2) return -ENODEV;
And the iface->num_altsetting value for my card is 1. So The function return an ENODEV. So the caller function snd_usb_audio_probe return an -EIO
In dmesg:
[ 2747.573923] snd-usb-audio: probe of 2-1.3:1.0 failed with error -5 [ 2747.574296] snd-usb-audio: probe of 2-1.3:1.1 failed with error -5 [ 2747.574668] snd-usb-audio: probe of 2-1.3:1.2 failed with error -5 [ 2747.575040] snd-usb-audio: probe of 2-1.3:1.3 failed with error -5
So no control for PCM only for MIDI # amixer controls numid=1,iface=MIXER,name='MIDI Input Mode'
The function create_auto_pcm_quirk() come the first time in 3.10 for Yamaha and Roland (Edirol is a Roland) card quirk. This is perhaps the date of the begining of my problem.
I can test any patch....
Thank you, Olivier
Hi,
On 10/04/2014 06:55 PM, shal@free.fr wrote:
I have a Edirol UA-1000 that is supported by Linux using the snd-ua101 module.
...
The "cat /sys/kernel/debug/usb/devices" for my sound card : http://pastebin.com/j4ab9ekZ
Shows:
P: Vendor=0582 ProdID=0044 Rev= 1.07
So I found that the problem is in the quirk.c In the function create_auto_pcm_quirk() There is a check : /* * Most Roland/Yamaha audio streaming interfaces have more or less * standard descriptors, but older devices might lack descriptors, and * future ones might change, so ensure that we fail silently if the * interface doesn't look exactly right. */
/* must have a non-zero altsetting for streaming */ if (iface->num_altsetting < 2) return -ENODEV;
And the iface->num_altsetting value for my card is 1. So The function return an ENODEV. So the caller function snd_usb_audio_probe return an -EIO
In dmesg:
[ 2747.573923] snd-usb-audio: probe of 2-1.3:1.0 failed with error
Your device should not be handled by the generic snd-usb-audio but by the ua101 driver. Are you sure you have CONFIG_SND_USB_UA101 set in your kernel config? What else does dmesg show when you plug in the card?
Daniel
participants (2)
-
Daniel Mack
-
shal@free.fr