[alsa-devel] regression: from 3.8 to 3.9: headphones output no sound on Intel HDA, codec VIA VT1802

Takashi Iwai tiwai at suse.de
Mon May 13 17:53:08 CEST 2013


At Mon, 13 May 2013 17:26:04 +0200,
Takashi Iwai wrote:
> 
> At Sun, 12 May 2013 11:53:41 +0200,
> Alex Riesen wrote:
> > 
> > Hi,
> > 
> > I just noticed (use the headphones rarely) that the headphones on this
> > System76 Lemur Ultra (lemu4) stopped working. There is absolutely no
> > output.
> > 
> > I tried reverting all changes to patch_via.c since v3.8, and
> > have the sound back, but there wasn't much to revert:
> > 
> > Revert "ALSA: hda - Rearrange INPUT_PIN_ATTR_*"
> > Revert "ALSA: hda - Use generic parser for VIA codec driver"
> > Revert "ALSA: hda - Enable parsing the independent HP mode as default
> > for VIA codecs"
> > Revert "ALSA: hda/via - Fix wrong checks of power state bits"
> > Revert "ALSA: hda - Fix phantom jacks on VT1708"
> > Revert "ALSA: hda - detect jacks on VT1708 even when no streams are active"
> > Revert "ALSA: hda - Use generic array for loopback list management"
> > 
> > and one change (which I indeed suspect) is large: the use of generic parser.
> > 
> > The problem is also present in 3.10-rc1. The output of alsa-info.sh attached,
> > for 3.8.12 and 3.9.2 respectively.
> 
> It's strange that the pin 0x25 shows EAPD 0x00 and pin-control 0x00.
> They should be 0x02 and 0xc0 constantly.  Is it taken at the moment
> the headphone is plugged, right?  Please give alsa-info.sh outputs at
> both the headphone plugged and unplugged.
> 
> Could you check whether changing them makes the headphone output
> working?  For example, get hda-verb program (see
> Documentation/sound/alsa/HD-Audio.txt) and run it like
> 
> 	hda-verb /dev/snd/hwC0D0 0x25 SET_PIN_WID 0xc0
> 	hda-verb /dev/snd/hwC0D0 0x25 SET_EAPD 0x02

Also, what happens if you apply the patch below?


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index e0dadcf..13ed791 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -1561,7 +1561,7 @@ static int patch_vt2002P(struct hda_codec *codec)
 
 	codec->patch_ops = via_patch_ops;
 
-	spec->set_widgets_power_state =  set_widgets_power_state_vt2002P;
+	//spec->set_widgets_power_state =  set_widgets_power_state_vt2002P;
 	return 0;
 }
 


More information about the Alsa-devel mailing list