At Sat, 17 Mar 2012 11:00:33 +0100, Takashi Iwai wrote:
At Fri, 16 Mar 2012 16:10:09 -0700, Adam Williamson wrote:
Welp, pretty much as the topic says.
I just noticed today that sound is no longer playing from the internal speakers of my laptop, a 2010 model Sony Vaio Z. Plugging in headphones causes sound to be played fine through those. There are three possible choices for 'Connector' - 'Analog Speakers', 'Analog Output', and 'Analog Headphones' - but none of these seems to make sound come out of the internal speakers. The default is 'Analog Speakers', and when it's set to this, headphone output does work when headphones are plugged in.
I've verified that it's broken on Fedora 16 kernels 3.2.6-4, 3.2.8-3 and 3.2.10-1. It's also broken in a very recent Fedora 17 kernel, 3.3.0rc6 or so. It works on a Fedora 16 live image, with kernel 3.1.0-1. Unfortunately the kernels before 3.2.6 have been trashed from Fedora's buildsystem archives, I think, so it's hard to narrow things down any further :/
the alsa-info output is http://www.alsa-project.org/db/?f=368e2359757b537d4daa0f5399830d3942540196 .
At best, please provide the alsa-info.sh on the working kernel, too. You could install 3.1.x in addition to the current one just to check whether it works (i.e. no user-space side problem).
The codec amp values for the speaker pin in the alsa-info.sh output above looks OK, so the problem is something else such as GPIO. In the case of GPIO, it can be turned on/off by hda-verb, e.g.
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01 hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01 hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
and/or
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x02 hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x02 hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x02
Or, it might be some ALC889 COEF fixup. In anyway, try sound git tree, too git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
Or you can build alsa-driver externally without upgrading the whole kernel. I don't know the status of Fedora, but SUSE or Ubuntu provide the update kernel module from the latest alsa-driver snapshot.
The latest alsa-driver snapshot tarball is found at ftp://ftp.suse.com/pub/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Takashi