[alsa-devel] No sound on Quanta KN1 with kernel 3.4
Takashi Iwai
tiwai at suse.de
Wed Apr 18 12:32:26 CEST 2012
At Wed, 18 Apr 2012 12:27:09 +0200,
Takashi Iwai wrote:
>
> At Wed, 18 Apr 2012 11:55:45 +0200,
> Uros Vampl wrote:
> >
> > On 18.04.12 10:05, Takashi Iwai wrote:
> > > > > It's a laptop. There's no sound, not from internal speakers, not from
> > > > > headphone out. There is a mild crackling sound when the module is
> > > > > loaded, but that's it. The patch does not change things.
> > > >
> > > > OK, I'll send another patch tomorrow. But the previous patch should
> > > > work, still. Make sure that you adjusted and unmuted the mixer
> > > > elements after applying the patch. There should be some new mixer
> > > > elements.
> > > >
> > > > If it still doesn't work after the mixer adjustment, give alsa-info.sh
> > > > output again.
> > >
> > > Also, there are many bogus input pins on your device.
> > > Which physical inputs are on the machine? BIOS advertises that there
> > > are front-mic, rear-mic, line-in, aux-in and CD. Do all these work
> > > properly? You can choose it from "Input Source" mixer enum.
> > >
> > > Also, it also advertises SPDIF input and output. Are really both on
> > > your machine?
> >
> > The only physical input is mic-in. But there's also an integrated
> > microphone. In kernel 3.3 the intergrated mic is simply "Mic" and works
> > for both playback and capture. I don't have an external mic to test.
>
> You can use even a headphone although the recording level is low.
> Just plug your headphone into the mic jack and shout.
>
> > In kernel 3.4 I still don't have sound, even with the patch (I unmuted
> > everything there was to unmute, then muted SPDIF, nothing produced
> > sound), so I could only test capture - "Rear Mic" captures from the
> > integrated microphone.
>
> OK.
>
> > I assume "Front Mic" would work for an external microphone, and maybe CD
> > is for listening to audio CDs? The CD drive broke a few years back, so I
> > can't test it.
>
> On most of laptops, it's already deprecated. So we can drop it.
>
> > No idea about SPDIF-in,
>
> If it has no jack, then we can drop it.
>
> > but headphone-out doubles as SPDIF-out. There's
> > a red light inside the jack, and if I unmute SPDIF, the light goes on. I
> > remember it was like that also in Windows. I don't have appropriate
> > hardware to test if it actually works.
>
> OK, then it must be kept.
>
> > Attached is a alsa-info.txt with the patch. There are some differences
> > compared to without patch, but like I said above, still no sound.
>
> Then the speaker pin is not 0x0f but 0x11.
>
> I'll cook up the test patch based on the current information and post
> it later.
Below is the test patch. Again, adjust the mixer volumes after
applying the patch. Now you should have "Headphone" and "Speaker"
volumes & switches.
Also, the speaker is muted automatically when the headphone is plugged.
For testing the speaker, unplug the headphone.
Takashi
---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 2508f81..1231a17 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4861,6 +4861,7 @@ enum {
ALC260_FIXUP_GPIO1_TOGGLE,
ALC260_FIXUP_REPLACER,
ALC260_FIXUP_HP_B1900,
+ ALC260_FIXUP_KN1,
};
static void alc260_gpio1_automute(struct hda_codec *codec)
@@ -4938,7 +4939,25 @@ static const struct alc_fixup alc260_fixups[] = {
.v.func = alc260_fixup_gpio1_toggle,
.chained = true,
.chain_id = ALC260_FIXUP_COEF,
- }
+ },
+ [ALC260_FIXUP_KN1] = {
+ .type = ALC_FIXUP_PINS,
+ .v.pins = (const struct alc_pincfg[]) {
+ { 0x10, 0x02214000 }, /* HP */
+ { 0x11, 0x99130110 }, /* speaker */
+ { 0x12, 0x90a60160 }, /* int mic */
+ { 0x13, 0x02a19000 }, /* ext mic */
+ { 0x18, 0x01446000 }, /* SPDIF out */
+ /* disable bogus I/O pins */
+ { 0x0f, 0x411111f0 },
+ { 0x14, 0x411111f0 },
+ { 0x15, 0x411111f0 },
+ { 0x16, 0x411111f0 },
+ { 0x17, 0x411111f0 },
+ { 0x19, 0x411111f0 },
+ { }
+ }
+ },
};
static const struct snd_pci_quirk alc260_fixup_tbl[] = {
@@ -4948,6 +4967,7 @@ static const struct snd_pci_quirk alc260_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", ALC260_FIXUP_HP_DC5750),
SND_PCI_QUIRK(0x103c, 0x30ba, "HP Presario B1900", ALC260_FIXUP_HP_B1900),
SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FIXUP_GPIO1),
+ SND_PCI_QUIRK(0x152d, 0x0729, "Quanta KN1", ALC260_FIXUP_KN1),
SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_FIXUP_REPLACER),
SND_PCI_QUIRK(0x1631, 0xc017, "PB V7900", ALC260_FIXUP_COEF),
{}
More information about the Alsa-devel
mailing list