[alsa-devel] snd_usb_audio - siberia elite prism soundcard issues

Daniel dferradal at gmail.com
Fri Mar 27 19:55:04 CET 2015


2015-03-24 2:35 GMT+01:00 Raymond Yau <superquad.vortex2 at gmail.com>:

>
> >> >> >
> >> >> >
> >> >> numid=11,iface=MIXER,name='Speaker Playback Volume' ;
> type=INTEGER,access=rw---R--,values=8,min=0,max=74,step=0 :
> values=54,54,54,54,54,54,54,54 | dBminmax-min=-74.00dB,max=0.00dB
> >> >>
> >> >> You need workaround since pulseaudio don't like volume control with
> more than two channels
> >> >>
> >> >> https://bugs.freedesktop.org/show_bug.cgi?id=84983#c35
> >> >>
> >> >> Can you post output of your usb audio device ?
> >> >>
> >> >> lsusb -vvvv
> >> >
> >> >
> >> >
> >> > Certainly!
> >> >
> >> > Here it is:
> >> >
> >> > Bus 001 Device 003: ID 1038:1225 Ideazon, Inc.
> >> > Device Descriptor:
> >> >   bLength                18
> >> >   bDescriptorType         1
> >> >   bcdUSB               2.00
> >> >   bDeviceClass            0 (Defined at Interface level)
> >> >   bDeviceSubClass         0
> >> >   bDeviceProtocol         0
> >> >   bMaxPacketSize0        64
> >> >   idVendor           0x1038 Ideazon, Inc.
> >> >   idProduct          0x1225
> >> >   bcdDevice            0.03
> >> >   iManufacturer           1 SteelSeries
> >> >   iProduct                2 SteelSeries Siberia Elite
> >> >   iSerial                 3 000000000000
> >> >   bNumConfigurations      1
> >>
> >> >
> >> >       AudioControl Interface Descriptor:
> >> >         bLength                13
> >> >         bDescriptorType        36
> >> >         bDescriptorSubtype      4 (MIXER_UNIT)
> >> >       Warning: Descriptor too short
> >>
> >> https://github.com/gregkh/usbutils/blob/master/lsusb.c
> >>
> >> Seem no warning for descriptor too short for uac2 and can dump those
> uac2 specific variables
> >>
> >> >         bUnitID                10
> >> >         bNrInPins               2
> >> >         baSourceID( 0)          9
> >> >         baSourceID( 1)          1
> >> >         bNrChannels             8
> >> >         wChannelConfig     0x063f
> >> >           Left Front (L)
> >> >           Right Front (R)
> >> >           Center Front (C)
> >> >           Low Freqency Enhancement (LFE)
> >> >           Left Surround (LS)
> >> >           Right Surround (RS)
> >> >           Side Left (SL)
> >> >           Side Right (SR)
> >> >         iChannelNames           0
> >> >         bmControls         0x00
> >> >         bmControls         0x00
> >> >         iMixer                 33 (error)
> >> >
> >
> >
> > Maybe it's the language barrier, but I am not sure if you wanted me to
> do something. I, out of curiosity, tried to compile that lsusb but I'm
> missing headers such as config.h.
> >
> > Should you need any more feedback from me about this device, please do
> not hesitate asking through mailing list or directly, just consider I'm not
> dev! :)
> >
>
> Do you mean there is no sound using alsa hw device since pulseaudio does
> not support the multichannel speaker playback volume comtrol ?
>
> speaker-test -c8 -t wav -D hw:CARD=Elite
>
> speaker-test -c2 -t wav -D hw:CARD=Elite
>
> You need to know how to compile alsa driver for you running kernel if you
> want to fix the problem
>
> >> >> > > > amixer: Control hw:2 element read error: Invalid argument
>
> If alsamixer or amixer cannot set the speaker playback volume
>
> Try skip the problematic PCM Volume controls by adding
>
> if (state->chip->usb_id == USB_ID(0x1038,0x1225))
> if(unitid == 10)
> ich_has_control = 0;
>
> If the driver really need this mixer unit for the playback path, you need
> to fix those controls
>
> bUnitID 10
> bNrInPins 2
> baSourceID( 0) 9             microphone
> baSourceID( 1) 1             usb streaming
>
> This look like the first four problematic controls related to microphone
> and the last control related to streaming
>
> numid=5,iface=MIXER,name='PCM Volume' ;
> type=INTEGER,access=rw------,values=2,min=0,max=1,step=0 amixer: Control
> hw:2 element read error: Invalid argument
>
> numid=6,iface=MIXER,name='PCM Volume',index=1 ;
> type=INTEGER,access=rw------,values=1,min=0,max=1,step=0 amixer: Control
> hw:2 element read error: Invalid argument
>
> numid=7,iface=MIXER,name='PCM Volume',index=2 ;
> type=INTEGER,access=rw------,values=1,min=0,max=1,step=0 amixer: Control
> hw:2 element read error: Invalid argument
>
> numid=8,iface=MIXER,name='PCM Volume',index=3 ;
> type=INTEGER,access=rw------,values=1,min=0,max=1,step=0 amixer: Control
> hw:2 element read error: Invalid argument
>
> numid=9,iface=MIXER,name='PCM Volume',index=4 ;
> type=INTEGER,access=rw------,values=1,min=0,max=1,step=0 amixer: Control
> hw:2 element read error: Invalid argument
>

Hello,

when I run the tests:

speaker-test -c8 -t wav -D hw:CARD=Elite

speaker-test -c2 -t wav -D hw:CARD=Elite

I only get sound from front left and front right channels.


About compiling the alsa driver in my running kernel or where to place the
code you mention, well, as much as I have tried, my lack of experience has
resulted in failing, although I'm still trying...


I have tried with latest kernel 3.18.10, and kernel 4.0-rc5.


Maybe I'm asking too much, can you provide a mixer.c or all the files I
need to substitude in any kernel version you decide?, I'll just download
the source for that kernel and merge with the file/s you attach and compile
the whole thing, of that I'm sure I can do.

If it's too much I'm asking , don't worry, I'm still trying.

-- 
*Daniel Ferradal*


More information about the Alsa-devel mailing list