- 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
- 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