[alsa-devel] [PATCH] ALSA: hda - Consider additional capture source/selector in ALC889

Currently code for capture source support in ALC889 only considers capture mixers. This change adds aditional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski herton@mandriva.com.br --- sound/pci/hda/patch_realtek.c | 105 ++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 28 deletions(-)
Note: I did this patch without hardware to test on, just based on alsa-info.txt from one machine with ALC889 plus the ALC889 datasheet available from Realtek website, so this is just build tested.
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 863ab95..d81cb5e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -238,6 +238,13 @@ enum { ALC883_MODEL_LAST, };
+/* styles of capture selection */ +enum { + CAPT_MUX = 0, /* only mux based */ + CAPT_MIX, /* only mixer based */ + CAPT_1MUX_MIX, /* first mux and other mixers */ +}; + /* for GPIO Poll */ #define GPIO_MASK 0x03
@@ -276,7 +283,7 @@ struct alc_spec { hda_nid_t *adc_nids; hda_nid_t *capsrc_nids; hda_nid_t dig_in_nid; /* digital-in NID; optional */ - unsigned char is_mix_capture; /* matrix-style capture (non-mux) */ + int capture_style; /* capture style (CAPT_*) */
/* capture source */ unsigned int num_mux_defs; @@ -294,7 +301,7 @@ struct alc_spec { /* dynamic controls, init_verbs and input_mux */ struct auto_pin_cfg autocfg; struct snd_array kctls; - struct hda_input_mux private_imux; + struct hda_input_mux private_imux[3]; hda_nid_t private_dac_nids[AUTO_CFG_MAX_OUTS];
/* hooks */ @@ -396,7 +403,8 @@ static int alc_mux_enum_put(struct snd_kcontrol *kcontrol, mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx; imux = &spec->input_mux[mux_idx];
- if (spec->is_mix_capture) { + if (spec->capture_style && + !(spec->capture_style == CAPT_1MUX_MIX && !adc_idx)) { /* Matrix-mixer style (e.g. ALC882) */ unsigned int *cur_val = &spec->cur_mux[adc_idx]; unsigned int i, idx; @@ -4130,7 +4138,7 @@ static int new_analog_input(struct alc_spec *spec, hda_nid_t pin, static int alc880_auto_create_analog_input_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; int i, err, idx;
for (i = 0; i < AUTO_PIN_LAST; i++) { @@ -4279,7 +4287,7 @@ static int alc880_parse_auto_config(struct hda_codec *codec) add_verb(spec, alc880_volume_init_verbs);
spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
store_pin_configs(codec); return 1; @@ -5487,7 +5495,7 @@ static int alc260_auto_create_multi_out_ctls(struct alc_spec *spec, static int alc260_auto_create_analog_input_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; int i, err, idx;
for (i = 0; i < AUTO_PIN_LAST; i++) { @@ -5647,7 +5655,7 @@ static int alc260_parse_auto_config(struct hda_codec *codec) add_verb(spec, alc260_volume_init_verbs);
spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
store_pin_configs(codec); return 1; @@ -7087,7 +7095,7 @@ static int patch_alc882(struct hda_codec *codec) spec->stream_digital_playback = &alc882_pcm_digital_playback; spec->stream_digital_capture = &alc882_pcm_digital_capture;
- spec->is_mix_capture = 1; /* matrix-style capture */ + spec->capture_style = CAPT_MIX; /* matrix-style capture */ if (!spec->adc_nids && spec->input_mux) { /* check whether NID 0x07 is valid */ unsigned int wcap = get_wcaps(codec, 0x07); @@ -7155,10 +7163,14 @@ static hda_nid_t alc883_adc_nids_rev[2] = { 0x09, 0x08 };
+#define alc889_adc_nids alc880_adc_nids + static hda_nid_t alc883_capsrc_nids[2] = { 0x23, 0x22 };
static hda_nid_t alc883_capsrc_nids_rev[2] = { 0x22, 0x23 };
+#define alc889_capsrc_nids alc882_capsrc_nids + /* input MUX */ /* FIXME: should be a matrix-type input source selection */
@@ -8977,6 +8989,8 @@ static int alc883_parse_auto_config(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; int err = alc880_parse_auto_config(codec); + struct auto_pin_cfg *cfg = &spec->autocfg; + int i;
if (err < 0) return err; @@ -8990,6 +9004,26 @@ static int alc883_parse_auto_config(struct hda_codec *codec) /* hack - override the init verbs */ spec->init_verbs[0] = alc883_auto_init_verbs;
+ /* setup input_mux for ALC889 */ + if (codec->vendor_id == 0x10ec0889) { + /* digital-mic input pin is excluded in alc880_auto_create..() + * because it's under 0x18 + */ + if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 || + cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) { + struct hda_input_mux *imux = &spec->private_imux[0]; + for (i = 1; i < 3; i++) + memcpy(&spec->private_imux[i], + &spec->private_imux[0], + sizeof(spec->private_imux[0])); + imux->items[imux->num_items].label = "Int DMic"; + imux->items[imux->num_items].index = 0x0b; + imux->num_items++; + spec->num_mux_defs = 3; + spec->input_mux = spec->private_imux; + } + } + return 1; /* config found */ }
@@ -9053,14 +9087,36 @@ static int patch_alc883(struct hda_codec *codec) spec->stream_name_analog = "ALC888 Analog"; spec->stream_name_digital = "ALC888 Digital"; } + if (!spec->num_adc_nids) { + spec->num_adc_nids = ARRAY_SIZE(alc883_adc_nids); + spec->adc_nids = alc883_adc_nids; + } + if (!spec->capsrc_nids) + spec->capsrc_nids = alc883_capsrc_nids; + spec->capture_style = CAPT_MIX; /* matrix-style capture */ break; case 0x10ec0889: spec->stream_name_analog = "ALC889 Analog"; spec->stream_name_digital = "ALC889 Digital"; + if (!spec->num_adc_nids) { + spec->num_adc_nids = ARRAY_SIZE(alc889_adc_nids); + spec->adc_nids = alc889_adc_nids; + } + if (!spec->capsrc_nids) + spec->capsrc_nids = alc889_capsrc_nids; + spec->capture_style = CAPT_1MUX_MIX; /* 1mux/Nmix-style + capture */ break; default: spec->stream_name_analog = "ALC883 Analog"; spec->stream_name_digital = "ALC883 Digital"; + if (!spec->num_adc_nids) { + spec->num_adc_nids = ARRAY_SIZE(alc883_adc_nids); + spec->adc_nids = alc883_adc_nids; + } + if (!spec->capsrc_nids) + spec->capsrc_nids = alc883_capsrc_nids; + spec->capture_style = CAPT_MIX; /* matrix-style capture */ break; }
@@ -9071,13 +9127,6 @@ static int patch_alc883(struct hda_codec *codec) spec->stream_digital_playback = &alc883_pcm_digital_playback; spec->stream_digital_capture = &alc883_pcm_digital_capture;
- if (!spec->num_adc_nids) { - spec->num_adc_nids = ARRAY_SIZE(alc883_adc_nids); - spec->adc_nids = alc883_adc_nids; - } - if (!spec->capsrc_nids) - spec->capsrc_nids = alc883_capsrc_nids; - spec->is_mix_capture = 1; /* matrix-style capture */ if (!spec->cap_mixer) set_capture_mixer(spec);
@@ -10512,7 +10561,7 @@ static int alc262_parse_auto_config(struct hda_codec *codec)
add_verb(spec, alc262_volume_init_verbs); spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
err = alc_auto_add_mic_boost(codec); if (err < 0) @@ -10881,7 +10930,7 @@ static int patch_alc262(struct hda_codec *codec) spec->stream_digital_playback = &alc262_pcm_digital_playback; spec->stream_digital_capture = &alc262_pcm_digital_capture;
- spec->is_mix_capture = 1; + spec->capture_style = CAPT_MIX; if (!spec->adc_nids && spec->input_mux) { /* check whether NID 0x07 is valid */ unsigned int wcap = get_wcaps(codec, 0x07); @@ -11539,7 +11588,7 @@ static int alc268_auto_create_multi_out_ctls(struct alc_spec *spec, static int alc268_auto_create_analog_input_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; int i, idx1;
for (i = 0; i < AUTO_PIN_LAST; i++) { @@ -11657,7 +11706,7 @@ static int alc268_parse_auto_config(struct hda_codec *codec)
add_verb(spec, alc268_volume_init_verbs); spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
err = alc_auto_add_mic_boost(codec); if (err < 0) @@ -12511,7 +12560,7 @@ static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec, */ if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 || cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; imux->items[imux->num_items].label = "Int Mic"; imux->items[imux->num_items].index = 0x05; imux->num_items++; @@ -12567,7 +12616,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
add_verb(spec, alc269_init_verbs); spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0]; /* set default input source */ snd_hda_codec_write_cache(codec, alc269_capsrc_nids[0], 0, AC_VERB_SET_CONNECT_SEL, @@ -13483,7 +13532,7 @@ static int alc861_auto_create_hp_ctls(struct alc_spec *spec, hda_nid_t pin) static int alc861_auto_create_analog_input_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; int i, err, idx, idx1;
for (i = 0; i < AUTO_PIN_LAST; i++) { @@ -13620,7 +13669,7 @@ static int alc861_parse_auto_config(struct hda_codec *codec) add_verb(spec, alc861_auto_init_verbs);
spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
spec->adc_nids = alc861_adc_nids; spec->num_adc_nids = ARRAY_SIZE(alc861_adc_nids); @@ -14724,7 +14773,7 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec) add_verb(spec, alc861vd_volume_init_verbs);
spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
err = alc_auto_add_mic_boost(codec); if (err < 0) @@ -14803,7 +14852,7 @@ static int patch_alc861vd(struct hda_codec *codec) spec->adc_nids = alc861vd_adc_nids; spec->num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids); spec->capsrc_nids = alc861vd_capsrc_nids; - spec->is_mix_capture = 1; + spec->capture_style = CAPT_MIX;
set_capture_mixer(spec);
@@ -16397,7 +16446,7 @@ static int alc662_auto_create_extra_out(struct alc_spec *spec, hda_nid_t pin, static int alc662_auto_create_analog_input_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) { - struct hda_input_mux *imux = &spec->private_imux; + struct hda_input_mux *imux = &spec->private_imux[0]; int i, err, idx;
for (i = 0; i < AUTO_PIN_LAST; i++) { @@ -16528,7 +16577,7 @@ static int alc662_parse_auto_config(struct hda_codec *codec) add_mixer(spec, spec->kctls.list);
spec->num_mux_defs = 1; - spec->input_mux = &spec->private_imux; + spec->input_mux = &spec->private_imux[0];
add_verb(spec, alc662_auto_init_verbs); if (codec->vendor_id == 0x10ec0663) @@ -16613,7 +16662,7 @@ static int patch_alc662(struct hda_codec *codec) spec->adc_nids = alc662_adc_nids; spec->num_adc_nids = ARRAY_SIZE(alc662_adc_nids); spec->capsrc_nids = alc662_capsrc_nids; - spec->is_mix_capture = 1; + spec->capture_style = CAPT_MIX;
if (!spec->cap_mixer) set_capture_mixer(spec);

At Wed, 28 Jan 2009 09:16:33 -0200, Herton Ronaldo Krzesinski wrote:
Currently code for capture source support in ALC889 only considers capture mixers. This change adds aditional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski herton@mandriva.com.br
sound/pci/hda/patch_realtek.c | 105 ++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 28 deletions(-)
Note: I did this patch without hardware to test on, just based on alsa-info.txt from one machine with ALC889 plus the ALC889 datasheet available from Realtek website, so this is just build tested.
Could you post that alsa-info output? Then I can test it with hda-emu, too.
Anyway, the patch is applied now. Thanks!
Takashi

Em Quarta-feira 28 Janeiro 2009, às 13:30:10, Takashi Iwai escreveu:
At Wed, 28 Jan 2009 09:16:33 -0200, Herton Ronaldo Krzesinski wrote:
Currently code for capture source support in ALC889 only considers capture mixers. This change adds aditional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski herton@mandriva.com.br
sound/pci/hda/patch_realtek.c | 105 ++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 28 deletions(-)
Note: I did this patch without hardware to test on, just based on alsa-info.txt from one machine with ALC889 plus the ALC889 datasheet available from Realtek website, so this is just build tested.
Could you post that alsa-info output? Then I can test it with hda-emu, too.
Ops, it's the /proc/asound/card0/codec#0 (not full alsa-info, just confused myself) in this ticket: https://qa.mandriva.com/show_bug.cgi?id=45838 I have yet to check hda-emu, will test with it next time.
I did a patch for alsa 1.0.18 for the bug report, now I was converting it to sound tree, by first adding this capture ADC+selector support and later to add an additional model for acer 8930. Just didn't submit the patch with model addition yet as it looks like the laptop has speakers for rear/clfe etc. and I'm now waiting from feedback about this on the bug report, but for now the patch with addition is this:
ALSA: hda - Add acer-aspire-alc889 model for ALC889 codecs
This adds a new model to handle Acer Aspire 8930, that slightly differs from other ALC883/889 models. Currently it doesn't work as reported on https://qa.mandriva.com/show_bug.cgi?id=45838
Signed-off-by: Herton Ronaldo Krzesinski herton@mandriva.com.br --- sound/pci/hda/patch_realtek.c | 61 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index d81cb5e..8c0bd7e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -216,6 +216,7 @@ enum { ALC883_ACER, ALC883_ACER_ASPIRE, ALC888_ACER_ASPIRE_4930G, + ALC889_ACER_ASPIRE, ALC883_MEDION, ALC883_MEDION_MD2, ALC883_LAPTOP_EAPD, @@ -7237,6 +7238,34 @@ static struct hda_input_mux alc883_asus_eee1601_capture_source = { }, };
+static struct hda_input_mux alc889_acer_aspire_capture_source[3] = { + { + .num_items = 4, + .items = { + { "Mic", 0x0 }, + { "Line", 0x02 }, + { "Mixer", 0x0a }, + { "Int DMic", 0x0b }, + }, + }, + { + .num_items = 3, + .items = { + { "Mic", 0x0 }, + { "Line", 0x02 }, + { "Mixer", 0x0a }, + }, + }, + { + .num_items = 3, + .items = { + { "Mic", 0x0 }, + { "Line", 0x02 }, + { "Mixer", 0x0a }, + }, + }, +}; + /* * 2ch mode */ @@ -8439,6 +8468,22 @@ static void alc883_eee1601_inithook(struct hda_codec *codec) alc883_eee1601_speaker_automute(codec); }
+static struct hda_verb alc889_acer_aspire_verbs[] = { + {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(5)}, + {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(6)}, + {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(7)}, + {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(8)}, + {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(9)}, + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, + {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, + {0x15, AC_VERB_SET_EAPD_BTLENABLE, 0x02}, + /* This is Speaker Out, not Rear, so connect to Front */ + {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, + {0x24, AC_VERB_SET_CONNECT_SEL, 0x0b}, + { } /* end */ +}; + #ifdef CONFIG_SND_HDA_POWER_SAVE #define alc883_loopbacks alc880_loopbacks #endif @@ -8463,6 +8508,7 @@ static const char *alc883_models[ALC883_MODEL_LAST] = { [ALC883_ACER] = "acer", [ALC883_ACER_ASPIRE] = "acer-aspire", [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", + [ALC889_ACER_ASPIRE] = "acer-aspire-alc889", [ALC883_MEDION] = "medion", [ALC883_MEDION_MD2] = "medion-md2", [ALC883_LAPTOP_EAPD] = "laptop-eapd", @@ -8493,6 +8539,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { ALC888_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0x013f, "Acer Aspire 5930G", ALC888_ACER_ASPIRE_4930G), + SND_PCI_QUIRK(0x1025, 0x0145, "Acer Aspire 8930", ALC889_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x015e, "Acer Aspire 6930G", ALC888_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0, "Acer laptop", ALC883_ACER), /* default Acer */ @@ -8693,6 +8740,20 @@ static struct alc_config_preset alc883_presets[] = { .unsol_event = alc888_acer_aspire_4930g_unsol_event, .init_hook = alc888_acer_aspire_4930g_automute, }, + [ALC889_ACER_ASPIRE] = { + .mixers = { alc883_acer_aspire_mixer }, + .init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs, + alc889_acer_aspire_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .num_mux_defs = ARRAY_SIZE(alc889_acer_aspire_capture_source), + .input_mux = alc889_acer_aspire_capture_source, + .unsol_event = alc888_acer_aspire_4930g_unsol_event, + .init_hook = alc888_acer_aspire_4930g_automute, + }, [ALC883_MEDION] = { .mixers = { alc883_fivestack_mixer, alc883_chmode_mixer },

Herton Ronaldo Krzesinski <herton <at> mandriva.com.br> writes:
Em Quarta-feira 28 Janeiro 2009, às 13:30:10, Takashi Iwai escreveu:
At Wed, 28 Jan 2009 09:16:33 -0200, Herton Ronaldo Krzesinski wrote:
Currently code for capture source support in ALC889 only considers capture mixers. This change adds aditional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski <herton <at> mandriva.com.br>
sound/pci/hda/patch_realtek.c | 105
++++++++++++++++++++++++++++++-----------
1 files changed, 77 insertions(+), 28 deletions(-)
Note: I did this patch without hardware to test on, just based on
alsa-info.txt
from one machine with ALC889 plus the ALC889 datasheet available from Realtek website, so this is just build tested.
Could you post that alsa-info output? Then I can test it with hda-emu, too.
Ops, it's the /proc/asound/card0/codec#0 (not full alsa-info, just confused myself) in this ticket: https://qa.mandriva.com/show_bug.cgi?id=45838 I have yet to check hda-emu, will test with it next time.
I did a patch for alsa 1.0.18 for the bug report, now I was converting it to sound tree, by first adding this capture ADC+selector support and later to add an additional model for acer 8930. Just didn't submit the patch with model addition yet as it looks like the laptop has speakers for rear/clfe etc. and I'm now waiting from feedback about this on the bug report, but for now the patch with addition is this:
ALSA: hda - Add acer-aspire-alc889 model for ALC889 codecs
This adds a new model to handle Acer Aspire 8930, that slightly differs from other ALC883/889 models. Currently it doesn't work as reported on https://qa.mandriva.com/show_bug.cgi?id=45838
Signed-off-by: Herton Ronaldo Krzesinski <herton <at> mandriva.com.br>
Hi, sorry to disturb. I have an acer Aspire 8930 and I am fighting with sound. I have an up-to-date ubuntu Intrepid distribution. I had NO sound at all. I followed instructions upgrading to latest alsa-driver-1.0.19 added "options snd-hda-intel model=acer" to /etc/modprobe.d/alsa-base and "/usr/local/bin/hda-verb /dev/snd/hwC0D0 0x15 SET_EAPD_BTLENABLE 2" to /etc/rc.local. JOY! I have sound. So far so good. Now my problem is I do not have capture (intrnal or external mic are not working); I kept searching and found this thread. I downloaded the alsa-driver-snapshot-tiwai from ftp.kernel.org, applied the last patch (it seemed not applied in the snapshot) which went in with some line discrepancies. Removed the above settings and insatalled the new driver. Result is now I have a *very* low volume audio and I'm unsure the mic is working at all. I'm obviously missing something. Can someone be so kind to point me in the right direction, please? I'm (obviously!) ready to offer all info required. I simply didn't want to make this post any longer.
Thanks in Advance Mauro

At Fri, 13 Feb 2009 11:10:10 +0000 (UTC), Mauro Condarelli wrote:
Herton Ronaldo Krzesinski <herton <at> mandriva.com.br> writes:
Em Quarta-feira 28 Janeiro 2009, às 13:30:10, Takashi Iwai escreveu:
At Wed, 28 Jan 2009 09:16:33 -0200, Herton Ronaldo Krzesinski wrote:
Currently code for capture source support in ALC889 only considers capture mixers. This change adds aditional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski <herton <at> mandriva.com.br>
sound/pci/hda/patch_realtek.c | 105
++++++++++++++++++++++++++++++-----------
1 files changed, 77 insertions(+), 28 deletions(-)
Note: I did this patch without hardware to test on, just based on
alsa-info.txt
from one machine with ALC889 plus the ALC889 datasheet available from Realtek website, so this is just build tested.
Could you post that alsa-info output? Then I can test it with hda-emu, too.
Ops, it's the /proc/asound/card0/codec#0 (not full alsa-info, just confused myself) in this ticket: https://qa.mandriva.com/show_bug.cgi?id=45838 I have yet to check hda-emu, will test with it next time.
I did a patch for alsa 1.0.18 for the bug report, now I was converting it to sound tree, by first adding this capture ADC+selector support and later to add an additional model for acer 8930. Just didn't submit the patch with model addition yet as it looks like the laptop has speakers for rear/clfe etc. and I'm now waiting from feedback about this on the bug report, but for now the patch with addition is this:
ALSA: hda - Add acer-aspire-alc889 model for ALC889 codecs
This adds a new model to handle Acer Aspire 8930, that slightly differs from other ALC883/889 models. Currently it doesn't work as reported on https://qa.mandriva.com/show_bug.cgi?id=45838
Signed-off-by: Herton Ronaldo Krzesinski <herton <at> mandriva.com.br>
Hi, sorry to disturb. I have an acer Aspire 8930 and I am fighting with sound. I have an up-to-date ubuntu Intrepid distribution. I had NO sound at all. I followed instructions upgrading to latest alsa-driver-1.0.19 added "options snd-hda-intel model=acer" to /etc/modprobe.d/alsa-base and "/usr/local/bin/hda-verb /dev/snd/hwC0D0 0x15 SET_EAPD_BTLENABLE 2" to /etc/rc.local. JOY! I have sound. So far so good. Now my problem is I do not have capture (intrnal or external mic are not working); I kept searching and found this thread. I downloaded the alsa-driver-snapshot-tiwai from ftp.kernel.org, applied the last patch (it seemed not applied in the snapshot) which went in with some line discrepancies. Removed the above settings and insatalled the new driver. Result is now I have a *very* low volume audio and I'm unsure the mic is working at all. I'm obviously missing something. Can someone be so kind to point me in the right direction, please? I'm (obviously!) ready to offer all info required. I simply didn't want to make this post any longer.
Try the latest snapshot below with model=auto option. ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
If this doesn't work, please run alsa-info.sh with --no-upload option and attach the generated file. The script is found at http://www.alsa-project.org/alsa-info.sh
thanks,
Takashi

Takashi Iwai <tiwai <at> suse.de> writes:
Try the latest snapshot below with model=auto option.
ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver- snapshot.tar.gz
If this doesn't work, please run alsa-info.sh with --no-upload option and attach the generated file. The script is found at http://www.alsa-project.org/alsa-info.sh
Hi Takashi, many thanks for the really fast answer!
I was already using that snapshot (albeit with further patches). I recompiled and reinstalled a fresh copy (to be on the safe side), but the results are the same: *very* low volume even with all mixers up. Here comes the alsa-info output. Let me know if You need something else. Thanks Mauro
upload=true&script=true&cardinfo= !!################################ !!ALSA Information Script v 0.4.54 !!################################
!!Script ran on: Fri Feb 13 12:28:29 UTC 2009
!!Linux Distribution !!------------------
Ubuntu 8.10 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 8.10"
!!Kernel Information !!------------------
Kernel release: 2.6.27-11-generic Operating System: GNU/Linux Architecture: i686 Processor: unknown SMP Enabled: Yes
!!ALSA Version !!------------
Driver version: 1.0.19 Library version: 1.0.17a Utilities version: 1.0.18
!!Loaded ALSA modules !!-------------------
snd_hda_intel
!!Sound Servers on this system !!----------------------------
Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - No
ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No
!!Soundcards recognised by ALSA !!-----------------------------
0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xdb300000 irq 22
!!PCI Soundcards installed in the system !!--------------------------------------
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's !!--------------------------------------------------------
00:1b.0 0403: 8086:293e (rev 03) Subsystem: 1025:0145
!!Modprobe options (Sound related) !!--------------------------------
snd-atiixp-modem: index=-2 snd-intel8x0m: index=-2 snd-via82xx-modem: index=-2 snd-usb-audio: index=-2 snd-usb-usx2y: index=-2 snd-usb-caiaq: index=-2 snd-cmipci: mpu_port=0x330 fm_port=0x388 snd-pcsp: index=-2 snd-hda-intel: model=auto
!!Loaded sound module options !!--------------------------
!!Module: snd_hda_intel bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 0 id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 model : auto,<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: Realtek ALC889 Address: 0 Vendor Id: 0x10ec0889 Subsystem Id: 0x10250145 Revision Id: 0x100004 No Modem Function Group found Default PCM: rates [0x5f0]: 32000 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=2, o=0, i=0, unsolicited=1, wake=1 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 Node 0x02 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x03 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x04 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x05 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5f0]: 32000 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x24 0x24] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x24 Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x23 Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x22 Node 0x0a [Audio Input] wcaps 0x100391: Stereo Digital Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x570]: 32000 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Unsolicited: tag=00, enabled=0 Connection: 1 0x1f Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] Connection: 10 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 Node 0x0c [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x16 0x16] Connection: 2 0x02 0x0b Node 0x0d [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x16 0x16] Connection: 2 0x03 0x0b Node 0x0e [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x04 0x0b Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x05 0x0b Node 0x10 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5f0]: 32000 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x11 [Pin Complex] wcaps 0x400300: Mono Digital Pincap 0x00000010: OUT Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 1 0x10 Node 0x12 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x99a30940: [Fixed] Mic at Int ATAPI Conn = ATAPI, Color = Unknown DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0001003c: IN OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI Conn = ATAPI, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0001003c: IN OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x0221101f: [Jack] HP Out at Ext Front Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0xc0: OUT HP Unsolicited: tag=04, enabled=1 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x16 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x00000034: IN OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e* 0x0f 0x26 Node 0x17 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x00000034: IN OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f* 0x26 Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x02a19c30: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f 0x26* Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f 0x26* Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x0281343f: [Jack] Line In at Ext Front Conn = 1/8, Color = Blue DefAssociation = 0x3, Sequence = 0xf Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f 0x26* Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f 0x26* Node 0x1c [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00000024: IN Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Node 0x1d [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x4016852d: [N/A] Speaker at Ext N/A Conn = Digital, Color = Purple DefAssociation = 0x2, Sequence = 0xd Misc = NO_PRESENCE Pin-ctls: 0x20: IN Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital Pincap 0x00000010: OUT Pin Default 0x02451120: [Jack] SPDIF Out at Ext Front Conn = Optical, Color = Black DefAssociation = 0x2, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 1 0x06 Node 0x1f [Pin Complex] wcaps 0x400280: Mono Digital Pincap 0x00000020: IN Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono Processing caps: benign=0, ncoeff=28 Processing Coefficient: 0x4900 Coefficient Index: 0x09 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x24 [Audio Selector] wcaps 0x300101: Stereo Connection: 12 0x18* 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b 0x12 Node 0x25 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x26 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x3e 0x3e] Connection: 2 0x25 0x0b Codec: LSI ID 1040 Address: 1 Vendor Id: 0x11c11040 Subsystem Id: 0x10250145 Revision Id: 0x100200 Modem Function Group: 0x1 Codec: Nvidia MCP78 HDMI Address: 2 Vendor Id: 0x10de0006 Subsystem Id: 0x10de0101 Revision Id: 0x100000 No Modem Function Group found Default PCM: rates [0x0]: bits [0x0]: formats [0x0]: Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x18560110: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x04 Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560121: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x1 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x06 Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560122: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x2 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x08 Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560123: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x3 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x0a Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560124: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x4 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x0c --endcollapse--
!!ALSA Device nodes !!-----------------
crw-rw----+ 1 root audio 116, 0 Feb 13 13:22 /dev/snd/controlC0 crw-rw----+ 1 root audio 116, 4 Feb 13 13:22 /dev/snd/hwC0D0 crw-rw----+ 1 root audio 116, 5 Feb 13 13:22 /dev/snd/hwC0D1 crw-rw----+ 1 root audio 116, 6 Feb 13 13:22 /dev/snd/hwC0D2 crw-rw----+ 1 root audio 116, 24 Feb 13 13:24 /dev/snd/pcmC0D0c crw-rw----+ 1 root audio 116, 16 Feb 13 13:24 /dev/snd/pcmC0D0p crw-rw----+ 1 root audio 116, 17 Feb 13 13:22 /dev/snd/pcmC0D1p crw-rw----+ 1 root audio 116, 26 Feb 13 13:22 /dev/snd/pcmC0D2c crw-rw----+ 1 root audio 116, 19 Feb 13 13:22 /dev/snd/pcmC0D3p crw-rw----+ 1 root audio 116, 1 Feb 13 13:22 /dev/snd/seq crw-rw----+ 1 root audio 116, 33 Feb 13 13:22 /dev/snd/timer
!!Aplay/Arecord output !!------------
APLAY
**** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC889 Analog [ALC889 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC889 Digital [ALC889 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 3: NVIDIA HDMI [NVIDIA HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC889 Analog [ALC889 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 2: ALC889 Analog [ALC889 Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1
!!Amixer output !!-------------
!!-------Mixer controls for card 0 [Intel]
Card hw:0 'Intel'/'HDA Intel at 0xdb300000 irq 22' Mixer name : 'Nvidia MCP78 HDMI' Components : 'HDA:10ec0889,10250145,00100004 HDA:11c11040,10250145,00100200 HDA:10de0006,10de0101,00100000' Controls : 32 Simple ctrls : 17 Simple mixer control 'Master',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 44 [69%] [-20.00dB] [on] Simple mixer control 'Headphone',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 42 [66%] [-20.00dB] [on] Front Right: Playback 42 [66%] [-20.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 'Front',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 42 [66%] [-20.00dB] [on] Front Right: Playback 42 [66%] [-20.00dB] [on] Simple mixer control 'Front Mic',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 0 [0%] [-34.50dB] [off] Front Right: Playback 0 [0%] [-34.50dB] [off] Simple mixer control 'Front Mic Boost',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 3 Front Left: 0 [0%] Front Right: 0 [0%] Simple mixer control 'Line',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 0 [0%] [-34.50dB] [off] Front Right: Playback 0 [0%] [-34.50dB] [off] Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'IEC958 Default PCM',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'IEC958',1 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 46 Front Left: Capture 36 [78%] [20.00dB] [on] Front Right: Capture 36 [78%] [20.00dB] [on] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 46 Front Left: Capture 0 [0%] [-16.00dB] [on] Front Right: Capture 0 [0%] [-16.00dB] [on] Simple mixer control 'Capture',2 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 46 Front Left: Capture 0 [0%] [-16.00dB] [on] Front Right: Capture 0 [0%] [-16.00dB] [on] Simple mixer control 'Beep',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 23 [74%] [0.00dB] [off] Front Right: Playback 23 [74%] [0.00dB] [off] Simple mixer control 'Input Source',0 Capabilities: cenum Items: 'Front Mic' 'Line' 'Int DMic' Item0: 'Front Mic' Simple mixer control 'Input Source',1 Capabilities: cenum Items: 'Front Mic' 'Line' Item0: 'Front Mic' Simple mixer control 'Input Source',2 Capabilities: cenum Items: 'Front Mic' 'Line' Item0: 'Front Mic'
!!Alsactl output !!-------------
--startcollapse-- state.Intel { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -6200 comment.dbmax 200 iface MIXER name 'Front Playback Volume' value.0 42 value.1 42 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Playback Switch' value.0 true value.1 true } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -6200 comment.dbmax 200 iface MIXER name 'Headphone Playback Volume' value.0 42 value.1 42 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 true value.1 true } control.5 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Front Mic Playback Volume' value.0 0 value.1 0 } control.6 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Mic Playback Switch' value.0 false value.1 false } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Line Playback Volume' value.0 0 value.1 0 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Line Playback Switch' value.0 false value.1 false } control.9 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Front Mic Boost' value.0 0 value.1 0 } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 true value.1 true } control.11 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 true value.1 true } control.12 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 2 value.0 true value.1 true } control.13 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 46' comment.dbmin -1600 comment.dbmax 3000 iface MIXER name 'Capture Volume' value.0 36 value.1 36 } control.14 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 46' comment.dbmin -1600 comment.dbmax 3000 iface MIXER name 'Capture Volume' index 1 value.0 0 value.1 0 } control.15 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 46' comment.dbmin -1600 comment.dbmax 3000 iface MIXER name 'Capture Volume' index 2 value.0 0 value.1 0 } control.16 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line comment.item.2 'Int DMic' iface MIXER name 'Input Source' value 'Front Mic' } control.17 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line iface MIXER name 'Input Source' index 1 value 'Front Mic' } control.18 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line iface MIXER name 'Input Source' index 2 value 'Front Mic' } control.19 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' value '0fff000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.20 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' value '0f00000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.21 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.22 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' value false } control.23 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Default PCM Playback Switch' value true } control.24 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Beep Playback Volume' value.0 23 value.1 23 } control.25 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Beep Playback Switch' value.0 false value.1 false } control.26 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -6400 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value 44 } control.27 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.28 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' index 1 value '0fff000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.29 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' index 1 value '0f00000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.30 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' index 1 value '0400000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000' } control.31 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' index 1 value false } control.32 { 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 255 value.1 255 } } --endcollapse--
!!All Loaded Modules !!------------------
Module binfmt_misc sco bridge stp bnep rfcomm l2cap bluetooth nfsd auth_rpcgss exportfs ppdev acpi_cpufreq cpufreq_userspace cpufreq_stats cpufreq_conservative cpufreq_powersave cpufreq_ondemand freq_table container pci_slot sbs sbshc nfs lockd nfs_acl sunrpc ipv6 af_packet iptable_filter ip_tables x_tables parport_pc lp parport joydev arc4 ecb crypto_blkcipher uvcvideo snd_hda_codec_nvhdmi acer_wmi compat_ioctl32 videodev serio_raw psmouse pcspkr snd_hda_codec_realtek v4l1_compat iwlagn iwlcore rfkill snd_hda_intel snd_hda_codec evdev snd_hwdep snd_pcm_oss snd_mixer_oss led_class lbm_cw_mac80211 snd_pcm lbm_cw_cfg80211 snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq video output snd_timer snd_seq_device snd battery intel_agp wmi ac button soundcore agpgart shpchp pci_hotplug snd_page_alloc ext3 jbd mbcache sd_mod crc_t10dif usbhid hid sr_mod cdrom sg ahci libata scsi_mod dock uhci_hcd ehci_hcd atl1e usbcore thermal processor fan fbcon tileblit font bitblit softcursor fuse
participants (3)
-
Herton Ronaldo Krzesinski
-
Mauro Condarelli
-
Takashi Iwai