[alsa-devel] Internal Mic Boost channel is unused
Raymond Yau
superquad.vortex2 at gmail.com
Sat Sep 14 04:23:54 CEST 2013
>
>>> 1) I have the following hardware (alsa-info attached).
>>>
>>
>> Simple mixer control 'Input Source',0
>> Capabilities: cenum Items: 'Mic' 'Internal Mic' 'Mic 1'
>> Item0: 'Internal Mic'
>> Simple mixer control 'Input Source',1
>> Capabilities: cenum Items: 'Mic' 'Internal Mic' 'Mic 1'
>> Item0: 'Internal Mic'
>> Simple mixer control 'Input Source',2
>> Capabilities: cenum Items: 'Mic' 'Internal Mic' 'Mic 1'
>> Item0: 'Internal Mic'
>>
>>
>> using hda-emu
>>
>> the driver always use selector 0x17 for the three input source controls
>>
>> 6 Input Source:0
>> ITEM: 0:Mic, 1:Mic 1, 2:Internal Mic, VAL: [Mic]
>>
>>> set 6 2
>>>
>> send: NID=0x14, VERB=0x701(set_connect_sel), PARM=0x0
>> receive: 0x0
>> send: NID=0x17, VERB=0x701(set_connect_sel), PARM=0x3
>> receive: 0x0
>>
>>> set 7 2
>>>
>> send: NID=0x15, VERB=0x701(set_connect_sel), PARM=0x0
>> receive: 0x0
>> send: NID=0x17, VERB=0x701(set_connect_sel), PARM=0x3
>> receive: 0x0
>>
>>> set 8 2
>>>
>> send: NID=0x16, VERB=0x701(set_connect_sel), PARM=0x0
>> receive: 0x0
>> send: NID=0x17, VERB=0x701(set_connect_sel), PARM=0x3
>> receive: 0x0
>>
>> It is a bug of the driver to create three input source select controls
>> when
>> there are only two audio selectors 0x17 and 0x18 as node 0x23 is not one
>> of
>> the input pins
>>
>> The topology does not allow three different input sources with two
>> selectors
>>
>
> Ok so the that makes sense but I'm not sure what you want me to do about
> it.
>
>
unfortunately even auto mic is enabled by removing one of the external mic,
the driver only use 0x17
hda-codec: Enable auto-mic switch on NID 0x1e/0x1b/0x0
> jack
NID 0x19: cfg 0x03211040: [Jack] HP Out at Ext Left
NID 0x1b: cfg 0x03a19030: [Jack] Mic at Ext Left
NID 0x1e: cfg 0x95a70120: [Fixed] Mic at Int Top
NID 0x1f: cfg 0x92170110: [Fixed] Speaker at Int Front
> jack 0x1b 1
send: NID=0x1b, VERB=0xf09(get_pin_sense), PARM=0x0
receive: 0x80000000
send: NID=0x14, VERB=0x701(set_connect_sel), PARM=0x0
receive: 0x0
send: NID=0x17, VERB=0x701(set_connect_sel), PARM=0x1
receive: 0x0
JACK report Headphone, status 0
CTL Notify: Mic Jack:0, mask=1
JACK report Mic, status 2
> jack 0x1b 0
send: NID=0x1b, VERB=0xf09(get_pin_sense), PARM=0x0
receive: 0x0
send: NID=0x14, VERB=0x701(set_connect_sel), PARM=0x0
receive: 0x0
send: NID=0x17, VERB=0x701(set_connect_sel), PARM=0x3
receive: 0x0
JACK report Headphone, status 0
CTL Notify: Mic Jack:0, mask=1
JACK report Mic, status 0
>
>> > 2) The internal microphone requires that the mic boost channel be
>> something other than 0 to function properly.
>>
>> You have to find out whether node 0x1a or 0x1b can be used as the headset
>> jack (headphone with Mic using TRRS connector)
>>
>
> So basically I need to plug a microphone into each port and figure out if
> both of them work as microphone. A couple things.
>
Refer to Aspire One Series Quick Guide, the headphone jack support
headphone or speaker, what you need is to find out which node is the mic
jack (0x1a or 0x1b) ?
icon Item Description
Headphone/speaker/ Connects to audio line-out devices
line-out jack (e.g., speakers, headphones).
Microphone-in jack Accepts inputs from external
microphones.
>>
>>> From the discussion with David Henningsson (diwic on IRC). It seems
>>>
>> that pulse doesn't expect a Mic Boost channel to be used with internal
>> microphones. As such to fix this particular hardware, the driver would
>> need
>> to make the internal mic boost be labelled "Internal Mic Boost" as opposed
>> to Mic Boost, which is then is used for both external and internal mics.
>>
>>>
>>>
As there is no path for the input pins to the output pins (No Mic playback
volume)
The capabilites of this mic boost should be cvolume instead of volume
it should not appear in Playback View of alsamixer
Simple mixer control 'Mic Boost',0
Capabilities: volume penum
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 4
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
>
>> Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
>> Control: name="Capture Volume", index=0, device=0 ControlAmp: chs=3,
>> dir=In, idx=0, ofs=0
>> Control: name="Capture Switch", index=0, device=0 ControlAmp: chs=3,
>> dir=In, idx=0, ofs=0
>> Device: name="CX20588 Analog", type="Audio", device=0 Amp-In caps:
>> ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
>> Amp-In vals: [0x50 0x50] [0x80 0x80] [0x80 0x80] [0x80 0x80]
>> Converter: stream=4, channel=0 SDI-Select: 0
>> PCM: rates [0x160]: 44100 48000 96000
>> bits [0xe]: 16 20 24
>> formats [0x1]: PCM
>> Power states: D0 D1 D2 D3 D3cold EPSS Power: setting=D0, actual=D0
>> Connection: 4
>> 0x17* 0x18 0x23 0x24
>>
>> Node 0x24 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
>> Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
>> Amp-In vals: [0x00 0x00] [0x00 0x00]
>> Power states: D0 D1 D2 D3 D3cold EPSS
>> Power: setting=D0, actual=D0
>> Connection: 2
>> 0x10 0x11
>>
>> BTW there seem to be an audio path from DAC to ADC throungh audio mixer
>> 0x24, does this allow you to record the DAC playback directly ? Using
>> hda-analyzer to change the selection of audio input node 0x14 and fix the
>> amps at node 0x24
>>
>
> I have no idea what DAC to ADC means.
[Audio Output] 0x10/0x11 -> [Audio Mixer] 0x24 -> [Audio Selector] 0x17 ->
[Audio Input] 0x14
record the playing signal without a loopback cable
More information about the Alsa-devel
mailing list