alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Internal Mic Boost channel is unused
@ 2013-09-12 15:52 Nathanael D. Noblet
  2013-09-12 18:43 ` David Henningsson
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-09-12 15:52 UTC (permalink / raw)
  To: alsa-devel; +Cc: David Henningsson

[-- Attachment #1: Type: text/plain, Size: 1101 bytes --]

Hello,

    I have an issue I'd like to help completely solve. Unfortunately I 
only have a tenuous grasp of what is actually going on so some of this 
could be wrong/include errors.

   Here's what I know.

  1) I have the following hardware (alsa-info attached).
  2) The internal microphone requires that the mic boost channel be 
something other than 0 to function properly.
  3) Changing what pulseaudio expects things to be labelled causes the 
problem to go away. (via the attached patch to 
/usr/share/pulseaudio/paths/analog-input-mic.conf).

   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.

   I'd love to be able to help any way I can to get these fixed once and 
for all. Let me know if you need more information or what not.

-- 
Nathanael d. Noblet
t 403.875.4613

[-- Attachment #2: alsa.info.txt --]
[-- Type: text/plain, Size: 33607 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.62
!!################################

!!Script ran on: Wed Sep 11 22:18:50 UTC 2013


!!Linux Distribution
!!------------------

Fedora release 19 (Schrödinger’s Cat) Fedora release 19 (Schrödinger’s Cat) NAME=Fedora ID=fedora PRETTY_NAME="Fedora 19 (Schrödinger’s Cat)" CPE_NAME="cpe:/o:fedoraproject:fedora:19" Fedora release 19 (Schrödinger’s Cat) Fedora release 19 (Schrödinger’s Cat)


!!DMI Information
!!---------------

Manufacturer:      Acer
Product Name:      AO722
Product Version:   V1.08
Firmware Version:  V1.08


!!Kernel Information
!!------------------

Kernel release:    3.10.7-200.ns.fc19.i686.PAE
Operating System:  GNU/Linux
Architecture:      i686
Processor:         i686
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k3.10.7-200.ns.fc19.i686.PAE
Library version:    
Utilities version:  1.0.27.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel
snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0x90444000 irq 41
 1 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0x90440000 irq 16


!!PCI Soundcards installed in the system
!!--------------------------------------

00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310]
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:01.1 0403: 1002:1314
	Subsystem: 1025:0598
--
00:14.2 0403: 1002:4383 (rev 40)
	Subsystem: 1025:0598


!!Loaded sound module options
!!---------------------------

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 0
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N
	snoop : Y

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 0
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N
	snoop : Y


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100200
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3
  Power: setting=D0, actual=D0
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Converter: stream=1, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x02
Codec: Conexant CX20588
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f1506c
Subsystem Id: 0x10250598
Revision Id: 0x100003
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=4, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CX20588 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x4a 0x4a]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x4a 0x4a]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x12 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
  Amp-Out vals:  [0x06]
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 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="CX20588 Alt Analog", type="Audio", device=2
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0xc6 0xc6] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, 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 0x16 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=2, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=2, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0xc7 0xc7] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, 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 0x17 [Audio Selector] wcaps 0x30050d: Stereo Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x04 0x04]
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a 0x1b 0x1d 0x1e*
Node 0x18 [Audio Selector] wcaps 0x30050d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a* 0x1b 0x1d 0x1e
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
  Control: name="Headphone Jack", index=0, device=0
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x03211040: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1a [Pin Complex] wcaps 0x400481: Stereo
  Control: name="Mic Jack", index=1, device=0
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x03a1103e: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0xe
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=04, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x400581: Stereo
  Control: name="Mic Jack", index=0, device=0
  Pincap 0x00011334: IN OUT EAPD Detect
    Vref caps: HIZ 50 80
  EAPD 0x2: EAPD
  Pin Default 0x03a19030: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1d [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00010034: IN OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1e [Pin Complex] wcaps 0x400481: Stereo
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Pincap 0x00000024: IN Detect
  Pin Default 0x95a70120: [Fixed] Mic at Int Top
    Conn = Analog, Color = Unknown
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x1f [Pin Complex] wcaps 0x400501: Stereo
  Control: name="Speaker Phantom Jack", index=0, device=0
  Pincap 0x00000010: OUT
  Pin Default 0x92170110: [Fixed] Speaker at Int Front
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11*
Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x12
Node 0x21 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x22 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x21
Node 0x23 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
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
Node 0x25 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  4 Sep  6 17:23 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  9 Sep  6 17:23 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  3 Sep  6 17:23 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  8 Sep  6 17:23 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  2 Sep 11 16:16 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  7 Sep 11 16:16 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  6 Sep 11 16:16 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  5 Sep  6 17:23 /dev/snd/pcmC1D2c
crw-rw----+ 1 root audio 116,  1 Sep  6 17:23 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Sep  6 17:23 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x. 2 root root  80 Sep  6 17:23 .
drwxr-xr-x. 3 root root 260 Sep  6 17:23 ..
lrwxrwxrwx. 1 root root  12 Sep  6 17:23 pci-0000:00:01.1 -> ../controlC0
lrwxrwxrwx. 1 root root  12 Sep  6 17:23 pci-0000:00:14.2 -> ../controlC1


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CX20588 Analog [CX20588 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: SB [HDA ATI SB], device 0: CX20588 Analog [CX20588 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 2: CX20588 Alt Analog [CX20588 Alt Analog]
  Subdevices: 2/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Generic]

Card hw:0 'Generic'/'HD-Audio Generic at 0x90444000 irq 41'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100200'
  Controls      : 7
  Simple ctrls  : 1
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [SB]

Card hw:1 'SB'/'HDA ATI SB at 0x90440000 irq 16'
  Mixer name	: 'Conexant CX20588'
  Components	: 'HDA:14f1506c,10250598,00100003'
  Controls      : 29
  Simple ctrls  : 13
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 [100%] [40.00dB]
  Front Right: 4 [100%] [40.00dB]
Simple mixer control 'Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 7
  Mono: Playback 6 [86%] [-4.00dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [on]
  Front Right: Capture 80 [100%] [6.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 70 [88%] [-4.00dB] [off]
  Front Right: Capture 70 [88%] [-4.00dB] [off]
Simple mixer control 'Capture',2
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 71 [89%] [-3.00dB] [off]
  Front Right: Capture 71 [89%] [-3.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
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'


!!Alsactl output
!!--------------

--startcollapse--
state.Generic {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
}
state.SB {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Input Source'
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 'Internal Mic'
			item.2 'Mic 1'
		}
	}
	control.7 {
		iface MIXER
		name 'Input Source'
		index 1
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 'Internal Mic'
			item.2 'Mic 1'
		}
	}
	control.8 {
		iface MIXER
		name 'Input Source'
		index 2
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 'Internal Mic'
			item.2 'Mic 1'
		}
	}
	control.9 {
		iface MIXER
		name 'Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.10 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 70
		value.1 70
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 -400
			dbvalue.1 -400
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Volume'
		index 2
		value.0 71
		value.1 71
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 -300
			dbvalue.1 -300
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Switch'
		index 2
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.15 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 4
		value.1 4
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 4000
			dbvalue.1 4000
		}
	}
	control.16 {
		iface MIXER
		name 'Master Playback Volume'
		value 74
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Mic Jack'
		index 1
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'Beep Playback Volume'
		value 6
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -2800
			dbmax 0
			dbvalue.0 -400
		}
	}
	control.24 {
		iface MIXER
		name 'Beep Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.26 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.27 {
		iface PCM
		device 2
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		device 2
		name 'Capture Channel Map'
		index 1
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
ums_realtek
usb_storage
fuse
ebtable_nat
nf_conntrack_netbios_ns
nf_conntrack_broadcast
ipt_MASQUERADE
bnep
bluetooth
ip6table_nat
nf_nat_ipv6
ip6table_mangle
ip6t_REJECT
nf_conntrack_ipv6
nf_defrag_ipv6
iptable_nat
nf_nat_ipv4
nf_nat
iptable_mangle
nf_conntrack_ipv4
nf_defrag_ipv4
xt_conntrack
nf_conntrack
ebtable_filter
ebtables
ip6table_filter
ip6_tables
acer_wmi
sparse_keymap
acpi_cpufreq
mperf
kvm_amd
arc4
kvm
ath9k
ath9k_common
ath9k_hw
snd_hda_codec_conexant
ath
snd_hda_codec_hdmi
mac80211
uvcvideo
videobuf2_vmalloc
videobuf2_memops
snd_hda_intel
videobuf2_core
videodev
media
snd_hda_codec
microcode
snd_hwdep
snd_seq
snd_seq_device
snd_pcm
cfg80211
k10temp
rfkill
atl1c
sp5100_tco
i2c_piix4
snd_page_alloc
snd_timer
snd
soundcore
uinput
dm_crypt
radeon
i2c_algo_bit
drm_kms_helper
ttm
drm
i2c_core
video
wmi


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x03 0x18560010

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC1D0/init_pin_configs:
0x19 0x03211040
0x1a 0x03a1103e
0x1b 0x03a19030
0x1c 0x400001f0
0x1d 0x400001f0
0x1e 0x95a70120
0x1f 0x92170110
0x20 0x400001f0
0x22 0x400001f0
0x23 0x400001f0

/sys/class/sound/hwC1D0/driver_pin_configs:

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    3.572674] [drm] Connector 1:
[    3.572678] [drm]   HDMI-A-1
[    3.572682] [drm]   HPD2
--
[   24.402852] Linux video capture interface: v2.00
[   24.431853] ALSA sound/pci/hda/hda_intel.c:3276 0000:00:01.1: Using LPIB position fix
[   24.431951] snd_hda_intel 0000:00:01.1: irq 41 for MSI/MSI-X
[   24.455441] ALSA sound/pci/hda/hda_intel.c:1763 0000:00:01.1: Enable sync_write for stable communication
[   24.474915] uvcvideo: Found UVC 1.00 device WebCam (0402:7675)
--
[   24.488462] USB Video Class driver (1.1.1)
[   24.495250] input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.1/sound/card0/input8
[   24.499313] ALSA sound/pci/hda/hda_intel.c:3276 0000:00:14.2: Using LPIB position fix
[   24.499797] snd_hda_intel 0000:00:14.2: setting latency timer to 64
[   24.509487] ALSA sound/pci/hda/hda_intel.c:1763 0000:00:14.2: Enable sync_write for stable communication
[   24.548554] hda_codec: CX20588: BIOS auto-probing.
[   24.549081] ALSA sound/pci/hda/hda_auto_parser.c:393 autoconfig: line_outs=1 (0x1f/0x0/0x0/0x0/0x0) type:speaker
[   24.549095] ALSA sound/pci/hda/hda_auto_parser.c:397    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   24.549103] ALSA sound/pci/hda/hda_auto_parser.c:401    hp_outs=1 (0x19/0x0/0x0/0x0/0x0)
[   24.549109] ALSA sound/pci/hda/hda_auto_parser.c:402    mono: mono_out=0x0
[   24.549114] ALSA sound/pci/hda/hda_auto_parser.c:406    inputs:
[   24.549122] ALSA sound/pci/hda/hda_auto_parser.c:410      Mic=0x1b
[   24.549128] ALSA sound/pci/hda/hda_auto_parser.c:410      Internal Mic=0x1e
[   24.549135] ALSA sound/pci/hda/hda_auto_parser.c:410      Mic=0x1a
[   24.584329] microcode: failed to load file amd-ucode/microcode_amd.bin
--
[   24.694482] ieee80211 phy0: Atheros AR9485 Rev:1 mem=0xf9580000, irq=19
[   24.696032] input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card1/input9
[   24.696344] input: HDA ATI SB Mic as /devices/pci0000:00/0000:00:14.2/sound/card1/input10
[   24.696613] input: HDA ATI SB Mic as /devices/pci0000:00/0000:00:14.2/sound/card1/input11
[   24.730978] acpi-cpufreq: overriding BIOS provided _PSD data
--
[  586.687907] PM: early resume of devices complete after 0.211 msecs
[  586.688763] snd_hda_intel 0000:00:01.1: irq 41 for MSI/MSI-X
[  586.690406] ath: phy0: ASPM enabled: 0x43




[-- Attachment #3: mic-boost.patch --]
[-- Type: text/x-patch, Size: 484 bytes --]

--- analog-input-internal-mic.conf.org	2013-09-11 16:10:12.936214819 -0600
+++ analog-input-internal-mic.conf	2013-09-11 16:14:01.251544504 -0600
@@ -138,8 +138,17 @@
 volume = off
 
 [Element Mic Boost]
-switch = off
-volume = off
+required-any = any
+switch = select
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Option Mic Boost:on]
+name = input-boost-on
+
+[Option Mic Boost:off]
+name = input-boost-off
 
 [Element Dock Mic Boost]
 switch = off

[-- Attachment #4: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-12 15:52 Internal Mic Boost channel is unused Nathanael D. Noblet
@ 2013-09-12 18:43 ` David Henningsson
  2013-09-12 19:17   ` Nathanael D. Noblet
  2013-09-13  3:23 ` Raymond Yau
  2013-09-13 16:04 ` Nathanael D. Noblet
  2 siblings, 1 reply; 14+ messages in thread
From: David Henningsson @ 2013-09-12 18:43 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: alsa-devel

On tor, 2013-09-12 at 09:52 -0600, Nathanael D. Noblet wrote:
> Hello,
> 
>     I have an issue I'd like to help completely solve. Unfortunately I 
> only have a tenuous grasp of what is actually going on so some of this 
> could be wrong/include errors.
> 
>    Here's what I know.
> 
>   1) I have the following hardware (alsa-info attached).
>   2) The internal microphone requires that the mic boost channel be 
> something other than 0 to function properly.
>   3) Changing what pulseaudio expects things to be labelled causes the 
> problem to go away. (via the attached patch to 
> /usr/share/pulseaudio/paths/analog-input-mic.conf).
> 
>    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.
> 
>    I'd love to be able to help any way I can to get these fixed once and 
> for all. Let me know if you need more information or what not.
> 

So I saw that you had two selector nodes (0x17 and 0x18), so I figured
one could be "Internal Mic Boost" (for internal mic) and the other one
"Mic Boost" (for external mic).

However, according to the BIOS, you actually have *two* external mic
jacks. Is this correct? It could possibly be that one of them is part of
a headset jack. This might be related to what's confusing the driver, so
perhaps if we just removed the fake mic input that would make things
work.

// David

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-12 18:43 ` David Henningsson
@ 2013-09-12 19:17   ` Nathanael D. Noblet
  0 siblings, 0 replies; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-09-12 19:17 UTC (permalink / raw)
  To: alsa-devel

On 09/12/2013 12:43 PM, David Henningsson wrote:
> So I saw that you had two selector nodes (0x17 and 0x18), so I figured
> one could be "Internal Mic Boost" (for internal mic) and the other one
> "Mic Boost" (for external mic).
>
> However, according to the BIOS, you actually have *two* external mic
> jacks. Is this correct? It could possibly be that one of them is part of
> a headset jack. This might be related to what's confusing the driver, so
> perhaps if we just removed the fake mic input that would make things
> work.

I do have two external mini jacks. One has a mic image, one has a 
headphone image...  Whether both can be used as mic inputs that I'm not 
sure about.

-- 
Nathanael d. Noblet
t 403.875.4613

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-12 15:52 Internal Mic Boost channel is unused Nathanael D. Noblet
  2013-09-12 18:43 ` David Henningsson
@ 2013-09-13  3:23 ` Raymond Yau
  2013-09-13 16:04 ` Nathanael D. Noblet
  2 siblings, 0 replies; 14+ messages in thread
From: Raymond Yau @ 2013-09-13  3:23 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: ALSA Development Mailing List, David Henningsson

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

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

>  3) Changing what pulseaudio expects things to be labelled causes the
problem to go away. (via the attached patch to
/usr/share/pulseaudio/paths/analog-input-mic.conf).
>
>   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.
>

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-12 15:52 Internal Mic Boost channel is unused Nathanael D. Noblet
  2013-09-12 18:43 ` David Henningsson
  2013-09-13  3:23 ` Raymond Yau
@ 2013-09-13 16:04 ` Nathanael D. Noblet
  2013-09-14  0:34   ` David Henningsson
                     ` (2 more replies)
  2 siblings, 3 replies; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-09-13 16:04 UTC (permalink / raw)
  To: alsa-devel

Sorry I some how deleted your response... so this may not thread well...

Only about 20% of what you said makes much sense to me so you'll have to 
bear with me...

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

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

1) What if both can be a microphone?
2) If only one can be a microphone, I have no idea how to tell you if 
its 0x1a or 0x1b.. hda-analyzer/alsa low level stuff is completely new 
to me.

>
>>  3) Changing what pulseaudio expects things to be labelled causes the
> problem to go away. (via the attached patch to
> /usr/share/pulseaudio/paths/analog-input-mic.conf).
>>
>>   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.
>>
>
> 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. If you want me to do something to 
test I can do that.

One more thing, if getting this properly fixed can be sped up via a ssh 
login and IRC chat I can give you access to the machine and be on IRC 
whenever to get it working.

-- 
Nathanael d. Noblet
t 403.875.4613

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-13 16:04 ` Nathanael D. Noblet
@ 2013-09-14  0:34   ` David Henningsson
  2013-09-16 15:14     ` Nathanael D. Noblet
  2013-09-14  2:23   ` Raymond Yau
  2013-09-14  4:14   ` Raymond Yau
  2 siblings, 1 reply; 14+ messages in thread
From: David Henningsson @ 2013-09-14  0:34 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: alsa-devel

2013-09-13 12:04, Nathanael D. Noblet skrev:
> Sorry I some how deleted your response... so this may not thread well...
>
> Only about 20% of what you said makes much sense to me so you'll have 
> to bear with me...

Raymond often comments on everything that looks strange or interesting 
to him, even if it's irrelevant to the actual problem. Don't worry.

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

This indeed looks like a driver bug, but let's figure out the hardware 
first.

>
>>
>>  >  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.
>
> 1) What if both can be a microphone?
> 2) If only one can be a microphone, I have no idea how to tell you if 
> its 0x1a or 0x1b.. hda-analyzer/alsa low level stuff is completely new 
> to me.

When you plug something in, you can look at the output of "amixer -D 
hw:<cardname> contents" to see what, if anything switched to "values=on" 
instead of "values=off".

We would like you to plug a mic into the mic jack and see in what way 
the output of "amixer -D hw:<cardname> contents" changes.
Then we would like you to plug a headset (with both headphone and mic, 
like most smartphones have), and again see if there's a difference in 
amixer.
You can also try this with a headphone only in the headphone jack, if 
you like.

>
>>
>>>  3) Changing what pulseaudio expects things to be labelled causes the
>> problem to go away. (via the attached patch to
>> /usr/share/pulseaudio/paths/analog-input-mic.conf).
>>>
>>>   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.
>>>
>>
>> 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. If you want me to do something 
> to test I can do that.

This is completely irrelevant to your problem.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-13 16:04 ` Nathanael D. Noblet
  2013-09-14  0:34   ` David Henningsson
@ 2013-09-14  2:23   ` Raymond Yau
  2013-09-14  4:14   ` Raymond Yau
  2 siblings, 0 replies; 14+ messages in thread
From: Raymond Yau @ 2013-09-14  2:23 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: ALSA Development Mailing List

>
>>>  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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-13 16:04 ` Nathanael D. Noblet
  2013-09-14  0:34   ` David Henningsson
  2013-09-14  2:23   ` Raymond Yau
@ 2013-09-14  4:14   ` Raymond Yau
  2 siblings, 0 replies; 14+ messages in thread
From: Raymond Yau @ 2013-09-14  4:14 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: ALSA Development Mailing List

>
>
>> 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. If you want me to do something to
> test I can do that.
>
>
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/plain/Documentation/sound/alsa/HD-Audio.txt


hints::
  Shows / stores hint strings for codec parsers for any use.
  Its format is `key = value`.  For example, passing `jack_detect = no`
  will disable the jack detection of the machine completely.


Hint Strings
~~~~~~~~~~~~
The codec parser have several switches and adjustment knobs for
matching better with the actual codec or device behavior.  Many of
them can be adjusted dynamically via "hints" strings as mentioned in
the section above.  For example, by passing `jack_detect = no` string
via sysfs or a patch file, you can disable the jack detection, thus
the codec parser will skip the features like auto-mute or mic
auto-switch.  As a boolean value, either `yes`, `no`, `true`, `false`,
`1` or `0` can be passed.

The generic parser supports the following hints:

- add_stereo_mix_input (bool): add the stereo mix (analog-loopback
  mix) to the input mux if available
- mixer_nid (int): specifies the widget NID of the analog-loopback
  mixer

specify hints



mixer_nid = 0x24
add_stereo_mix_input = true


> get 6
6 Input Source:0
ITEM: 0:Mic, 1:Mic 1, 2:Internal Mic, 3:Stereo Mix, VAL: [Mic]
> set 6 3
send: NID=0x14, VERB=0x701(set_connect_sel), PARM=0x3
receive: 0x0
send: NID=0x24, VERB=0x360(set_amp_gain_mute,I:L#0), PARM=0x4a
receive: 0x0
send: NID=0x24, VERB=0x350(set_amp_gain_mute,I:R#0), PARM=0x4a
receive: 0x0

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-14  0:34   ` David Henningsson
@ 2013-09-16 15:14     ` Nathanael D. Noblet
  2013-09-16 21:57       ` David Henningsson
  0 siblings, 1 reply; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-09-16 15:14 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 2064 bytes --]

On 09/13/2013 06:34 PM, David Henningsson wrote:
>>>  >  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.
>>
>> 1) What if both can be a microphone?
>> 2) If only one can be a microphone, I have no idea how to tell you if
>> its 0x1a or 0x1b.. hda-analyzer/alsa low level stuff is completely new
>> to me.
>
> When you plug something in, you can look at the output of "amixer -D
> hw:<cardname> contents" to see what, if anything switched to "values=on"
> instead of "values=off".
>
> We would like you to plug a mic into the mic jack and see in what way
> the output of "amixer -D hw:<cardname> contents" changes.
> Then we would like you to plug a headset (with both headphone and mic,
> like most smartphones have), and again see if there's a difference in
> amixer.
> You can also try this with a headphone only in the headphone jack, if
> you like.
>

So here's what I did. I didn't have a combo headphone/mic thing handy.

1) nothing.out is the netbook with nothing external plugged in.
2) mic.out is when I plugged in a microphone into the mic jack
3) head.out is when there were headphones plugged into the headphone jack
4) both.out is when something was plugged into both (mic into mic and 
headphone into headphones...

A quick diff shows that amixer is seeing differences.
--- nothing.out	2013-09-16 09:11:54.678168182 -0600
+++ mic.out	2013-09-16 09:11:54.675168245 -0600
@@ -6,7 +6,7 @@
    : values=on
  numid=18,iface=CARD,name='Mic Jack'
    ; type=BOOLEAN,access=r-------,values=1
-  : values=off
+  : values=on
  numid=20,iface=CARD,name='Mic Jack',index=1
    ; type=BOOLEAN,access=r-------,values=1
    : values=off


Given this information... what's the next step?


-- 
Nathanael d. Noblet
t 403.875.4613

[-- Attachment #2: both.out --]
[-- Type: text/plain, Size: 4120 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=0,0
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #3: head.out --]
[-- Type: text/plain, Size: 4121 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=0,0
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #4: mic.out --]
[-- Type: text/plain, Size: 4121 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #5: nothing.out --]
[-- Type: text/plain, Size: 4122 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #6: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-16 15:14     ` Nathanael D. Noblet
@ 2013-09-16 21:57       ` David Henningsson
  2013-09-18 15:28         ` Nathanael D. Noblet
  2013-10-09 19:46         ` Nathanael D. Noblet
  0 siblings, 2 replies; 14+ messages in thread
From: David Henningsson @ 2013-09-16 21:57 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: alsa-devel

On 09/16/2013 05:14 PM, Nathanael D. Noblet wrote:
> On 09/13/2013 06:34 PM, David Henningsson wrote:
>>>>  >  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.
>>>
>>> 1) What if both can be a microphone?
>>> 2) If only one can be a microphone, I have no idea how to tell you if
>>> its 0x1a or 0x1b.. hda-analyzer/alsa low level stuff is completely new
>>> to me.
>>
>> When you plug something in, you can look at the output of "amixer -D
>> hw:<cardname> contents" to see what, if anything switched to "values=on"
>> instead of "values=off".
>>
>> We would like you to plug a mic into the mic jack and see in what way
>> the output of "amixer -D hw:<cardname> contents" changes.
>> Then we would like you to plug a headset (with both headphone and mic,
>> like most smartphones have), and again see if there's a difference in
>> amixer.
>> You can also try this with a headphone only in the headphone jack, if
>> you like.
>>
> 
> So here's what I did. I didn't have a combo headphone/mic thing handy.
> 
> 1) nothing.out is the netbook with nothing external plugged in.
> 2) mic.out is when I plugged in a microphone into the mic jack
> 3) head.out is when there were headphones plugged into the headphone jack
> 4) both.out is when something was plugged into both (mic into mic and
> headphone into headphones...
> 
> A quick diff shows that amixer is seeing differences.
> --- nothing.out    2013-09-16 09:11:54.678168182 -0600
> +++ mic.out    2013-09-16 09:11:54.675168245 -0600
> @@ -6,7 +6,7 @@
>    : values=on
>  numid=18,iface=CARD,name='Mic Jack'
>    ; type=BOOLEAN,access=r-------,values=1
> -  : values=off
> +  : values=on
>  numid=20,iface=CARD,name='Mic Jack',index=1
>    ; type=BOOLEAN,access=r-------,values=1
>    : values=off
> 
> 
> Given this information... what's the next step?

Matching this with your alsa-info, we can see that 'Mic Jack'
corresponds to 0x1b and 'Mic Jack', index=1 corresponds to 0x1a.

Hence you could try turning pin 0x1a to "not connected" in
hda-jack-retask. (I don't know how/if hda-jack-retask is packaged in
Fedora, but it is part of alsa-tools.)

If this resolves your problem, we could then try making that the default
in upcoming kernels, but the question is we really dare to do that,
without clear confirmation that 0x1a is actually useless. In current
state it's a bit buggy, but if the headphone jack is actually a headset
jack turning that off would make the headset mic go from "needs manual
adjustment to work" to "completely unusuable".


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-16 21:57       ` David Henningsson
@ 2013-09-18 15:28         ` Nathanael D. Noblet
  2013-10-09 19:46         ` Nathanael D. Noblet
  1 sibling, 0 replies; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-09-18 15:28 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 3106 bytes --]

On 09/16/2013 03:57 PM, David Henningsson wrote:

>> A quick diff shows that amixer is seeing differences.
>> --- nothing.out    2013-09-16 09:11:54.678168182 -0600
>> +++ mic.out    2013-09-16 09:11:54.675168245 -0600
>> @@ -6,7 +6,7 @@
>>     : values=on
>>   numid=18,iface=CARD,name='Mic Jack'
>>     ; type=BOOLEAN,access=r-------,values=1
>> -  : values=off
>> +  : values=on
>>   numid=20,iface=CARD,name='Mic Jack',index=1
>>     ; type=BOOLEAN,access=r-------,values=1
>>     : values=off
>>
>>
>> Given this information... what's the next step?
>
> Matching this with your alsa-info, we can see that 'Mic Jack'
> corresponds to 0x1b and 'Mic Jack', index=1 corresponds to 0x1a.
>
> Hence you could try turning pin 0x1a to "not connected" in
> hda-jack-retask. (I don't know how/if hda-jack-retask is packaged in
> Fedora, but it is part of alsa-tools.)
>
> If this resolves your problem, we could then try making that the default
> in upcoming kernels, but the question is we really dare to do that,
> without clear confirmation that 0x1a is actually useless. In current
> state it's a bit buggy, but if the headphone jack is actually a headset
> jack turning that off would make the headset mic go from "needs manual
> adjustment to work" to "completely unusuable".

I located a headset (mic and headphones). Plugged them into the 
headphone jack. It seems the mic was 'somewhat' active in that if I 
clicked the mic it would register audio on the vumeter. I did a 
recording and got some noise from it but it wasn't really clear. I don't 
know if this means anything. I've attached the nothing.out and a 
headset.out showing what has changed... Its considerably different than 
the other simple ones. Thoughts?


--- nothing.out	2013-09-16 09:11:54.678168182 -0600
+++ headset.out	2013-09-18 09:25:37.744247730 -0600
@@ -1,6 +1,6 @@
  numid=21,iface=CARD,name='Headphone Jack'
    ; type=BOOLEAN,access=r-------,values=1
-  : values=off
+  : values=on
  numid=19,iface=CARD,name='Internal Mic Phantom Jack'
    ; type=BOOLEAN,access=r-------,values=1
    : values=on
@@ -9,7 +9,7 @@
    : values=off
  numid=20,iface=CARD,name='Mic Jack',index=1
    ; type=BOOLEAN,access=r-------,values=1
-  : values=off
+  : values=on
  numid=22,iface=CARD,name='Speaker Phantom Jack'
    ; type=BOOLEAN,access=r-------,values=1
    : values=on
@@ -73,7 +73,7 @@
    ; Item #0 'Mic'
    ; Item #1 'Internal Mic'
    ; Item #2 'Mic 1'
-  : values=0
+  : values=1
  numid=7,iface=MIXER,name='Input Source',index=1
    ; type=ENUMERATED,access=rw------,values=1,items=3
    ; Item #0 'Mic'
@@ -88,10 +88,10 @@
    : values=1
  numid=4,iface=MIXER,name='Speaker Playback Switch'
    ; type=BOOLEAN,access=rw------,values=2
-  : values=on,on
+  : values=off,off
  numid=3,iface=MIXER,name='Speaker Playback Volume'
    ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
-  : values=74,74
+  : values=0,0
    | dBscale-min=-74.00dB,step=1.00dB,mute=0
  numid=26,iface=PCM,name='Capture Channel Map'
    ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0



-- 
Nathanael d. Noblet
t 403.875.4613

[-- Attachment #2: headset.out --]
[-- Type: text/plain, Size: 4120 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=0,0
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #3: nothing.out --]
[-- Type: text/plain, Size: 4122 bytes --]

numid=21,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=19,iface=CARD,name='Internal Mic Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=18,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=20,iface=CARD,name='Mic Jack',index=1
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=22,iface=CARD,name='Speaker Phantom Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=17,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=16,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=74,step=0
  : values=74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=2,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=29,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=255,255
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=15,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=4,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=12,iface=MIXER,name='Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=14,iface=MIXER,name='Capture Switch',index=2
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=9,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=11,iface=MIXER,name='Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=70,70
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=13,iface=MIXER,name='Capture Volume',index=2
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=71,71
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=5,iface=MIXER,name='Auto-Mute Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Disabled'
  ; Item #1 'Enabled'
  : values=0
numid=24,iface=MIXER,name='Beep Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=23,iface=MIXER,name='Beep Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBscale-min=-28.00dB,step=4.00dB,mute=0
numid=6,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=0
numid=7,iface=MIXER,name='Input Source',index=1
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=8,iface=MIXER,name='Input Source',index=2
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Mic'
  ; Item #1 'Internal Mic'
  ; Item #2 'Mic 1'
  : values=1
numid=4,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
  : values=74,74
  | dBscale-min=-74.00dB,step=1.00dB,mute=0
numid=26,iface=PCM,name='Capture Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=3,4
  |     | chmap-fixed=FL,FR

numid=25,iface=PCM,name='Playback Channel Map'
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=27,iface=PCM,name='Capture Channel Map',device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR

numid=28,iface=PCM,name='Capture Channel Map',index=1,device=2
  ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
  : values=0,0
  |     | chmap-fixed=FL,FR


[-- Attachment #4: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-09-16 21:57       ` David Henningsson
  2013-09-18 15:28         ` Nathanael D. Noblet
@ 2013-10-09 19:46         ` Nathanael D. Noblet
  2013-10-09 19:58           ` Nathanael D. Noblet
  1 sibling, 1 reply; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-10-09 19:46 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

On 09/16/2013 03:57 PM, David Henningsson wrote:
> Matching this with your alsa-info, we can see that 'Mic Jack'
> corresponds to 0x1b and 'Mic Jack', index=1 corresponds to 0x1a.
>
> Hence you could try turning pin 0x1a to "not connected" in
> hda-jack-retask. (I don't know how/if hda-jack-retask is packaged in
> Fedora, but it is part of alsa-tools.)
>
> If this resolves your problem, we could then try making that the default
> in upcoming kernels, but the question is we really dare to do that,
> without clear confirmation that 0x1a is actually useless. In current
> state it's a bit buggy, but if the headphone jack is actually a headset
> jack turning that off would make the headset mic go from "needs manual
> adjustment to work" to "completely unusuable".

So that adjustment allows the internal microphone to be useable. However 
the mic in jack is now completely unusable. With a headset or a plain 
microphone.

Thoughts?

-- 
Nathanael d. Noblet
t 403.875.4613

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-10-09 19:46         ` Nathanael D. Noblet
@ 2013-10-09 19:58           ` Nathanael D. Noblet
  2013-10-10 13:33             ` David Henningsson
  0 siblings, 1 reply; 14+ messages in thread
From: Nathanael D. Noblet @ 2013-10-09 19:58 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

On 10/09/2013 01:46 PM, Nathanael D. Noblet wrote:
> On 09/16/2013 03:57 PM, David Henningsson wrote:
>> Matching this with your alsa-info, we can see that 'Mic Jack'
>> corresponds to 0x1b and 'Mic Jack', index=1 corresponds to 0x1a.
>>
>> Hence you could try turning pin 0x1a to "not connected" in
>> hda-jack-retask. (I don't know how/if hda-jack-retask is packaged in
>> Fedora, but it is part of alsa-tools.)
>>
>> If this resolves your problem, we could then try making that the default
>> in upcoming kernels, but the question is we really dare to do that,
>> without clear confirmation that 0x1a is actually useless. In current
>> state it's a bit buggy, but if the headphone jack is actually a headset
>> jack turning that off would make the headset mic go from "needs manual
>> adjustment to work" to "completely unusuable".
>
> So that adjustment allows the internal microphone to be useable. However
> the mic in jack is now completely unusable. With a headset or a plain
> microphone.
>
> Thoughts?


Actually I was wrong. I plugged it into the wrong jack. With that retask 
everything seems to work now. Plugging in a microphone into the mic jack 
picks up that audio, unplugging it uses the built in mic. So that's 
good. What's the next step?


-- 
Nathanael d. Noblet
t 403.875.4613

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Internal Mic Boost channel is unused
  2013-10-09 19:58           ` Nathanael D. Noblet
@ 2013-10-10 13:33             ` David Henningsson
  0 siblings, 0 replies; 14+ messages in thread
From: David Henningsson @ 2013-10-10 13:33 UTC (permalink / raw)
  To: Nathanael D. Noblet; +Cc: alsa-devel

On 10/09/2013 09:58 PM, Nathanael D. Noblet wrote:
> On 10/09/2013 01:46 PM, Nathanael D. Noblet wrote:
>> On 09/16/2013 03:57 PM, David Henningsson wrote:
>>> Matching this with your alsa-info, we can see that 'Mic Jack'
>>> corresponds to 0x1b and 'Mic Jack', index=1 corresponds to 0x1a.
>>>
>>> Hence you could try turning pin 0x1a to "not connected" in
>>> hda-jack-retask. (I don't know how/if hda-jack-retask is packaged in
>>> Fedora, but it is part of alsa-tools.)
>>>
>>> If this resolves your problem, we could then try making that the default
>>> in upcoming kernels, but the question is we really dare to do that,
>>> without clear confirmation that 0x1a is actually useless. In current
>>> state it's a bit buggy, but if the headphone jack is actually a headset
>>> jack turning that off would make the headset mic go from "needs manual
>>> adjustment to work" to "completely unusuable".
>>
>> So that adjustment allows the internal microphone to be useable. However
>> the mic in jack is now completely unusable. With a headset or a plain
>> microphone.
>>
>> Thoughts?
> 
> 
> Actually I was wrong. I plugged it into the wrong jack. With that retask
> everything seems to work now. Plugging in a microphone into the mic jack
> picks up that audio, unplugging it uses the built in mic. So that's
> good. What's the next step?

Ok, so I made a patch (just sent it) that properly names the headset mic
as such, so we don't end up with "Mic" and "Mic 1" but "Mic" and
"Headset Mic" instead.

It is a step in the right direction and I encourage you to test it - but
it does not solve the more difficult problem with the parser: that all
three inputs go through node 0x17, and that node gets a control "xxx
Boost" that's named after one of them, without indication that it
actually controls boost for all three of them.


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-10-10 13:33 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-12 15:52 Internal Mic Boost channel is unused Nathanael D. Noblet
2013-09-12 18:43 ` David Henningsson
2013-09-12 19:17   ` Nathanael D. Noblet
2013-09-13  3:23 ` Raymond Yau
2013-09-13 16:04 ` Nathanael D. Noblet
2013-09-14  0:34   ` David Henningsson
2013-09-16 15:14     ` Nathanael D. Noblet
2013-09-16 21:57       ` David Henningsson
2013-09-18 15:28         ` Nathanael D. Noblet
2013-10-09 19:46         ` Nathanael D. Noblet
2013-10-09 19:58           ` Nathanael D. Noblet
2013-10-10 13:33             ` David Henningsson
2013-09-14  2:23   ` Raymond Yau
2013-09-14  4:14   ` Raymond Yau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).