Discussion:
BUG: Edirol UA-1000 failed parsing interface
s***@free.fr
2014-10-04 16:55:06 UTC
Permalink
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
Daniel Mack
2014-10-06 09:41:04 UTC
Permalink
Hi,
Post by s***@free.fr
I have a Edirol UA-1000 that is supported by Linux using the
snd-ua101 module.
...
Post by s***@free.fr
http://pastebin.com/j4ab9ekZ
Shows:

P: Vendor=0582 ProdID=0044 Rev= 1.07
Post by s***@free.fr
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
[ 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

Loading...