ALSA: HDA: Fix front mic on Dell Precision M6500
PATCH 1/1 ALSA: HDA: Fix front mic on Dell Precision M6500
The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).
Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt
Signature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic
Quoted 1 line
From
df18cee31e85c83667be42d29edb3c9f7fcfa3c1Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Mon, 23 Aug 2010 09:09:10 +0200
Subject: [PATCH] ALSA: HDA: Fix front mic on Dell Precision M6500
The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).
--- sound/pci/hda/patch_sigmatel.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
sound/pci/hda/patch_sigmatel.c +13 -0
@@ -95,6 +95,7 @@ enum {STAC_DELL_S14 ,STAC_92HD83XXX_HP ,STAC_HP_DV7_4000 , +STAC_DELL_M6500 , STAC_92HD83XXX_MODELS };
@@ -1633,6 +1634,14 @@ static unsigned int dell_s14_pin_configs[10] = { 0x40f000f0, 0x40f000f0, }; +/* Dell Precision M6500, make sure 0x0e is silenced */ +static unsigned int dell_m6500_pin_configs[10 ] = { +0x03a11030 ,0x0321101f ,0x400000f0 ,0x90170110 , +0x400000f0 ,0x23011050 ,0x400000f0 ,0x90a10120 , +0x014613b0 ,0x400000f0 , +}; + +static unsigned int hp_dv7_4000_pin_configs[10 ] = {0x03a12050 ,0x0321201f ,0x40f000f0 ,0x90170110 ,0x40f000f0 ,0x40f000f0 ,0x90170110 ,0xd5a30140 ,
@@ -1643,6 +1652,7 @@ static unsigned int *stac92hd83xxx_brd_tbl[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = ref92hd83xxx_pin_configs, [STAC_92HD83XXX_PWR_REF] = ref92hd83xxx_pin_configs, [STAC_DELL_S14] = dell_s14_pin_configs, + [STAC_DELL_M6500] = dell_m6500_pin_configs, [STAC_HP_DV7_4000] = hp_dv7_4000_pin_configs, };
@@ -1651,6 +1661,7 @@ static const char *stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = "ref", [STAC_92HD83XXX_PWR_REF] = "mic-ref", [STAC_DELL_S14] = "dell-s14", + [STAC_DELL_M6500] = "dell-m6500", [STAC_92HD83XXX_HP] = "hp", [STAC_HP_DV7_4000] = "hp-dv7-4000", };
@@ -1663,6 +1674,8 @@ static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { "DFI LanParty", STAC_92HD83XXX_REF),SND_PCI_QUIRK (PCI_VENDOR_ID_DELL ,0x02ba ,"unknown Dell" ,STAC_DELL_S14 ), +SND_PCI_QUIRK (PCI_VENDOR_ID_DELL ,0x02ef , +"Dell M6500" ,STAC_DELL_M6500 ),SND_PCI_QUIRK_MASK (PCI_VENDOR_ID_HP ,0xff00 ,0x3600 , "HP", STAC_92HD83XXX_HP), {} /* terminator */
Signature · 1 line
1.7.0.4
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.
Thanks,
Jerone
Quoted 13 lines · David Henningsson
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
2010-08-23 21:07, Jerone Young skrev:
Quoted 27 lines
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.
Thanks,
JeroneQuoted 13 lines · David Henningsson
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Signature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic
2010/8/24 David Henningsson <[email protected]>
Quoted 6 lines
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
Quoted 27 lines
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
2010-08-23 21:07, Jerone Young skrev:
Quoted 20 lines
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.
Thanks,
JeroneQuoted 8 lines · David Henningsson
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt
There are two ADC , this mean that the correct model should provide two capture subdevices instead of one
Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1
0x17
Processing caps: benign=0, ncoeff=0
Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1
0x18
Processing caps: benign=0, ncoeff=0
2010-08-24 02:57, Raymond Yau skrev:
Quoted 54 lines
2010/8/24 David Henningsson <[email protected]>
Quoted 6 lines
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
Quoted 27 lines
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
2010-08-23 21:07, Jerone Young skrev:
Quoted 20 lines
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.
Thanks,
JeroneQuoted 8 lines · David Henningsson
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHtThere are two ADC , this mean that the correct model should provide two capture subdevices instead of one
Node
0x15[Audio Input] wcaps0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 10x17Processing caps: benign=0, ncoeff=0
Node0x16[Audio Input] wcaps0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1
Quoted 2 lines
0x18Processing caps: benign=0, ncoeff=0
I don't disagree. Feel free to write a patch for that, I assume Takashi will take it if it's written well enough and according to his/Linus's standards.
Signature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic
2010/8/24 David Henningsson <[email protected]>
Quoted 59 lines
2010-08-24 02:57, Raymond Yau skrev:
Quoted 20 lines
2010/8/24 David Henningsson <[email protected]>
Quoted 18 lines
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
2010-08-23 21:07, Jerone Young skrev:
Quoted 6 lines
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over
the
Quoted 34 lines
Quoted 6 lines
Quoted 6 lines
docking station microphone.
Thanks,
JeroneOn Mon, 2010-08-23 at 21:03 +0200, David Henningsson wrote:
Quoted 9 lines
Quoted 8 lines
Quoted 8 lines
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHtThere are two ADC , this mean that the correct model should provide two capture subdevices instead of one
Node
0x15[Audio Input] wcaps0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 10x17Processing caps: benign=0, ncoeff=0
Node0x16[Audio Input] wcaps0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1Quoted 2 lines
0x18Processing caps: benign=0, ncoeff=0
Quoted 5 lines
I don't disagree. Feel free to write a patch for that, I assume Takashi will take it if it's written well enough and according to his/Linus's standards.
Have you try model=mic-ref ?
it seem there are already two capture subdevice using hda-emu
Attach PCM dev 0, name STAC92xx Analog, type audio, play #1, capture #2
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
This is no 100% fix or regression fix, so not suitable for stable kernel tree, I suppose.
I'll post a bit more intrusive patch for fixing this.
thanks,
Takashi
Quoted 35 lines
2010-08-23 21:07, Jerone Young skrev:
Quoted 27 lines
For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.
So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.
Thanks,
JeroneQuoted 13 lines · David Henningsson
The BIOS of Dell Precision M6500 lists both
0x0eand0x11as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node0x11(internal mic) to node0x0e(possibly docking station mic).Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-develSignature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)
It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.
Takashi
---
sound/pci/hda/hda_codec.c +52 -12
@@ -4372,6 +4372,16 @@ static void sort_pins_by_sequence(hda_nid_t *pins, short *sequences, } +static void add_auto_cfg_input_pin (struct auto_pin_cfg *cfg,hda_nid_t nid, +int type) +{ +if (cfg->num_inputs <AUTO_CFG_MAX_INS ) { + cfg->inputs[cfg->num_inputs].pin = nid; + cfg->inputs[cfg->num_inputs].type = type; + cfg->num_inputs++; + } +} +/* * Parse all pin widgets and store the useful pin nids to cfg *
@@ -4398,6 +4408,7 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,short sequences_line_out[ARRAY_SIZE (cfg->line_out_pins)];short sequences_speaker[ARRAY_SIZE (cfg->speaker_pins)];short sequences_hp[ARRAY_SIZE (cfg->hp_pins)]; +int i;memset (cfg,0 ,sizeof (*cfg));
@@ -4482,19 +4493,26 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec, cfg->input_pins[preferred] = nid; else if (!cfg->input_pins[alt]) cfg->input_pins[alt] = nid; +add_auto_cfg_input_pin (cfg, nid, preferred);break ; } -case AC_JACK_LINE_IN : +case AC_JACK_LINE_IN : { +int type;if (loc ==AC_JACK_LOC_FRONT ) - cfg->input_pins[AUTO_PIN_FRONT_LINE ] = nid; + type =AUTO_PIN_FRONT_LINE ;else - cfg->input_pins[AUTO_PIN_LINE ] = nid; + type =AUTO_PIN_LINE ; + cfg->input_pins[type] = nid; +add_auto_cfg_input_pin (cfg, nid, type);break ; + }case AC_JACK_CD : cfg->input_pins[AUTO_PIN_CD ] = nid; +add_auto_cfg_input_pin (cfg, nid,AUTO_PIN_CD );break ;case AC_JACK_AUX : cfg->input_pins[AUTO_PIN_AUX ] = nid; +add_auto_cfg_input_pin (cfg, nid,AUTO_PIN_AUX );break ;case AC_JACK_SPDIF_OUT :case AC_JACK_DIG_OTHER_OUT :
@@ -4621,14 +4639,13 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,if (cfg->dig_outs)snd_printd (" dig-out=0x%x/0x%x\n" , cfg->dig_out_pins[0 ], cfg->dig_out_pins[1 ]); -snd_printd (" inputs: mic=0x%x, fmic=0x%x, line=0x%x, fline=0x%x," -" cd=0x%x, aux=0x%x\n" , - cfg->input_pins[AUTO_PIN_MIC ], - cfg->input_pins[AUTO_PIN_FRONT_MIC ], - cfg->input_pins[AUTO_PIN_LINE ], - cfg->input_pins[AUTO_PIN_FRONT_LINE ], - cfg->input_pins[AUTO_PIN_CD ], - cfg->input_pins[AUTO_PIN_AUX ]); +snd_printd (" inputs:" ); +for (i =0 ; i < cfg->num_inputs; i++) { +snd_printdd (" %s=0x%x" , + auto_pin_cfg_labels[cfg->inputs[i].type], + cfg->inputs[i].pin); + } +snd_printd ("\n" );if (cfg->dig_in_pin)snd_printd (" dig-in=0x%x\n" , cfg->dig_in_pin);
@@ -4636,12 +4653,35 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec, }EXPORT_SYMBOL_HDA (snd_hda_parse_pin_def_config); -/* labels for input pins */ +/* labels for input pins - for obsoleted config stuff */ const char *auto_pin_cfg_labels[AUTO_PIN_LAST ] = {"Mic" ,"Front Mic" ,"Line" ,"Front Line" ,"CD" ,"Aux" };EXPORT_SYMBOL_HDA (auto_pin_cfg_labels); +static const char *input_labels[AUTO_PIN_LAST ][4 ] = { + {"Mic" ,"Mic 2" ,"Mic 3" ,"Mic 4" }, + {"Front Mic" ,"Front Mic 2" ,"Front Mic 3" ,"Front Mic 4" }, + {"Line" ,"Line 2" ,"Line 3" ,"Line 4" }, + {"Front Line" ,"Front Line 2" ,"Front Line 3" ,"Front Line 4" }, + {"CD" ,"CD 2" ,"CD 3" ,"CD 4" }, + {"Aux" ,"Aux 2" ,"Aux 3" ,"Aux 4" }, +}; + +const char *snd_hda_get_input_pin_label (const struct auto_pin_cfg *cfg, +int input) +{ +int type = cfg->inputs[input].type; +int idx; + +for (idx =0 ; idx <3 && --input >=0 ; idx++) { +if (type != cfg->inputs[input].type) +break ; + } +return input_labels[type][idx]; +} +EXPORT_SYMBOL_HDA (snd_hda_get_input_pin_label); +#ifdef CONFIG_PM /*
sound/pci/hda/hda_local.h +13 -1
@@ -383,6 +383,16 @@ enum {extern const char *auto_pin_cfg_labels[AUTO_PIN_LAST ];#define AUTO_CFG_MAX_OUTS 5 +#define AUTO_CFG_MAX_INS 8 + +struct auto_pin_cfg_item { +hda_nid_t pin; +int type; +}; + +struct auto_pin_cfg ; +const char *snd_hda_get_input_pin_label (const struct auto_pin_cfg *cfg, +int input);struct auto_pin_cfg {int line_outs;
@@ -393,7 +403,9 @@ struct auto_pin_cfg {int hp_outs;int line_out_type;/* AUTO_PIN_XXX_OUT */ hda_nid_t hp_pins[AUTO_CFG_MAX_OUTS ]; -hda_nid_t input_pins[AUTO_PIN_LAST ]; +hda_nid_t input_pins[AUTO_PIN_LAST ];/* old config; to be deprecated */ +int num_inputs; +struct auto_pin_cfg_item inputs[AUTO_CFG_MAX_INS ];int dig_outs;hda_nid_t dig_out_pins[2 ];hda_nid_t dig_in_pin;
sound/pci/hda/patch_sigmatel.c +73 -73
249 lines not on this page · raw message
At Thu, 26 Aug 2010 12:22:42 +0200,
Quoted 15 lines · I wrote:
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
Quoted 7 lines
OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)
It basically extends the config parser to allow multiple input pins assigned for a single type. The old
input_pinsfield is kept for other drivers, so that it won't give regressions. It'll be removed in future.
As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.
thanks,
Takashi
2010-08-30 18:58, Takashi Iwai skrev:
Quoted 20 lines
At Thu, 26 Aug 2010 12:22:42 +0200,
Quoted 18 lines · I wrote:
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)
Quoted 8 lines
Quoted 4 lines
It basically extends the config parser to allow multiple input pins assigned for a single type. The old
input_pinsfield is kept for other drivers, so that it won't give regressions. It'll be removed in future.As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.
Thanks, I'll try to get someone to test it :-)
Ubuntu has automated builds of your daily snapshot tarball which we make available to our users. What time of day to you recommend that we pick it to get the lowest latency?
Btw, do you have an automated test suite to try all codeces with hda-emu or do you just run a few manually and see if they work?
Signature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic
At Tue, 31 Aug 2010 11:01:40 +0200,
Quoted 27 lines · David Henningsson
2010-08-30 18:58, Takashi Iwai skrev:
Quoted 25 lines
At Thu, 26 Aug 2010 12:22:42 +0200,
Quoted 22 lines · I wrote:
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)
It basically extends the config parser to allow multiple input pins assigned for a single type. The old
input_pinsfield is kept for other drivers, so that it won't give regressions. It'll be removed in future.
Quoted 5 lines
Quoted 3 lines
As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.Thanks, I'll try to get someone to test it :-)
Great, thanks.
Quoted 3 lines
Ubuntu has automated builds of your daily snapshot tarball which we make available to our users. What time of day to you recommend that we pick it to get the lowest latency?
The daily snapshot is created shortly after 12:00AM midnight here.
Quoted 2 lines
Btw, do you have an automated test suite to try all codeces with hda-emu or do you just run a few manually and see if they work?
It's no comprehensive test-suite but just a few script to run hda-emu on all files in codecs/* and compare before and after the change. And, no, I don't run it regularly but only occasionally when the common part is changed.
Takashi
2010-08-31 11:10, Takashi Iwai skrev:
Quoted 29 lines
At Tue, 31 Aug 2010 11:01:40 +0200,
Quoted 27 lines · David Henningsson
2010-08-30 18:58, Takashi Iwai skrev:
Quoted 25 lines
At Thu, 26 Aug 2010 12:22:42 +0200,
Quoted 22 lines · I wrote:
At Mon, 23 Aug 2010 21:25:55 +0200,
Quoted 11 lines · David Henningsson
I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.
The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.
OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)
It basically extends the config parser to allow multiple input pins assigned for a single type. The old
input_pinsfield is kept for other drivers, so that it won't give regressions. It'll be removed in future.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.Thanks, I'll try to get someone to test it :-)
Great, thanks.
Got a response saying: "Working, had to select microphone 2."
https://launchpad.net/bugs/519066
Signature · 2 lines
David Henningsson, Canonical Ltd. http://launchpad.net/~diwic