[alsa-devel] ALC1150 broken on SuperMicro X10SAT

Takashi Iwai tiwai at suse.de
Mon Sep 1 15:17:46 CEST 2014


At Sat, 30 Aug 2014 13:20:59 -0700,
Dana Goyette wrote:
> 
> On my SuperMicro X10SAT, the ALC1150 audio codec has horrific audio 
> quality by default.  The only output that seems to work is the front 
> channel, and it's quiet, distorted, and unbalanced (the right is louder 
> than the left).
> 
> alsa-info.sh output: 
> http://www.alsa-project.org/db/?f=8fbcab1d61590060ceddc1e63eb00d508e94d731
> 
> I've gotten the audio to work by guessing a model:
> options snd-hda-intel model=auto,acer-aspire,auto
> 
> In tracing through the source:
> {.id = ALC883_FIXUP_ACER_EAPD, .name = "acer-aspire"}
> This name leads to:
> [ALC883_FIXUP_ACER_EAPD] = {
>          .type = HDA_FIXUP_VERBS,
>          .v.verbs = (const struct hda_verb[]) {
>                  /* eanable EAPD on Acer laptops */
>                  { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
>                  { 0x20, AC_VERB_SET_PROC_COEF, 0x3050 },
>                  { }
>          }
> },
> There's another override I did not try, since it has no model= name:
> [ALC883_FIXUP_EAPD] = {
>          .type = HDA_FIXUP_VERBS,
>          .v.verbs = (const struct hda_verb[]) {
>                  /* change to EAPD mode */
>                  { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
>                  { 0x20, AC_VERB_SET_PROC_COEF, 0x3070 },
>                  { }
>          }
> },

What about the patch below?  It might be that only one of two changes
is needed.


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index d446ac3137b3..1ba22fb527c2 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -328,6 +328,7 @@ static void alc_auto_init_amp(struct hda_codec *codec, int type)
 		case 0x10ec0885:
 		case 0x10ec0887:
 		/*case 0x10ec0889:*/ /* this causes an SPDIF problem */
+		case 0x10ec0900:
 			alc889_coef_init(codec);
 			break;
 		case 0x10ec0888:
@@ -2350,6 +2351,7 @@ static int patch_alc882(struct hda_codec *codec)
 	switch (codec->vendor_id) {
 	case 0x10ec0882:
 	case 0x10ec0885:
+	case 0x10ec0900:
 		break;
 	default:
 		/* ALC883 and variants */


More information about the Alsa-devel mailing list