Hi, Thanks for the quick reply! >> I was able to improve the situation by adding this to modprobe.d: >> options snd-hda-intel model=dell-headset-multi >> Now, mics and external speakers plugged in work fine (where for mics, I >> need to manually configure them in pacuvontrol: "Speakers" and >> "Microphone"). Combined headsets also work (with "Headphones" and >> "Headset Microphone"), i.e. I get audio in and audio out, but the audio >> in from the microphone is fairly noisy. I am not sure whether this is >> due to the headset or the laptop; I am using the same headset with my >> phone and people I called did not complain about noise. >> Furthermore, there is a weird effect: I have a headset with *separate* >> plugs for speaker and mic (which I used above to test the speaker vs. >> mic functionality). If I plug in the speaker part, but configure it as >> a microhpone (out: "Speakers", in: "Microphone"), then I actually get a >> (rather noisy) input signal. Not sure what is going on there, but I'm >> reasonably sure it is getting that signal from the headset, not the >> internal mic of the laptop. > > It's a configuration with "headphone mic" for Dell, so it doesn't fit > with yours properly. > > Look at the lspci -nv output, and check the PCI SSID of the > corresponding device. Then try to add an entry applying some fixup, > e.g. ALC269_FIXUP_ASPIRE_HEADSET_MIC, in alc269_fixup_tbl[] defined in > sound/pci/hda/patch_realtek.c: > > static const struct snd_pci_quirk alc269_fixup_tbl[] = { > ..... > SND_PCI_QUIRK(0x1025, XXXX, "Acer Your Model", ALC269_FIXUP_ASPIRE_HEADSET_MIC), > ..... > > There are other definitions for 1025:*, so put your own one there. > The list is sorted in the id number order. > > There are quite lots of fixup models that can be applied, do figure > out by trial-and-error. I tried a bunch of fixup models (and even defined one myself), but none of them made the internal microhpone work. Funny enough, the definitions involving "DELL" work best. Here's what I tried: ALC269_FIXUP_ASPIRE_HEADSET_MIC, ALC255_FIXUP_ASPIRE_HEADSET_MIC [*]: Combined headset plugged into the hack works. PLugging in a "pure" mic doesn't. pavuctl says "Headset Microphone (unplugged)". ALC255_FIXUP_HEADSET_MODE, ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC: No mic works, pavuctl: "Analog Input" ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, ALC269_FIXUP_DELL1_MIC_NO_PRESENCE: pavuctl: "Headset Microhpone" & "Microphone". Both kinds of microphone work (after sometimes manually selecting the right thing in pavuctl), but the "pure" mix has a 50 Hz noise on it that goes away when I unplug all cable. Notice that this is running the laptop in a different place and with a different mic than when I previously tried just passing an option to the vanilla module, so I don't know whether the 50 Hz hum also appears in the other conditions. There's no 50 Hz hum with the "combined" headset. There's a weird bug: When starting Audacity, playback breaks and I have to switch (in pavuctl) to "Microphone" and then back to "Headset Microphone" to make it work again. [*] See attached patch. Notice that I don't know what I am doing here, I am just pattern-matching. I can't realistically try all the hundreds of fixups, so I tried those that sounded most realistic and those that mention ALC255 (which seems to be the chip I have). However, as can be seen above, ALC269-fixups vs. ALC255-fixups doesn't seem to make any difference. Kind regards, Ralf
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 3f75d1b83bf2..fd2af7bfc5eb 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4825,6 +4825,7 @@ enum { ALC255_FIXUP_DELL2_MIC_NO_PRESENCE, ALC255_FIXUP_HEADSET_MODE, ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC, + ALC255_FIXUP_ASPIRE_HEADSET_MIC, ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, ALC292_FIXUP_TPT440_DOCK, ALC292_FIXUP_TPT440, @@ -5302,6 +5303,15 @@ static const struct hda_fixup alc269_fixups[] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_headset_mode_alc255_no_hp_mic, }, + [ALC255_FIXUP_ASPIRE_HEADSET_MIC] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x01a1913c }, /* headset mic w/o jack detect */ + { } + }, + .chained = true, + .chain_id = ALC255_FIXUP_HEADSET_MODE, + }, [ALC293_FIXUP_DELL1_MIC_NO_PRESENCE] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { @@ -5543,6 +5553,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS), SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK), + SND_PCI_QUIRK(0x1025, 0x1039, "Acer Aspire VN7-592G", ALC255_FIXUP_ASPIRE_HEADSET_MIC), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS), SND_PCI_QUIRK(0x1028, 0x05bd, "Dell Latitude E6440", ALC292_FIXUP_DELL_E7X),
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel