Man, I'm so sorry, but I can't understand what you guys are telling me. I'm a beginner in Linux system, and all of these commands and expressions that you wrote are big misteries for me.
What I have to do?
Hope you guys don't loose your patience. Please keep helping me!
What I have to do?
Hope you guys don't loose your patience. Please keep helping me!
2013/3/19 Daniel Mack <zonque@xxxxxxxxx>
UAC2_EXTENSION_UNIT_V2 == 0x09 which is unallocated by UAC1. So yes,On 19.03.2013 15:40, Torstein Hegge wrote:
> On Tue, Mar 19, 2013 at 10:10:47AM -0300, Rodolfo Thomazelli wrote:
>> [ 1144.857836] usb 2-1.2: new high-speed USB device number 4 using ehci_hcd
>> [ 1144.951520] usb 2-1.2: New USB device found, idVendor=1235,
>> idProduct=8002
>> [ 1144.951531] usb 2-1.2: New USB device strings: Mfr=1, Product=2,
>> SerialNumber=3
>> [ 1144.951538] usb 2-1.2: Product: Scarlett 8i6 USB
>> [ 1144.951543] usb 2-1.2: Manufacturer: Focusrite
>> [ 1144.951547] usb 2-1.2: SerialNumber: 00006B8B
>> [ 1144.956590] usbaudio: unit 51: unexpected type 0x09
>> [ 1144.956640] snd-usb-audio: probe of 2-1.2:1.0 failed with error -5*
>
> Even if extension unit has changed bDescriptorSubtype between UAC1 and
> UAC2, it should be safe to handle them the same way, right, Daniel?
>
> That is,
>
> diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> index e90daf8..aac5f01 100644
> --- a/sound/usb/mixer.c
> +++ b/sound/usb/mixer.c
> @@ -725,7 +725,8 @@ static int check_input_term(struct mixer_build *state, int id, struct usb_audio_
> case UAC1_PROCESSING_UNIT:
> case UAC1_EXTENSION_UNIT:
> /* UAC2_PROCESSING_UNIT_V2 */
> - /* UAC2_EFFECT_UNIT */ {
> + /* UAC2_EFFECT_UNIT */
> + case UAC2_EXTENSION_UNIT_V2: {
> struct uac_processing_unit_descriptor *d = p1;
>
> if (state->mixer->protocol == UAC_VERSION_2 &&
> @@ -2051,6 +2052,8 @@ static int parse_audio_unit(struct mixer_build *state, int unitid)
> return parse_audio_extension_unit(state, unitid, p1);
> else /* UAC_VERSION_2 */
> return parse_audio_processing_unit(state, unitid, p1);
> + case UAC2_EXTENSION_UNIT_V2:
> + return parse_audio_extension_unit(state, unitid, p1);
> default:
> snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]);
> return -EINVAL;
this should be ok. But the problem is also that the mixer code bails
with a hard error if if finds such a unit, which it shouldn't.
Regardless, I think your patch can go in. Can you send it again to
alsa-devel with your S-o-b?
Meanwhile, I'm preparing some patches to make the mixer ignore such
interfaces.
Thanks,
Daniel
------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user