I posted this on the alsa-user list, but did not get a reply.
Although it occasionally works, I am usually unable to get any sound out of the speakers on a dell latitude e7240 using alsa-1.0.28 and linux-3.16.6 - see details at the end of the post.
If so, Windows or BIOS is the problem. It doesn't set up the pin
configuration properly Linux driver relies on.
I just updated the bios to the latest version, but no change :(
If you get the status where the speaker works (e.g. after Windows
clean
reboot), try to take alsa-info.sh snapshot. Run alsa-> info.sh with --no-upload option, and save the generated output. Then, take another alsa-info.sh snapshot while the speaker > doesn't work. Compare these two outputs. (At best, attach both (compressed) files.)
Alsa_info_works and alsa_info_no_works attached - diff didn't show an obvious difference between getting sound from the speakers and not getting sound from the speakers.
OK, then this is not about the pin configuration, but likely the EAPD
setup BIOS does.
Did you try the newer kernels? There has been a fix for EAPD control, and this might already fix your problem.
I'd rather patch my current kernel if possible - do you know where the
EPAD control patch is by any chance?
I forgot to mention that if I run gnome-3.10.x, without using alsamixer to unmute the master or mute the headphones, I can almost always get sound from the speakers.
If I don't use gnome, then usually no amount of fiddling with alsa/pulseaudio will get sound out of the speakers, though it's looking more and more likely that exiting win7 64bit with "shutdown.exe -s" fixes things (using alsamixer to unmute the master or mute the headphones) until I next boot into windows.