Enable Mic on 3.5 jack port
#1
Sad 
Hi boys,
I'd followed the guide reported at enable audio on jack instead hdmi
and now I can hear the sound by the headset, but I don't understand
why I can't record by the mic.

Can you help me please?
Tnanks in advance.
#2
You need to configure alsamixer to open the microphone path, try the following settings:


<path name="media-headset-mic">
<ctl name="MIC2 SRC" value="MIC2"/>
<ctl name="LADC input Mixer MIC2 boost Switch" value="1"/>
<ctl name="RADC input Mixer MIC2 boost Switch" value="1"/>
<ctl name="ADCL Mux" value="ADC"/>
<ctl name="ADCR Mux" value="ADC"/>
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1"/>
<ctl name="AIF1 AD0R Mixer ADCR Switch" value="1"/>
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L"/>
<ctl name="AIF1OUT0R Mux" value="AIF1_AD0R"/>
<ctl name="ADC volume" value="160"/>

</path>


That seems to be how Android configures the MIC2

Edit: it's MIC2, not MIC1...
Come have a chat in the Pine IRC channel >>
#3
(03-27-2017, 04:05 AM)xalius Wrote: You need to configure alsamixer to open the microphone path, try the following settings:


<path name="media-headset-mic">
<ctl name="MIC2 SRC" value="MIC2"/>
<ctl name="LADC input Mixer MIC2 boost Switch" value="1"/>
<ctl name="RADC input Mixer MIC2 boost Switch" value="1"/>
<ctl name="ADCL Mux" value="ADC"/>
<ctl name="ADCR Mux" value="ADC"/>
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1"/>
<ctl name="AIF1 AD0R Mixer ADCR Switch" value="1"/>
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L"/>
<ctl name="AIF1OUT0R Mux" value="AIF1_AD0R"/>
<ctl name="ADC volume" value="160"/>

</path>


That seems to be how Android configures the MIC2

Edit: it's MIC2, not MIC1...


Thank you so much...
Can you tell me, in Ubuntu, where is the file to update with these, please?

Here my modified /var/lib/alsa/asound.state that match the proposed changes:

Code:
state.audiocodec { control.1 { iface MIXER name 'AIF1 ADC timeslot 0 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.2 { iface MIXER name 'AIF1 ADC timeslot 1 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.3 { iface MIXER name 'AIF1 DAC timeslot 0 volume' value.0 153 value.1 153 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -450 dbvalue.1 -450 } } control.4 { iface MIXER name 'AIF1 DAC timeslot 1 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.5 { iface MIXER name 'AIF1 ADC timeslot 0 mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.6 { iface MIXER name 'AIF1 ADC timeslot 1 mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 3' dbmin -600 dbmax 1200 dbvalue.0 -600 dbvalue.1 -600 } } control.7 { iface MIXER name 'AIF2 ADC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.8 { iface MIXER name 'AIF2 DAC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.9 { iface MIXER name 'AIF2 ADC mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.10 { iface MIXER name 'ADC volume' value.0 160 value.1 160 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.11 { iface MIXER name 'DAC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.12 { iface MIXER name 'DAC mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.13 { iface MIXER name 'digital volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 63' dbmin -7308 dbmax 0 dbvalue.0 -7308 } } control.14 { iface MIXER name 'earpiece volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 31' dbmin -4350 dbmax 300 dbvalue.0 -4350 } } control.15 { iface MIXER name 'speaker volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 31' dbmin -4800 dbmax -150 dbvalue.0 -4800 } } control.16 { iface MIXER name 'headphone volume' value 44 comment { access 'read write' type INTEGER count 1 range '0 - 63' dbmin -6300 dbmax 0 dbvalue.0 -1900 } } control.17 { iface MIXER name 'MIC1_G boost stage output mixer control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.18 { iface MIXER name 'MIC1 boost AMP gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin 0 dbmax 1400 dbvalue.0 0 } } control.19 { iface MIXER name 'MIC2 BST stage to L_R outp mixer gain' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.20 { iface MIXER name 'MIC2 boost AMP gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin 0 dbmax 1400 dbvalue.0 0 } } control.21 { iface MIXER name 'LINEINL/R to L_R output mixer gain' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.22 { iface MIXER name 'ADC input gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.23 { iface MIXER name 'Phoneout gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.24 { iface MIXER name 'SRC FUCTION' value false comment { access 'read write' type BOOLEAN count 1 } } control.25 { iface MIXER name 'I2S HUB FUNC' value false comment { access 'read write' type BOOLEAN count 1 } } control.26 { iface MIXER name 'Phoneout Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.27 { iface MIXER name 'Phoneout Mixer MIC2 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.28 { iface MIXER name 'Phoneout Mixer Rout_Mixer_Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.29 { iface MIXER name 'Phoneout Mixer Lout_Mixer_Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.30 { iface MIXER name 'ADCR Mux' value ADC comment { access 'read write' type ENUMERATED count 1 item.0 ADC item.1 DMIC } } control.31 { iface MIXER name 'ADCL Mux' value ADC comment { access 'read write' type ENUMERATED count 1 item.0 ADC item.1 DMIC } } control.32 { iface MIXER name 'MIC2 SRC' value MIC2 comment { access 'read write' type ENUMERATED count 1 item.0 MIC3 item.1 MIC2 } } control.33 { iface MIXER name 'RADC input Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.34 { iface MIXER name 'RADC input Mixer MIC2 boost Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.35 { iface MIXER name 'RADC input Mixer LINEINR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.36 { iface MIXER name 'RADC input Mixer r_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.37 { iface MIXER name 'RADC input Mixer l_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.38 { iface MIXER name 'RADC input Mixer PHONINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.39 { iface MIXER name 'RADC input Mixer PHONINN-PHONINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.40 { iface MIXER name 'LADC input Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.41 { iface MIXER name 'LADC input Mixer MIC2 boost Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.42 { iface MIXER name 'LADC input Mixer LINEINL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.43 { iface MIXER name 'LADC input Mixer l_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.44 { iface MIXER name 'LADC input Mixer r_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.45 { iface MIXER name 'LADC input Mixer PHONINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.46 { iface MIXER name 'LADC input Mixer PHONINP-PHONINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.47 { iface MIXER name 'AIF3OUT Mux' value 'AIF2 ADC left channel' comment { access 'read write' type ENUMERATED count 1 item.0 'AIF2 ADC left channel' item.1 'AIF2 ADC right channel' } } control.48 { iface MIXER name 'AIF2 ADR Mixer AIF1 DA0R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.49 { iface MIXER name 'AIF2 ADR Mixer AIF1 DA1R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.50 { iface MIXER name 'AIF2 ADR Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.51 { iface MIXER name 'AIF2 ADR Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.52 { iface MIXER name 'AIF2 ADL Mixer AIF1 DA0L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.53 { iface MIXER name 'AIF2 ADL Mixer AIF1 DA1L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.54 { iface MIXER name 'AIF2 ADL Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.55 { iface MIXER name 'AIF2 ADL Mixer ADCL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.56 { iface MIXER name 'AIF2INR Mux' value AIF2_DACR comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_DACR item.1 AIF2_DACL item.2 SUM_AIF2DACL_AIF2DACR item.3 AVE_AIF2DACL_AIF2DACR } } control.57 { iface MIXER name 'AIF2INL Mux' value AIF2_DACL comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_DACL item.1 AIF2_DACR item.2 SUM_AIF2DACL_AIF2DACR item.3 AVE_AIF2DACL_AIF2DACR } } control.58 { iface MIXER name 'AIF2OUTR Mux' value AIF2_ADCR comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_ADCR item.1 AIF2_ADCL item.2 SUM_AIF2_ADCL_AIF2_ADCR item.3 AVE_AIF2_ADCL_AIF2_ADCR } } control.59 { iface MIXER name 'AIF2OUTL Mux' value AIF2_ADCL comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_ADCL item.1 AIF2_ADCR item.2 SUM_AIF2_ADCL_AIF2_ADCR item.3 AVE_AIF2_ADCL_AIF2_ADCR } } control.60 { iface MIXER name 'EAR Mux' value DACR comment { access 'read write' type ENUMERATED count 1 item.0 DACR item.1 DACL item.2 'Right Analog Mixer' item.3 'Left Analog Mixer' } } control.61 { iface MIXER name 'SPK_L Mux' value 'MIXEL Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'MIXEL Switch' item.1 'MIXL MIXR  Switch' } } control.62 { iface MIXER name 'SPK_R Mux' value 'MIXER Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'MIXER Switch' item.1 'MIXR MIXL Switch' } } control.63 { iface MIXER name 'HP_L Mux' value 'DACL HPL Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'DACL HPL Switch' item.1 'Left Analog Mixer HPL Switch' } } control.64 { iface MIXER name 'HP_R Mux' value 'DACR HPR Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'DACR HPR Switch' item.1 'Right Analog Mixer HPR Switch' } } control.65 { iface MIXER name 'Right Output Mixer DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.66 { iface MIXER name 'Right Output Mixer DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.67 { iface MIXER name 'Right Output Mixer LINEINR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.68 { iface MIXER name 'Right Output Mixer MIC2Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.69 { iface MIXER name 'Right Output Mixer MIC1Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.70 { iface MIXER name 'Right Output Mixer PHONEINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.71 { iface MIXER name 'Right Output Mixer PHONEINN-PHONEINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.72 { iface MIXER name 'Left Output Mixer DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.73 { iface MIXER name 'Left Output Mixer DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.74 { iface MIXER name 'Left Output Mixer LINEINL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.75 { iface MIXER name 'Left Output Mixer MIC2Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.76 { iface MIXER name 'Left Output Mixer MIC1Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.77 { iface MIXER name 'Left Output Mixer PHONEINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.78 { iface MIXER name 'Left Output Mixer PHONEINP-PHONEINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.79 { iface MIXER name 'DACR Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.80 { iface MIXER name 'DACR Mixer AIF2DACR Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.81 { iface MIXER name 'DACR Mixer AIF1DA1R Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.82 { iface MIXER name 'DACR Mixer AIF1DA0R Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.83 { iface MIXER name 'DACL Mixer ADCL Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.84 { iface MIXER name 'DACL Mixer AIF2DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.85 { iface MIXER name 'DACL Mixer AIF1DA1L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.86 { iface MIXER name 'DACL Mixer AIF1DA0L Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.87 { iface MIXER name 'AIF1 AD1R Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.88 { iface MIXER name 'AIF1 AD1R Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.89 { iface MIXER name 'AIF1 AD1L Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.90 { iface MIXER name 'AIF1 AD1L Mixer ADCL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.91 { iface MIXER name 'AIF1 AD0R Mixer AIF1 DA0R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.92 { iface MIXER name 'AIF1 AD0R Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.93 { iface MIXER name 'AIF1 AD0R Mixer ADCR Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.94 { iface MIXER name 'AIF1 AD0R Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.95 { iface MIXER name 'AIF1 AD0L Mixer AIF1 DA0L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.96 { iface MIXER name 'AIF1 AD0L Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.97 { iface MIXER name 'AIF1 AD0L Mixer ADCL Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.98 { iface MIXER name 'AIF1 AD0L Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.99 { iface MIXER name 'AIF1IN1R Mux' value AIF1_DA1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA1R item.1 AIF1_DA1L item.2 SUM_AIF1DA1L_AIF1DA1R item.3 AVE_AIF1DA1L_AIF1DA1R } } control.100 { iface MIXER name 'AIF1IN1L Mux' value AIF1_DA1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA1L item.1 AIF1_DA1R item.2 SUM_AIF1DA1L_AIF1DA1R item.3 AVE_AIF1DA1L_AIF1DA1R } } control.101 { iface MIXER name 'AIF1IN0R Mux' value AIF1_DA0R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA0R item.1 AIF1_DA0L item.2 SUM_AIF1DA0L_AIF1DA0R item.3 AVE_AIF1DA0L_AIF1DA0R } } control.102 { iface MIXER name 'AIF1IN0L Mux' value AIF1_DA0L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA0L item.1 AIF1_DA0R item.2 SUM_AIF1DA0L_AIF1DA0R item.3 AVE_AIF1DA0L_AIF1DA0R } } control.103 { iface MIXER name 'AIF1OUT1R Mux' value AIF1_AD1R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD1R item.1 AIF1_AD1L item.2 SUM_AIF1ADC1L_AIF1ADC1R item.3 AVE_AIF1ADC1L_AIF1ADC1R } } control.104 { iface MIXER name 'AIF1OUT1L Mux' value AIF1_AD1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD1L item.1 AIF1_AD1R item.2 SUM_AIF1ADC1L_AIF1ADC1R item.3 AVE_AIF1ADC1L_AIF1ADC1R } } control.105 { iface MIXER name 'AIF1OUT0R Mux' value AIF1_AD0R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD0R item.1 AIF1_AD0L item.2 SUM_AIF1AD0L_AIF1AD0R item.3 AVE_AIF1AD0L_AIF1AD0R } } control.106 { iface MIXER name 'AIF1OUT0L Mux' value AIF1_AD0L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD0L item.1 AIF1_AD0R item.2 SUM_AIF1AD0L_AIF1AD0R item.3 AVE_AIF1AD0L_AIF1AD0R } } control.107 { iface MIXER name 'AIF2INR Mux VIR switch aif2inr aif3' value false comment { access 'read write' type BOOLEAN count 1 } } control.108 { iface MIXER name 'AIF2INL Mux VIR switch aif2inl aif3' value false comment { access 'read write' type BOOLEAN count 1 } } control.109 { iface MIXER name 'AIF2INR Mux switch aif2inr aif2' value false comment { access 'read write' type BOOLEAN count 1 } } control.110 { iface MIXER name 'AIF2INL Mux switch aif2inl aif2' value false comment { access 'read write' type BOOLEAN count 1 } } control.111 { iface MIXER name 'External Speaker Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.112 { iface MIXER name 'Headphone Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.113 { iface MIXER name 'Earpiece Switch' value false comment { access 'read write' type BOOLEAN count 1 } } } state.sndhdmi { control.1 { iface MIXER name 'hdmi audio format Function' value pcm comment { access 'read write' type ENUMERATED count 1 item.0 null item.1 pcm item.2 AC3 item.3 MPEG1 item.4 MP3 item.5 MPEG2 item.6 AAC item.7 DTS item.8 ATRAC item.9 ONE_BIT_AUDIO item.10 DOLBY_DIGITAL_PLUS item.11 DTS_HD item.12 MAT item.13 WMAPRO } } }
#4
That is a part of the Android config so you can't copy paste that into asound.state directly, you have to manually set those in alsamixer...

Here the full file with all the audio paths Android uses for the Pine64/Pinebook:

http://pastebin.ubuntu.com/24260816/
Come have a chat in the Pine IRC channel >>
#5
Sad 
(03-27-2017, 07:23 AM)xalius Wrote: That is a part of the Android config so you can't copy paste that into asound.state directly, you have to manually set those in alsamixer...

Here the full file with all the audio paths Android uses for the Pine64/Pinebook:

http://pastebin.ubuntu.com/24260816/

Hi Xalius,

I try to match all the configurations related to MIC2 but the result is the same...
I don't understand.

Here my asound.state file:

Code:
state.audiocodec { control.1 { iface MIXER name 'AIF1 ADC timeslot 0 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.2 { iface MIXER name 'AIF1 ADC timeslot 1 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.3 { iface MIXER name 'AIF1 DAC timeslot 0 volume' value.0 153 value.1 153 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -450 dbvalue.1 -450 } } control.4 { iface MIXER name 'AIF1 DAC timeslot 1 volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.5 { iface MIXER name 'AIF1 ADC timeslot 0 mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.6 { iface MIXER name 'AIF1 ADC timeslot 1 mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 3' dbmin -600 dbmax 1200 dbvalue.0 -600 dbvalue.1 -600 } } control.7 { iface MIXER name 'AIF2 ADC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.8 { iface MIXER name 'AIF2 DAC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.9 { iface MIXER name 'AIF2 ADC mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.10 { iface MIXER name 'ADC volume' value.0 160 value.1 160 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.11 { iface MIXER name 'DAC volume' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 255' dbmin -11925 dbmax 7200 dbvalue.0 -11925 dbvalue.1 -11925 } } control.12 { iface MIXER name 'DAC mixer gain' value.0 0 value.1 0 comment { access 'read write' type INTEGER count 2 range '0 - 15' dbmin -600 dbmax 8400 dbvalue.0 -600 dbvalue.1 -600 } } control.13 { iface MIXER name 'digital volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 63' dbmin -7308 dbmax 0 dbvalue.0 -7308 } } control.14 { iface MIXER name 'earpiece volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 31' dbmin -4350 dbmax 300 dbvalue.0 -4350 } } control.15 { iface MIXER name 'speaker volume' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 31' dbmin -4800 dbmax -150 dbvalue.0 -4800 } } control.16 { iface MIXER name 'headphone volume' value 44 comment { access 'read write' type INTEGER count 1 range '0 - 63' dbmin -6300 dbmax 0 dbvalue.0 -1900 } } control.17 { iface MIXER name 'MIC1_G boost stage output mixer control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.18 { iface MIXER name 'MIC1 boost AMP gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin 0 dbmax 1400 dbvalue.0 0 } } control.19 { iface MIXER name 'MIC2 BST stage to L_R outp mixer gain' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.20 { iface MIXER name 'MIC2 boost AMP gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin 0 dbmax 1400 dbvalue.0 0 } } control.21 { iface MIXER name 'LINEINL/R to L_R output mixer gain' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.22 { iface MIXER name 'ADC input gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.23 { iface MIXER name 'Phoneout gain control' value 0 comment { access 'read write' type INTEGER count 1 range '0 - 7' dbmin -450 dbmax 600 dbvalue.0 -450 } } control.24 { iface MIXER name 'SRC FUCTION' value false comment { access 'read write' type BOOLEAN count 1 } } control.25 { iface MIXER name 'I2S HUB FUNC' value false comment { access 'read write' type BOOLEAN count 1 } } control.26 { iface MIXER name 'Phoneout Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.27 { iface MIXER name 'Phoneout Mixer MIC2 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.28 { iface MIXER name 'Phoneout Mixer Rout_Mixer_Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.29 { iface MIXER name 'Phoneout Mixer Lout_Mixer_Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.30 { iface MIXER name 'ADCR Mux' value ADC comment { access 'read write' type ENUMERATED count 1 item.0 ADC item.1 DMIC } } control.31 { iface MIXER name 'ADCL Mux' value ADC comment { access 'read write' type ENUMERATED count 1 item.0 ADC item.1 DMIC } } control.32 { iface MIXER name 'MIC2 SRC' value MIC2 comment { access 'read write' type ENUMERATED count 1 item.0 MIC3 item.1 MIC2 } } control.33 { iface MIXER name 'RADC input Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.34 { iface MIXER name 'RADC input Mixer MIC2 boost Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.35 { iface MIXER name 'RADC input Mixer LINEINR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.36 { iface MIXER name 'RADC input Mixer r_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.37 { iface MIXER name 'RADC input Mixer l_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.38 { iface MIXER name 'RADC input Mixer PHONINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.39 { iface MIXER name 'RADC input Mixer PHONINN-PHONINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.40 { iface MIXER name 'LADC input Mixer MIC1 boost Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.41 { iface MIXER name 'LADC input Mixer MIC2 boost Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.42 { iface MIXER name 'LADC input Mixer LINEINL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.43 { iface MIXER name 'LADC input Mixer l_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.44 { iface MIXER name 'LADC input Mixer r_output mixer Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.45 { iface MIXER name 'LADC input Mixer PHONINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.46 { iface MIXER name 'LADC input Mixer PHONINP-PHONINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.47 { iface MIXER name 'AIF3OUT Mux' value 'AIF2 ADC left channel' comment { access 'read write' type ENUMERATED count 1 item.0 'AIF2 ADC left channel' item.1 'AIF2 ADC right channel' } } control.48 { iface MIXER name 'AIF2 ADR Mixer AIF1 DA0R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.49 { iface MIXER name 'AIF2 ADR Mixer AIF1 DA1R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.50 { iface MIXER name 'AIF2 ADR Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.51 { iface MIXER name 'AIF2 ADR Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.52 { iface MIXER name 'AIF2 ADL Mixer AIF1 DA0L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.53 { iface MIXER name 'AIF2 ADL Mixer AIF1 DA1L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.54 { iface MIXER name 'AIF2 ADL Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.55 { iface MIXER name 'AIF2 ADL Mixer ADCL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.56 { iface MIXER name 'AIF2INR Mux' value AIF2_DACR comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_DACR item.1 AIF2_DACL item.2 SUM_AIF2DACL_AIF2DACR item.3 AVE_AIF2DACL_AIF2DACR } } control.57 { iface MIXER name 'AIF2INL Mux' value AIF2_DACL comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_DACL item.1 AIF2_DACR item.2 SUM_AIF2DACL_AIF2DACR item.3 AVE_AIF2DACL_AIF2DACR } } control.58 { iface MIXER name 'AIF2OUTR Mux' value AIF2_ADCR comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_ADCR item.1 AIF2_ADCL item.2 SUM_AIF2_ADCL_AIF2_ADCR item.3 AVE_AIF2_ADCL_AIF2_ADCR } } control.59 { iface MIXER name 'AIF2OUTL Mux' value AIF2_ADCL comment { access 'read write' type ENUMERATED count 1 item.0 AIF2_ADCL item.1 AIF2_ADCR item.2 SUM_AIF2_ADCL_AIF2_ADCR item.3 AVE_AIF2_ADCL_AIF2_ADCR } } control.60 { iface MIXER name 'EAR Mux' value DACR comment { access 'read write' type ENUMERATED count 1 item.0 DACR item.1 DACL item.2 'Right Analog Mixer' item.3 'Left Analog Mixer' } } control.61 { iface MIXER name 'SPK_L Mux' value 'MIXEL Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'MIXEL Switch' item.1 'MIXL MIXR  Switch' } } control.62 { iface MIXER name 'SPK_R Mux' value 'MIXER Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'MIXER Switch' item.1 'MIXR MIXL Switch' } } control.63 { iface MIXER name 'HP_L Mux' value 'DACL HPL Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'DACL HPL Switch' item.1 'Left Analog Mixer HPL Switch' } } control.64 { iface MIXER name 'HP_R Mux' value 'DACR HPR Switch' comment { access 'read write' type ENUMERATED count 1 item.0 'DACR HPR Switch' item.1 'Right Analog Mixer HPR Switch' } } control.65 { iface MIXER name 'Right Output Mixer DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.66 { iface MIXER name 'Right Output Mixer DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.67 { iface MIXER name 'Right Output Mixer LINEINR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.68 { iface MIXER name 'Right Output Mixer MIC2Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.69 { iface MIXER name 'Right Output Mixer MIC1Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.70 { iface MIXER name 'Right Output Mixer PHONEINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.71 { iface MIXER name 'Right Output Mixer PHONEINN-PHONEINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.72 { iface MIXER name 'Left Output Mixer DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.73 { iface MIXER name 'Left Output Mixer DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.74 { iface MIXER name 'Left Output Mixer LINEINL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.75 { iface MIXER name 'Left Output Mixer MIC2Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.76 { iface MIXER name 'Left Output Mixer MIC1Booststage Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.77 { iface MIXER name 'Left Output Mixer PHONEINP Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.78 { iface MIXER name 'Left Output Mixer PHONEINP-PHONEINN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.79 { iface MIXER name 'DACR Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.80 { iface MIXER name 'DACR Mixer AIF2DACR Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.81 { iface MIXER name 'DACR Mixer AIF1DA1R Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.82 { iface MIXER name 'DACR Mixer AIF1DA0R Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.83 { iface MIXER name 'DACL Mixer ADCL Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.84 { iface MIXER name 'DACL Mixer AIF2DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.85 { iface MIXER name 'DACL Mixer AIF1DA1L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.86 { iface MIXER name 'DACL Mixer AIF1DA0L Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.87 { iface MIXER name 'AIF1 AD1R Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.88 { iface MIXER name 'AIF1 AD1R Mixer ADCR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.89 { iface MIXER name 'AIF1 AD1L Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.90 { iface MIXER name 'AIF1 AD1L Mixer ADCL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.91 { iface MIXER name 'AIF1 AD0R Mixer AIF1 DA0R Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.92 { iface MIXER name 'AIF1 AD0R Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.93 { iface MIXER name 'AIF1 AD0R Mixer ADCR Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.94 { iface MIXER name 'AIF1 AD0R Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.95 { iface MIXER name 'AIF1 AD0L Mixer AIF1 DA0L Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.96 { iface MIXER name 'AIF1 AD0L Mixer AIF2 DACL Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.97 { iface MIXER name 'AIF1 AD0L Mixer ADCL Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.98 { iface MIXER name 'AIF1 AD0L Mixer AIF2 DACR Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.99 { iface MIXER name 'AIF1IN1R Mux' value AIF1_DA1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA1R item.1 AIF1_DA1L item.2 SUM_AIF1DA1L_AIF1DA1R item.3 AVE_AIF1DA1L_AIF1DA1R } } control.100 { iface MIXER name 'AIF1IN1L Mux' value AIF1_DA1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA1L item.1 AIF1_DA1R item.2 SUM_AIF1DA1L_AIF1DA1R item.3 AVE_AIF1DA1L_AIF1DA1R } } control.101 { iface MIXER name 'AIF1IN0R Mux' value AIF1_DA0R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA0R item.1 AIF1_DA0L item.2 SUM_AIF1DA0L_AIF1DA0R item.3 AVE_AIF1DA0L_AIF1DA0R } } control.102 { iface MIXER name 'AIF1IN0L Mux' value AIF1_DA0L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_DA0L item.1 AIF1_DA0R item.2 SUM_AIF1DA0L_AIF1DA0R item.3 AVE_AIF1DA0L_AIF1DA0R } } control.103 { iface MIXER name 'AIF1OUT1R Mux' value AIF1_AD1R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD1R item.1 AIF1_AD1L item.2 SUM_AIF1ADC1L_AIF1ADC1R item.3 AVE_AIF1ADC1L_AIF1ADC1R } } control.104 { iface MIXER name 'AIF1OUT1L Mux' value AIF1_AD1L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD1L item.1 AIF1_AD1R item.2 SUM_AIF1ADC1L_AIF1ADC1R item.3 AVE_AIF1ADC1L_AIF1ADC1R } } control.105 { iface MIXER name 'AIF1OUT0R Mux' value AIF1_AD0R comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD0R item.1 AIF1_AD0L item.2 SUM_AIF1AD0L_AIF1AD0R item.3 AVE_AIF1AD0L_AIF1AD0R } } control.106 { iface MIXER name 'AIF1OUT0L Mux' value AIF1_AD0L comment { access 'read write' type ENUMERATED count 1 item.0 AIF1_AD0L item.1 AIF1_AD0R item.2 SUM_AIF1AD0L_AIF1AD0R item.3 AVE_AIF1AD0L_AIF1AD0R } } control.107 { iface MIXER name 'AIF2INR Mux VIR switch aif2inr aif3' value false comment { access 'read write' type BOOLEAN count 1 } } control.108 { iface MIXER name 'AIF2INL Mux VIR switch aif2inl aif3' value false comment { access 'read write' type BOOLEAN count 1 } } control.109 { iface MIXER name 'AIF2INR Mux switch aif2inr aif2' value false comment { access 'read write' type BOOLEAN count 1 } } control.110 { iface MIXER name 'AIF2INL Mux switch aif2inl aif2' value false comment { access 'read write' type BOOLEAN count 1 } } control.111 { iface MIXER name 'External Speaker Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.112 { iface MIXER name 'Headphone Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.113 { iface MIXER name 'Earpiece Switch' value false comment { access 'read write' type BOOLEAN count 1 } } } state.sndhdmi { control.1 { iface MIXER name 'hdmi audio format Function' value pcm comment { access 'read write' type ENUMERATED count 1 item.0 null item.1 pcm item.2 AC3 item.3 MPEG1 item.4 MP3 item.5 MPEG2 item.6 AAC item.7 DTS item.8 ATRAC item.9 ONE_BIT_AUDIO item.10 DOLBY_DIGITAL_PLUS item.11 DTS_HD item.12 MAT item.13 WMAPRO } } }

Can you see any mismatch? Huh Huh Huh Huh Huh Huh Huh Huh Huh Huh
#6
How do you check if your mic is working?
Come have a chat in the Pine IRC channel >>
#7
(03-27-2017, 09:08 AM)xalius Wrote: How do you check if your mic is working?

I check it on my Ubuntu Laptop and it works fine Sad
#8
No I mean what software do you use on the Pine with your mic? Do you use ALSA utilitties or something else?
Come have a chat in the Pine IRC channel >>
#9
(03-27-2017, 09:25 AM)xalius Wrote: No I mean what software do you use on the Pine with your mic? Do you use ALSA utilitties or something else?

I'm trying to record with these two commands:
  • arecord -f S16_LE -D hw:1,0 -V stereo "recording.wav"
  • pacat --record -d alsa_output.platform-sound.6.analog-stereo.monitor | sox -t raw -r 44100 -L -e signed-integer -S -b 16 -c 2 - "recording.wav" (these record the signal in output channel)
  • pacat --record -d alsa_input.platform-sound.6.analog-stereo | sox -t raw -r 44100 -L -e signed-integer -S -b 16 -c 2 - "recording.wav"
Aren't these correct?
#10
That should be ok, I would use arecord too for testing, make sure you have the correct device...
Come have a chat in the Pine IRC channel >>


Possibly Related Threads…
Thread Author Replies Views Last Post
  +LTS/SOPINE Audio Jack Pinout Little_Johnny 0 5,941 12-29-2019, 08:44 AM
Last Post: Little_Johnny
  Pine64 (analog) Audio Jack Output w/ Kernel 4.19 ecolezen 0 6,110 01-24-2019, 07:00 AM
Last Post: ecolezen
  Sound quality from audio jack devanl 0 6,171 10-11-2017, 10:39 PM
Last Post: devanl
  Packet loss on lan port Hiren 4 11,290 09-06-2016, 08:18 AM
Last Post: Hiren

Forum Jump:


Users browsing this thread: 1 Guest(s)