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