[alsa-devel] [PATCH - hda intel conextant 1/1] Fixed microphone mixer for HP Compaq Presario F700 Added conextant patch for Hewlett-Packard Company Device Subsystem id - 103c:30ea
From: Ken Prox kprox@users.sourceforge.net
Signed-off-by: Ken Prox kprox@users.sourceforge.net --- pci/hda/patch_conexant.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/pci/hda/patch_conexant.c b/pci/hda/patch_conexant.c index 947785f..6142d75 100644 --- a/pci/hda/patch_conexant.c +++ b/pci/hda/patch_conexant.c @@ -1723,6 +1723,22 @@ static struct snd_kcontrol_new cxt5051_hp_dv6736_mixers[] = { {} };
+static struct snd_kcontrol_new cxt5051_f700_mixers[] = { + HDA_CODEC_VOLUME("Mic Volume", 0x14, 0x01, HDA_INPUT), + HDA_CODEC_MUTE("Mic Switch", 0x14, 0x01, HDA_INPUT), + HDA_CODEC_VOLUME("Master Playback Volume", 0x10, 0x00, HDA_OUTPUT), + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Master Playback Switch", + .info = cxt_eapd_info, + .get = cxt_eapd_get, + .put = cxt5051_hp_master_sw_put, + .private_value = 0x1a, + }, + + {} +}; + static struct hda_verb cxt5051_init_verbs[] = { /* Line in, Mic */ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03}, @@ -1813,6 +1829,32 @@ static struct hda_verb cxt5051_lenovo_x200_init_verbs[] = { { } /* end */ };
+static struct hda_verb cxt5051_f700_init_verbs[] = { + /* Line in, Mic */ + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03}, + {0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, + {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0}, + {0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0}, + /* SPK */ + {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, + {0x1a, AC_VERB_SET_CONNECT_SEL, 0x00}, + /* HP, Amp */ + {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, + {0x16, AC_VERB_SET_CONNECT_SEL, 0x00}, + /* DAC1 */ + {0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + /* Record selector: Int mic */ + {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x44}, + {0x14, AC_VERB_SET_CONNECT_SEL, 0x1}, + /* SPDIF route: PCM */ + {0x1c, AC_VERB_SET_CONNECT_SEL, 0x0}, + /* EAPD */ + {0x1a, AC_VERB_SET_EAPD_BTLENABLE, 0x2}, /* default on */ + {0x16, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN|CONEXANT_HP_EVENT}, + {0x17, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN|CXT5051_PORTB_EVENT}, + { } /* end */ +}; + /* initialize jack-sensing, too */ static int cxt5051_init(struct hda_codec *codec) { @@ -1832,6 +1874,7 @@ enum { CXT5051_HP, /* no docking */ CXT5051_HP_DV6736, /* HP without mic switch */ CXT5051_LENOVO_X200, /* Lenovo X200 laptop */ + CXT5051_F700, /* HP Compaq Presario F700 */ CXT5051_MODELS };
@@ -1840,6 +1883,7 @@ static const char *cxt5051_models[CXT5051_MODELS] = { [CXT5051_HP] = "hp", [CXT5051_HP_DV6736] = "hp-dv6736", [CXT5051_LENOVO_X200] = "lenovo-x200", + [CXT5051_F700] = "hp 700" };
static struct snd_pci_quirk cxt5051_cfg_tbl[] = { @@ -1849,6 +1893,7 @@ static struct snd_pci_quirk cxt5051_cfg_tbl[] = { CXT5051_LAPTOP), SND_PCI_QUIRK(0x14f1, 0x5051, "HP Spartan 1.1", CXT5051_HP), SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo X200", CXT5051_LENOVO_X200), + SND_PCI_QUIRK(0x103c, 0x30ea, "Compaq Presario F700", CXT5051_F700), {} };
@@ -1899,8 +1944,14 @@ static int patch_cxt5051(struct hda_codec *codec) case CXT5051_LENOVO_X200: spec->init_verbs[0] = cxt5051_lenovo_x200_init_verbs; break; + case CXT5051_F700: + spec->init_verbs[0] = cxt5051_f700_init_verbs; + spec->mixers[0] = cxt5051_f700_mixers; + spec->no_auto_mic = 1; + break; }
+ return 0; }
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Prox kprox@users.sourceforge.net
Signed-off-by: Ken Prox kprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Prox kprox@users.sourceforge.net
Signed-off-by: Ken Prox kprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
Thanks!
Takashi
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Prox kprox@users.sourceforge.net
Signed-off-by: Ken Prox kprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
I can confirm that this patch applies to HP dv2700 subsystem 103c:30d6 (at least with - {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03}, + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03}, ).
Node 0x14 supports multiple connections to 0x17 (0x01) and 0x1d (0x00); 0x1d is apparently not working; Also, I don't understand if 0x15-0x18 are working. It doesn't do anything here, but it might be stuff from the expansion slot (?)
On Sunday 24 January 2010 11:32:27 Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Prox kprox@users.sourceforge.net
Signed-off-by: Ken Prox kprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On 01/24/2010 05:32 AM, Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Proxkprox@users.sourceforge.net
Signed-off-by: Ken Proxkprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
Hello Takashi,
Yes, using model=hp-dv6736 works for device 103c:30ea, but the mixer control does not control the microphone. However, with the patch I supplied, the microphone mixer control does work.
Yes, the patch for the 103c:30ea does work as is. If there is a change to the init verbs that you would like me to try, I would be more than happy to help.
At Mon, 25 Jan 2010 19:19:31 -0500, Ken Prox wrote:
On 01/24/2010 05:32 AM, Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Proxkprox@users.sourceforge.net
Signed-off-by: Ken Proxkprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
Hello Takashi,
Yes, using model=hp-dv6736 works for device 103c:30ea, but the mixer control does not control the microphone. However, with the patch I supplied, the microphone mixer control does work.
Yes, the patch for the 103c:30ea does work as is. If there is a change to the init verbs that you would like me to try, I would be more than happy to help.
Interesting. Could you give alsa-info.sh outputs (run with --no-upload option) at different mic values?
The mysterious thing is that you change the pin 0x17 index 1. This has no multiple sources, so the index shouldn't matter.
thanks,
Takashi
I can confirm that the patch applies to HP dv2700 subsystem 103c:30d6 (at least with - {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03}, + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03}, ).
Node 0x14 supports multiple connections to 0x17 (0x01) and 0x1d (0x00); 0x1d is apparently not working; Also, I don't understand if 0x15-0x18 are working. It doesn't do anything here, but it might be stuff from the expansion slot (?)
Regards __J
On Tue, Jan 26, 2010 at 7:32 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 25 Jan 2010 19:19:31 -0500, Ken Prox wrote:
On 01/24/2010 05:32 AM, Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Proxkprox@users.sourceforge.net
Signed-off-by: Ken Proxkprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
Hello Takashi,
Yes, using model=hp-dv6736 works for device 103c:30ea, but the mixer control does not control the microphone. However, with the patch I supplied, the microphone mixer control does work.
Yes, the patch for the 103c:30ea does work as is. If there is a change to the init verbs that you would like me to try, I would be more than happy to help.
Interesting. Could you give alsa-info.sh outputs (run with --no-upload option) at different mic values?
The mysterious thing is that you change the pin 0x17 index 1. This has no multiple sources, so the index shouldn't matter.
thanks,
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Tue, 26 Jan 2010 11:19:22 +0100, Jacopo De Simoi wrote:
I can confirm that the patch applies to HP dv2700 subsystem 103c:30d6 (at least with
{0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03},
{0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03},
).
That's my question, too, why this works for F700.
Node 0x14 supports multiple connections to 0x17 (0x01) and 0x1d (0x00); 0x1d is apparently not working;
So it's only 0x17.
Also, I don't understand if 0x15-0x18 are working. It doesn't do anything here, but it might be stuff from the expansion slot (?)
Usually you can see the mapping in proc contents, e.g. in alsa-info.sh output. Could you give the output?
thanks,
Takashi
On Tuesday 26 January 2010 14:14:11 Takashi Iwai wrote:
At Tue, 26 Jan 2010 11:19:22 +0100, Jacopo De Simoi wrote:
Also, I don't understand if 0x15-0x18 are working. It doesn't do anything here, but it might be stuff from the expansion slot (?)
Usually you can see the mapping in proc contents, e.g. in alsa-info.sh output. Could you give the output?
Sure, here it is Thanks __J
!!################################ !!ALSA Information Script v 0.4.58 !!################################
!!Script ran on: Tue Jan 26 16:44:13 UTC 2010
!!Linux Distribution !!------------------
Gentoo Base System release 2.0.0
!!DMI Information !!---------------
Manufacturer: Hewlett-Packard Product Name: HP Pavilion dv2700 Notebook PC
!!Kernel Information !!------------------
Kernel release: 2.6.30-tuxonice-r9 Operating System: GNU/Linux Architecture: x86_64 Processor: AMD Turion(tm) 64 X2 TL-62 SMP Enabled: Yes
!!ALSA Version !!------------
Driver version: 1.0.22.1 Library version: 1.0.22 Utilities version: 1.0.22
!!Loaded ALSA modules !!-------------------
snd_hda_intel
!!Sound Servers on this system !!----------------------------
No sound servers found.
!!Soundcards recognised by ALSA !!-----------------------------
0 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xfc480000 irq 20
!!PCI Soundcards installed in the system !!--------------------------------------
00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's !!--------------------------------------------------------
00:07.0 0403: 10de:055c (rev a1) Subsystem: 103c:30d6
!!Loaded sound module options !!--------------------------
!!Module: snd_hda_intel bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1 beep_mode : 1,1,1,1,1,1,1,1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : -1 id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> position_fix : 0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : N,N,N,N,N,N,N,N single_cmd : N
!!HDA-Intel Codec information !!--------------------------- --startcollapse--
Codec: Conexant CX20561 (Hermosa) Address: 0 Function Id: 0x2 Vendor Id: 0x14f15051 Subsystem Id: 0x103c30d6 Revision Id: 0x100000 Modem Function Group: 0x2 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 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="Master Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Device: name="CONEXANT Analog", type="Audio", device=0 Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0 Amp-Out vals: [0x35 0x35] Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0 Amp-Out vals: [0x4a 0x4a] Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Node 0x12 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L Control: name="Mic Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=1, ofs=0 Control: name="Mic Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=1, ofs=0 Device: name="CONEXANT Analog", type="Audio", device=0 Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0 Amp-In vals: [0x4a 0x4a] [0x50 0x50] 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 Power: setting=D0, actual=D0 Connection: 2 0x1d 0x17* Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L Control: name="Docking Mic Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Control: name="Docking Mic Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0 Amp-In vals: [0x00 0x00] 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 Power: setting=D0, actual=D0 Connection: 1 0x18 Node 0x16 [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0000001c: OUT HP Detect Pin Default 0x01214030: [Jack] HP Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP Unsolicited: tag=37, enabled=1 Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Connection: 2 0x10* 0x11 Node 0x17 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-In vals: [0x04 0x04] Pincap 0x00001224: IN Detect Vref caps: 50 80 Pin Default 0x01a19020: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=38, enabled=1 Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-In vals: [0x04 0x04] Pincap 0x00001224: IN Detect Vref caps: 50 80 Pin Default 0x400001f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=39, enabled=1 Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Node 0x19 [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: 0x00: Unsolicited: tag=00, enabled=0 Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Connection: 2 0x10 0x11* Node 0x1a [Pin Complex] wcaps 0x400501: Stereo Pincap 0x00010010: OUT EAPD EAPD 0x2: EAPD Pin Default 0x92170110: [Fixed] Speaker at Int Front Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Connection: 2 0x10* 0x11 Node 0x1b [Pin Complex] wcaps 0x400500: Mono Pincap 0x00010010: OUT EAPD 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 Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Connection: 2 0x10* 0x11 Node 0x1c [Pin Complex] wcaps 0x400701: Stereo Digital 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="IEC958 Default PCM Playback Switch", index=0, device=0 Device: name="Conexant Digital", type="SPDIF", device=1 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: Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 Connection: 1 0x12 Node 0x1d [Pin Complex] wcaps 0x40040b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, 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 Power: setting=D0, actual=D0 Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono --endcollapse--
!!ALSA Device nodes !!-----------------
crw-rw---- 1 root audio 116, 0 Jan 26 12:26 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 4 Jan 26 12:26 /dev/snd/hwC0D0 crw-rw---- 1 root audio 116, 24 Jan 26 12:26 /dev/snd/pcmC0D0c crw-rw---- 1 root audio 116, 16 Jan 26 17:34 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 17 Jan 26 12:26 /dev/snd/pcmC0D1p crw-rw---- 1 root audio 116, 1 Jan 26 12:26 /dev/snd/seq crw-rw---- 1 root audio 116, 33 Jan 26 12:26 /dev/snd/timer
!!ALSA configuration files !!------------------------
!!User specific config file (~/.asoundrc)
pcm.filtered_capture { type route slave { pcm "hw:0,0" channels 2 } # Mix all input channels to Skype capture channel -1 at full volume: ttable.0.0 -1.1 ttable.0.1 1.1 }
!!Aplay/Arecord output !!------------
APLAY
**** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 1: Conexant Digital [Conexant Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
!!Amixer output !!-------------
!!-------Mixer controls for card 0 [NVidia]
Card hw:0 'NVidia'/'HDA NVidia at 0xfc480000 irq 20' Mixer name : 'Conexant CX20561 (Hermosa)' Components : 'HDA:14f15051,103c30d6,00100000' Controls : 13 Simple ctrls : 7 Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 74 Mono: Front Left: Playback 53 [72%] [-21.00dB] [off] Front Right: Playback 53 [72%] [-21.00dB] [off] Simple mixer control 'PCM',0 Capabilities: pvolume penum Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 159 [62%] [-19.20dB] Front Right: Playback 159 [62%] [-19.20dB] Simple mixer control 'Mic',0 Capabilities: volume pswitch penum Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 80 Front Left: 80 [100%] [6.00dB] Playback [on] Front Right: 80 [100%] [6.00dB] Playback [on] Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined penum Playback channels: Mono Mono: Playback [on] Simple mixer control 'IEC958 Default PCM',0 Capabilities: pswitch pswitch-joined penum Playback channels: Mono Mono: Playback [on] Simple mixer control 'Digital',0 Capabilities: cvolume penum Capture channels: Front Left - Front Right Limits: Capture 0 - 120 Front Left: Capture 60 [50%] [0.00dB] Front Right: Capture 60 [50%] [0.00dB] Simple mixer control 'Docking Mic',0 Capabilities: volume pswitch penum Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 80 Front Left: 0 [0%] [-74.00dB] Playback [on] Front Right: 0 [0%] [-74.00dB] Playback [on]
!!Alsactl output !!-------------
--startcollapse-- state.NVidia { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 80' comment.dbmin -7400 comment.dbmax 600 iface MIXER name 'Mic Volume' value.0 80 value.1 80 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Mic Switch' value.0 true value.1 true } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 80' comment.dbmin -7400 comment.dbmax 600 iface MIXER name 'Docking Mic Volume' value.0 0 value.1 0 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Docking Mic Switch' value.0 true value.1 true } control.5 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 74' comment.dbmin -7400 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value.0 53 value.1 53 } control.6 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value false } control.7 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.8 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.9 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' value true } control.11 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Default PCM Playback Switch' value true } control.12 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 159 value.1 159 } control.13 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 120' comment.tlv '0000000100000008fffff44800000032' comment.dbmin -3000 comment.dbmax 3000 iface MIXER name 'Digital Capture Volume' value.0 60 value.1 60 } } --endcollapse--
!!All Loaded Modules !!------------------
Module ndiswrapper bnep sco rfcomm l2cap snd_seq snd_seq_device snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_timer uvcvideo mmc_block videodev btusb snd forcedeth bluetooth nvidia v4l1_compat sdhci_pci sdhci snd_page_alloc mmc_core led_class v4l2_compat_ioctl32
!!Sysfs Files !!-----------
/sys/class/sound/hwC0D0/init_pin_configs: 0x16 0x01214030 0x17 0x01a19020 0x18 0x400001f0 0x19 0x400001f0 0x1a 0x92170110 0x1b 0x400001f0 0x1c 0x400001f0 0x1d 0x400001f0
/sys/class/sound/hwC0D0/driver_pin_configs:
/sys/class/sound/hwC0D0/user_pin_configs:
/sys/class/sound/hwC0D0/init_verbs:
!!ALSA/HDA dmesg !!------------------
[ 8.389553] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 20 [ 8.389585] HDA Intel 0000:00:07.0: PCI INT A -> Link[LAZA] -> GSI 20 (level, low) -> IRQ 20 [ 8.389690] HDA Intel 0000:00:07.0: setting latency timer to 64 [ 9.142224] scsi 4:0:0:0: Direct-Access Lexar ExpressCard 1100 PQ: 0 ANSI: 0 CCS -- [ 9.172259] sd 4:0:0:0: [sdb] Attached SCSI removable disk [ 9.530252] input: HDA NVidia Mic as /class/input/input9 [ 9.530597] input: HDA NVidia Mic as /class/input/input10 [ 9.530822] input: HDA NVidia Headphone as /class/input/input11 [ 11.186160] kjournald starting. Commit interval 5 seconds -- [ 2964.977284] forcedeth 0000:00:0a.0: PCI INT A disabled [ 2965.360041] HDA Intel 0000:00:07.0: PCI INT A disabled [ 2965.400030] ehci_hcd 0000:00:04.1: PCI INT B disabled -- [ 2966.000011] ehci_hcd 0000:00:04.1: restoring config space at offset 0x1 (was 0xb00006, writing 0xb00002) [ 2966.000037] HDA Intel 0000:00:07.0: restoring config space at offset 0xf (was 0x5020100, writing 0x502010a) [ 2966.000045] HDA Intel 0000:00:07.0: restoring config space at offset 0x4 (was 0x0, writing 0xfc480000) [ 2966.000050] HDA Intel 0000:00:07.0: restoring config space at offset 0x1 (was 0xb00000, writing 0xb00002) [ 2966.000080] ahci 0000:00:09.0: restoring config space at offset 0x1 (was 0xb00007, writing 0xb00407) -- [ 2966.110086] amd74xx 0000:00:06.0: BIOS didn't set cable bits correctly. Enabling workaround. [ 2966.110109] HDA Intel 0000:00:07.0: PCI INT A -> Link[LAZA] -> GSI 20 (level, low) -> IRQ 20 [ 2966.110113] HDA Intel 0000:00:07.0: setting latency timer to 64 [ 2966.110140] pci 0000:00:08.0: setting latency timer to 64
thanks,
Takashi
On 01/26/2010 01:32 AM, Takashi Iwai wrote:
At Mon, 25 Jan 2010 19:19:31 -0500, Ken Prox wrote:
On 01/24/2010 05:32 AM, Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
From: Ken Proxkprox@users.sourceforge.net
Signed-off-by: Ken Proxkprox@users.sourceforge.net
I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
Hello Takashi,
Yes, using model=hp-dv6736 works for device 103c:30ea, but the mixer control does not control the microphone. However, with the patch I supplied, the microphone mixer control does work.
Yes, the patch for the 103c:30ea does work as is. If there is a change to the init verbs that you would like me to try, I would be more than happy to help.
Interesting. Could you give alsa-info.sh outputs (run with --no-upload option) at different mic values?
The mysterious thing is that you change the pin 0x17 index 1. This has no multiple sources, so the index shouldn't matter.
thanks,
Takashi
I tried recompiling the driver changing the init verb from:
static struct hda_verb cxt5051_f700_init_verbs[] = { /* Line in, Mic */ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03},
to:
static struct hda_verb cxt5051_f700_init_verbs[] = { /* Line in, Mic */ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03},
The driver works fine. I suspect that there was a persistent setting in my mixer that was effecting nid 0x17, and not the fact that UNMUTE was indexed to 0.
Attached are the output from alsa-info.sh --no-upload.
The first is with the microphone mixer set to 0%, second the differences with the microphone mixer set to 50%, and third the differences with the microphone mixer set to 100%.
Glad I could help.
At Tue, 26 Jan 2010 18:38:19 -0500, Ken Prox wrote:
On 01/26/2010 01:32 AM, Takashi Iwai wrote:
At Mon, 25 Jan 2010 19:19:31 -0500, Ken Prox wrote:
On 01/24/2010 05:32 AM, Takashi Iwai wrote:
At Tue, 12 Jan 2010 10:07:02 +0100, I wrote:
At Fri, 8 Jan 2010 09:09:54 +0100 (CET), Jaroslav Kysela wrote:
On Sun, 3 Jan 2010, knprox@mi.rr.com wrote:
> From: Ken Proxkprox@users.sourceforge.net > > > Signed-off-by: Ken Proxkprox@users.sourceforge.net > > I've applied your patch to my "devel" git tree with space/tab replacements. Please, use same coding style matching other ALSA code and run "scripts/checkpatch.pl" on your patch before posting. Thanks.
I pulled your branches now to sound git tree.
And, now I'm checking the code and your change again while I'm working on fixing / clean-up of cxt5051 code. I don't understand why your patch works. Does it really work as is?
For example, the pin 0x17 has no multiple connections. So, changing the amp for the input #1 doesn't make sense at all. If it supports only the pin 0x1d, then the init verbs have to be different.
Doesn't another model, e.g. model=hp-dv6736, work as is?
thanks,
Takashi
Hello Takashi,
Yes, using model=hp-dv6736 works for device 103c:30ea, but the mixer control does not control the microphone. However, with the patch I supplied, the microphone mixer control does work.
Yes, the patch for the 103c:30ea does work as is. If there is a change to the init verbs that you would like me to try, I would be more than happy to help.
Interesting. Could you give alsa-info.sh outputs (run with --no-upload option) at different mic values?
The mysterious thing is that you change the pin 0x17 index 1. This has no multiple sources, so the index shouldn't matter.
thanks,
Takashi
I tried recompiling the driver changing the init verb from:
static struct hda_verb cxt5051_f700_init_verbs[] = { /* Line in, Mic */ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1) | 0x03},
to:
static struct hda_verb cxt5051_f700_init_verbs[] = { /* Line in, Mic */ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x03},
The driver works fine. I suspect that there was a persistent setting in my mixer that was effecting nid 0x17, and not the fact that UNMUTE was indexed to 0.
Thanks for checking. I fixed the index number now.
Takashi
participants (5)
-
Jacopo De Simoi
-
Jaroslav Kysela
-
Ken Prox
-
knprox@mi.rr.com
-
Takashi Iwai