Am Mittwoch, dem 02.02.2022 um 13:35 +0000 schrieb Charles Keepax: > On Wed, Feb 02, 2022 at 12:55:04PM +0100, Martin Kepplinger wrote: > > Am Mittwoch, dem 02.02.2022 um 10:46 +0000 schrieb Charles Keepax: > > > On Wed, Feb 02, 2022 at 11:17:34AM +0100, Martin Kepplinger > > > wrote: > > > > Am Mittwoch, dem 02.02.2022 um 09:53 +0000 schrieb Charles > > > > Keepax: > > > > > On Tue, Feb 01, 2022 at 04:01:13PM +0100, Martin Kepplinger > > > > > wrote: > > > > Do you have a code example from a different codec that has > > > > roughly > > > > what > > > > is missing here? (the sound subsystem is new to me) > > > > > > Full disclosure this is complete untested, but it should be > > > pretty close. Let me know if it does the trick and I will send a > > > proper patch to the list. I do have a Librem 5 in a draw > > > somewhere so can pull that out if we get really stuck, but that > > > might have to wait until the weekend :-). > > > > > > I don't know if you guys are using the analogue bypass paths > > > around the digital core on the chip. I think those will still > > > work with the mics set to digital, so I have left the routes as > > > is, but that might require some checking at some point. > > > > ok that's great and seems to work! that's luxury. > > > > Excellent glad that is working for you, I will prep up a proper > patch and send it to the list. Should get that done tomorrow > morning, if I don't manage it this afternoon. > > > Volume / sensitivity of Analog input is too low, I saw that before. > > What would you try to change that? > > > > Hmm... you say you saw this before? I assume the input volume > is always low, not just low sometimes? I would probably start by > checking the voltage you have on the micbias, make sure that is > as expected. Does the signal coming into the IN3R pin look low on > a scope or is it just the level after it has been through the ADC > on the chip that seems low? Literally *no* effort went into this yet :) All I see is when I set the "headset mic" volume to max in gnome settings, the recorded volume is something like "almost usable", so that's off a bit. I can't easily measure, but different headset mics produce similar volume. > > The input routing on this chip is pretty byzantine, the output of > just "amixer" showing all the controls in the relevant use-case > would probably be helpful to look over. I suspect there is a > reasonable chance something around the input PGA is not > configured to match the hardware, although I am not the most > familiar with this part so hard to guess at exactly what off the > top of my head. > I append the output of `amixer contents` below. > Finally, do you know how much the amplitude is off by? no > > > you can do all of our tasks if you want to :) > > > > Ha! Not sure about that, but happy to help out where I can. > > Thanks, > Charles :) thank you very much so far. You already really helped. We can even make the mic available now (to enable manually by the user) while we look into the volume and detection. so long, all the best, martin
numid=1,iface=CARD,name='Headphones Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off numid=30,iface=MIXER,name='Headphone Aux Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=7,step=0 : values=0,0 | dBscale-min=-7.00dB,step=1.00dB,mute=0 numid=31,iface=MIXER,name='Headphone Mixer Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=29,iface=MIXER,name='Headphone ZC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=28,iface=MIXER,name='Headphone Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=27,iface=MIXER,name='Headphone Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=121,121 | dBscale-min=-121.00dB,step=1.00dB,mute=1 numid=25,iface=MIXER,name='ADC High Performance Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=22,iface=MIXER,name='ADC L/R Swap Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=24,iface=MIXER,name='ADC Monomix Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=15,iface=MIXER,name='Capture HPF Cutoff' ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0 : values=0 numid=14,iface=MIXER,name='Capture HPF Mode' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'Hi-fi' ; Item #1 'Application' : values=0 numid=13,iface=MIXER,name='Capture HPF Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=17,iface=MIXER,name='Capture LHPF Mode' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'LPF' ; Item #1 'HPF' : values=0 numid=16,iface=MIXER,name='Capture LHPF Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=12,iface=MIXER,name='Capture ZC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=11,iface=MIXER,name='Capture Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=10,iface=MIXER,name='Capture Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0 : values=29,29 | dBscale-min=-23.25dB,step=0.75dB,mute=0 numid=50,iface=MIXER,name='3D Coefficients' ; type=BYTES,access=rw------,values=8 : values=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 numid=49,iface=MIXER,name='3D Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=63,iface=MIXER,name='ALC Coefficients' ; type=BYTES,access=rw------,values=8 : values=0x00,0x7b,0x00,0x00,0x1c,0x32,0x32,0x00 numid=62,iface=MIXER,name='ALC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=26,iface=MIXER,name='Beep Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=15,step=0 : values=0 | dBscale-min=-96.00dB,step=6.00dB,mute=1 numid=20,iface=MIXER,name='DAC High Performance Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=21,iface=MIXER,name='DAC L/R Swap Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=23,iface=MIXER,name='DAC Monomix Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=52,iface=MIXER,name='DF1 Coefficients' ; type=BYTES,access=rw------,values=14 : values=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 numid=51,iface=MIXER,name='DF1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=54,iface=MIXER,name='DRC Coefficients' ; type=BYTES,access=rw------,values=10 : values=0x00,0x0c,0x09,0x25,0x00,0x00,0x00,0x00,0x00,0x00 numid=53,iface=MIXER,name='DRC Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=9,iface=MIXER,name='Digital Capture Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=116,116 | dBscale-min=-72.00dB,step=0.75dB,mute=1 numid=19,iface=MIXER,name='Digital Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=100,100 | dBscale-min=-72.00dB,step=0.75dB,mute=1 numid=41,iface=MIXER,name='EQ Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=42,iface=MIXER,name='EQ1 Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0 : values=12,12 | dBscale-min=-12.00dB,step=1.00dB,mute=0 numid=43,iface=MIXER,name='EQ2 Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0 : values=12,12 | dBscale-min=-12.00dB,step=1.00dB,mute=0 numid=44,iface=MIXER,name='EQ3 Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0 : values=12,12 | dBscale-min=-12.00dB,step=1.00dB,mute=0 numid=45,iface=MIXER,name='EQ4 Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0 : values=12,12 | dBscale-min=-12.00dB,step=1.00dB,mute=0 numid=46,iface=MIXER,name='EQ5 Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0 : values=13,13 | dBscale-min=-12.00dB,step=1.00dB,mute=0 numid=47,iface=MIXER,name='EQL Coefficients' ; type=BYTES,access=rw------,values=36 : values=0x0f,0xca,0x04,0x00,0x00,0xd8,0x1e,0xb5,0xf1,0x45,0x0b,0x75,0x01,0xc5,0x1c,0x58,0xf3,0x73,0x0a,0x54,0x05,0x58,0x16,0x8e,0xf8,0x29,0x07,0xad,0x11,0x03,0x05,0x64,0x05,0x59,0x40,0x00 numid=48,iface=MIXER,name='EQR Coefficients' ; type=BYTES,access=rw------,values=36 : values=0x0f,0xca,0x04,0x00,0x00,0xd8,0x1e,0xb5,0xf1,0x45,0x0b,0x75,0x01,0xc5,0x1c,0x58,0xf3,0x73,0x0a,0x54,0x05,0x58,0x16,0x8e,0xf8,0x29,0x07,0xad,0x11,0x03,0x05,0x64,0x05,0x59,0x40,0x00 numid=61,iface=MIXER,name='HD Bass Coefficients' ; type=BYTES,access=rw------,values=60 : values=0x00,0x02,0xbd,0x12,0x00,0x7c,0x58,0x6c,0x00,0x53,0x81,0x21,0x00,0x3f,0x8b,0xd8,0x00,0x32,0xf5,0x2d,0x00,0x65,0xac,0x8c,0x00,0x6b,0xe0,0x87,0x00,0x72,0x14,0x83,0x00,0x72,0x14,0x83,0x00,0x43,0x35,0x25,0x00,0x06,0x6a,0x4a,0x00,0x43,0x60,0x79,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x59,0x99,0x9a numid=60,iface=MIXER,name='HD Bass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=59,iface=MIXER,name='HPF Coefficients' ; type=BYTES,access=rw------,values=2 : values=0x00,0x00 numid=57,iface=MIXER,name='HPF1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=58,iface=MIXER,name='HPF2 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=97,iface=MIXER,name='HPMIXL DACL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=98,iface=MIXER,name='HPMIXL DACR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=101,iface=MIXER,name='HPMIXL IN4L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=32,iface=MIXER,name='HPMIXL IN4L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=102,iface=MIXER,name='HPMIXL IN4R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=33,iface=MIXER,name='HPMIXL IN4R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=99,iface=MIXER,name='HPMIXL MIXINL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=34,iface=MIXER,name='HPMIXL MIXINL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=100,iface=MIXER,name='HPMIXL MIXINR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=35,iface=MIXER,name='HPMIXL MIXINR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=103,iface=MIXER,name='HPMIXR DACL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=104,iface=MIXER,name='HPMIXR DACR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=107,iface=MIXER,name='HPMIXR IN4L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=36,iface=MIXER,name='HPMIXR IN4L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=108,iface=MIXER,name='HPMIXR IN4R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=37,iface=MIXER,name='HPMIXR IN4R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=105,iface=MIXER,name='HPMIXR MIXINL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=38,iface=MIXER,name='HPMIXR MIXINL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=106,iface=MIXER,name='HPMIXR MIXINR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=39,iface=MIXER,name='HPMIXR MIXINR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=109,iface=MIXER,name='HPOUTL PGA' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'DAC' ; Item #1 'Mixer' : values=0 numid=110,iface=MIXER,name='HPOUTR PGA' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'DAC' ; Item #1 'Mixer' : values=0 numid=80,iface=MIXER,name='INPGAL IN1L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=81,iface=MIXER,name='INPGAL IN2L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=82,iface=MIXER,name='INPGAL IN3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=83,iface=MIXER,name='INPGAL IN4L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=84,iface=MIXER,name='INPGAR IN1R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=85,iface=MIXER,name='INPGAR IN2R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=86,iface=MIXER,name='INPGAR IN3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=87,iface=MIXER,name='INPGAR IN4R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=2,iface=MIXER,name='Input Mixer Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,on numid=94,iface=MIXER,name='Input Mode' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'Analog' ; Item #1 'Digital' : values=1 numid=88,iface=MIXER,name='MIXINL IN2L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=3,iface=MIXER,name='MIXINL IN2L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=89,iface=MIXER,name='MIXINL IN3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=5,iface=MIXER,name='MIXINL IN3L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=90,iface=MIXER,name='MIXINL PGA Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=4,iface=MIXER,name='MIXINL PGA Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBrange- rangemin=0,,rangemax=1 | dBscale-min=0.00dB,step=6.00dB,mute=0 rangemin=2,,rangemax=2 | dBscale-min=13.00dB,step=13.00dB,mute=0 rangemin=3,,rangemax=4 | dBscale-min=18.00dB,step=2.00dB,mute=0 rangemin=5,,rangemax=5 | dBscale-min=24.00dB,step=0.00dB,mute=0 rangemin=6,,rangemax=7 | dBscale-min=27.00dB,step=3.00dB,mute=0 numid=91,iface=MIXER,name='MIXINR IN2R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=6,iface=MIXER,name='MIXINR IN2R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=92,iface=MIXER,name='MIXINR IN3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=8,iface=MIXER,name='MIXINR IN3R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=0 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=93,iface=MIXER,name='MIXINR PGA Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=7,iface=MIXER,name='MIXINR PGA Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBrange- rangemin=0,,rangemax=1 | dBscale-min=0.00dB,step=6.00dB,mute=0 rangemin=2,,rangemax=2 | dBscale-min=13.00dB,step=13.00dB,mute=0 rangemin=3,,rangemax=4 | dBscale-min=18.00dB,step=2.00dB,mute=0 rangemin=5,,rangemax=5 | dBscale-min=24.00dB,step=0.00dB,mute=0 rangemin=6,,rangemax=7 | dBscale-min=27.00dB,step=3.00dB,mute=0 numid=111,iface=MIXER,name='SPKOUTL Mixer DACL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=72,iface=MIXER,name='SPKOUTL Mixer DACL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=0 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=112,iface=MIXER,name='SPKOUTL Mixer DACR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=73,iface=MIXER,name='SPKOUTL Mixer DACR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=0 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=115,iface=MIXER,name='SPKOUTL Mixer IN4L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=68,iface=MIXER,name='SPKOUTL Mixer IN4L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=116,iface=MIXER,name='SPKOUTL Mixer IN4R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=69,iface=MIXER,name='SPKOUTL Mixer IN4R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=113,iface=MIXER,name='SPKOUTL Mixer MIXINL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=70,iface=MIXER,name='SPKOUTL Mixer MIXINL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=114,iface=MIXER,name='SPKOUTL Mixer MIXINR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=71,iface=MIXER,name='SPKOUTL Mixer MIXINR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=123,iface=MIXER,name='SPKOUTL PGA' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'DAC' ; Item #1 'Mixer' : values=0 numid=117,iface=MIXER,name='SPKOUTR Mixer DACL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=78,iface=MIXER,name='SPKOUTR Mixer DACL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=0 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=118,iface=MIXER,name='SPKOUTR Mixer DACR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=79,iface=MIXER,name='SPKOUTR Mixer DACR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=0 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=121,iface=MIXER,name='SPKOUTR Mixer IN4L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=74,iface=MIXER,name='SPKOUTR Mixer IN4L Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=122,iface=MIXER,name='SPKOUTR Mixer IN4R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=75,iface=MIXER,name='SPKOUTR Mixer IN4R Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=7 | dBscale-min=-15.00dB,step=3.00dB,mute=0 numid=119,iface=MIXER,name='SPKOUTR Mixer MIXINL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=76,iface=MIXER,name='SPKOUTR Mixer MIXINL Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=120,iface=MIXER,name='SPKOUTR Mixer MIXINR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=77,iface=MIXER,name='SPKOUTR Mixer MIXINR Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0 : values=1 | dBscale-min=-6.00dB,step=6.00dB,mute=0 numid=124,iface=MIXER,name='SPKOUTR PGA' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'DAC' ; Item #1 'Mixer' : values=1 numid=95,iface=MIXER,name='STL' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'None' ; Item #1 'Left' ; Item #2 'Right' : values=0 numid=96,iface=MIXER,name='STR' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'None' ; Item #1 'Left' ; Item #2 'Right' : values=0 numid=18,iface=MIXER,name='Sidetone Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=12,step=0 : values=0,0 | dBscale-min=-36.00dB,step=3.00dB,mute=0 numid=40,iface=MIXER,name='Speaker Boost Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0 : values=6 | dBrange- rangemin=0,,rangemax=6 | dBscale-min=0.00dB,step=1.50dB,mute=0 rangemin=7,,rangemax=7 | dBscale-min=12.00dB,step=0.00dB,mute=0 numid=67,iface=MIXER,name='Speaker Mixer Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=65,iface=MIXER,name='Speaker Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,off numid=64,iface=MIXER,name='Speaker Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=121,121 | dBscale-min=-121.00dB,step=1.00dB,mute=1 numid=66,iface=MIXER,name='Speaker ZC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=56,iface=MIXER,name='VSS Coefficients' ; type=BYTES,access=rw------,values=296 : values=0x00,0x8c,0x02,0x00,0x00,0x35,0x07,0x00,0x00,0x3a,0x41,0x00,0x00,0x8b,0x7d,0x00,0x00,0x3a,0x41,0x00,0x00,0x8c,0xfe,0xe8,0x00,0x78,0x00,0x00,0x00,0x3f,0xb2,0x60,0x00,0x2d,0x18,0x18,0x00,0x20,0x00,0x00,0x00,0xf1,0x83,0x40,0x00,0xfb,0x83,0x00,0x00,0xee,0xae,0xc0,0x00,0xfb,0xac,0x40,0x00,0xf1,0x7f,0x80,0x00,0xf4,0x3b,0x40,0x00,0xf5,0xfb,0x00,0x00,0xea,0x10,0xc0,0x00,0xfc,0xc5,0x80,0x00,0xe2,0x75,0xc0,0x00,0x04,0xb4,0x80,0x00,0xd4,0xf9,0x80,0x00,0x04,0x91,0x40,0x00,0xd8,0xa4,0x80,0x00,0x02,0x3d,0xc0,0x00,0xcf,0x7a,0x80,0x00,0xdc,0x06,0x00,0x00,0xf2,0xda,0xc0,0x00,0xba,0xf3,0x40,0x00,0x0a,0x79,0x40,0x00,0x1c,0x06,0x80,0x00,0xfd,0x2d,0x00,0x00,0x1c,0xe8,0x40,0x00,0x0d,0xdc,0x40,0x00,0xfc,0x9d,0x00,0x00,0x09,0x55,0x80,0x00,0xfe,0x7e,0x80,0x00,0x0e,0xab,0x40,0x00,0xf9,0x98,0x80,0x00,0x09,0x87,0xc0,0x00,0xfd,0x2c,0x40,0x00,0x09,0x48,0x00,0x00,0x03,0x5f,0x40,0x00,0x00,0x87,0x00,0x00,0xfa,0xe4,0xc0,0x00,0x00,0x0b,0x40,0x00,0x04,0xe1,0x80,0x00,0x01,0x1f,0x40,0x00,0xf8,0xb0,0x00,0x00,0xfb,0xcb,0xc0,0x00,0x04,0xf3,0x80,0x00,0x07,0xdf,0x40,0x00,0xff,0x07,0x00,0x00,0xef,0xd7,0x00,0x00,0xfb,0xaf,0x40,0x00,0x10,0x8a,0x80,0x00,0x11,0x07,0xc0,0x00,0xe0,0x08,0x00,0x00,0xd2,0x76,0x00,0x00,0x20,0xcf,0x40,0x00,0x30,0x23,0x40,0x00,0xfd,0x69,0xc0,0x00,0x28,0x35,0x00,0x00,0x06,0x33,0x00,0x00,0xd9,0xf6,0xc0,0x00,0xf3,0x33,0x40,0x00,0x0f,0x42,0x00,0x00,0x04,0x0c,0x80,0x00,0xfb,0x3f,0x80,0x00,0xf7,0x57,0xc0,0x00,0x03,0x54,0x00,0x00,0x00,0xc6,0xc0,0x00,0x03,0x12,0xc0,0x00,0xfd,0x85,0x80 numid=55,iface=MIXER,name='VSS Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off