[alsa-devel] No surround sound with ALC892 on B150M Pro4/D3 - fixed with hdajackretask

Takashi Iwai tiwai at suse.de
Thu Oct 20 12:18:16 CEST 2016


On Tue, 18 Oct 2016 00:50:49 +0200,
Benjamin Valentin wrote:
> 
> Hi,
> 
> I had a problem with mainboard insofar that it would let me select 5.1
> surround output in my sound settings, but sound would only play from
> the two front speakers, all other channels remained silent.
> 
> Some fiddeling with hdajackretask would generate a firmware where two
> pins that were previously used for rear and LFE are now disabled and
> two previously disabled pins are now configured as rear and LFE - I
> left the other pins to their default setting as much as I could.
> The generated firmware is attached below.
> 
> I'd like to help that this will work out of the box in the future, is
> there any further information I can provide you with?
> 
> The board is an Asrock B150M Pro4/D3 [1] with the ALC892 HDA Codec.
> alsa-info from before the procedure can be found at [2].
> 
> I'm running Linux 4.8/alsa 1.1.2 on Ubuntu 16.10
> 
> The generated /lib/firmware/hda-jack-retask.fw is
> 
> [codec]
> 0x10ec0892 0x18498892 0
> 
> [pincfg]
> 0x11 0x411111f0
> 0x12 0x411111f0
> 0x14 0x01014010
> 0x15 0x40f000f0
> 0x16 0x40f000f0
> 0x17 0x411111f0
> 0x18 0x01014011
> 0x19 0x02a19950
> 0x1a 0x01014012
> 0x1b 0x02214120
> 0x1c 0x411111f0
> 0x1d 0x4005e601
> 0x1e 0x01452130
> 0x1f 0x411111f0
> 
> [model]
> auto
> 
> regards,
> Benjamin 
> 
> [1] http://www.asrock.com/mb/Intel/B150M%20Pro4D3/?cat=Specifications
> [2] http://www.alsa-project.org/db/?f=8e7b0788cde8967048959d50a57b0bb214ddc7fb

Does the patch below work for you?


thanks,

Takashi

---
From: Takashi Iwai <tiwai at suse.de>
Subject: [PATCH] ALSA: hda - Fix surround output pins for ASRock B150M mobo

ASRock B150M Pro4/D3 mobo with ALC892 codec doesn't seem to provide
proper pins for the surround outputs, hence we need to specify the
pincfgs manually with a couple of other corrections.

Reported-by: Benjamin Valentin <benpicco at googlemail.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 sound/pci/hda/patch_realtek.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b582d57fe184..284315555229 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6625,6 +6625,7 @@ enum {
 	ALC891_FIXUP_HEADSET_MODE,
 	ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
 	ALC662_FIXUP_ACER_VERITON,
+	ALC892_FIXUP_ASROCK_MOBO,
 };
 
 static const struct hda_fixup alc662_fixups[] = {
@@ -6901,6 +6902,16 @@ static const struct hda_fixup alc662_fixups[] = {
 			{ }
 		}
 	},
+	[ALC892_FIXUP_ASROCK_MOBO] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x15, 0x40f000f0 }, /* disabled */
+			{ 0x16, 0x40f000f0 }, /* disabled */
+			{ 0x18, 0x01014011 }, /* LO */
+			{ 0x18, 0x01014012 }, /* LO */
+			{ }
+		}
+	},
 };
 
 static const struct snd_pci_quirk alc662_fixup_tbl[] = {
@@ -6938,6 +6949,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
 	SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD),
 	SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD),
+	SND_PCI_QUIRK(0x1849, 0x5892, "ASRock B150M", ALC892_FIXUP_ASROCK_MOBO),
 	SND_PCI_QUIRK(0x19da, 0xa130, "Zotac Z68", ALC662_FIXUP_ZOTAC_Z68),
 	SND_PCI_QUIRK(0x1b0a, 0x01b8, "ACER Veriton", ALC662_FIXUP_ACER_VERITON),
 	SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T),
-- 
2.10.1



More information about the Alsa-devel mailing list