[alsa-devel] No internal speakers on laptop, suspend-to-ram and resume makes them work
I have a Panasonic Toughbook CF-52 with intel hda and AD1833. No sound from internal speakers, but sound from headphones jack works correctly. Based on a forum post I found regarding the same issue in Win7, I tried suspending to ram and resuming, and sound works afterwards, until the next reboot. debianuser (very very helpful!) on irc said I should post this here, as different settings after resume shouldn't be, suggesting a bug. Plus, sound not working for a pretty large laptop brand suggests a fix/quirk of some kind is needed, even if the real bug is in the laptop.
Some notes / things tried: Headphones output seems to work correctly on boot.
No alsamixer sliders/muting/switches result in sound from speakers.
Googling shows this affects a pretty wide variety of panasonic laptops, not just mine or my model.
Googling shows this happens in win7 (but not earlier windows versions) unless a "Hotkey Appendix Driver" from panasonic is some random combination (depending on post) of installed, uninstalled and reinstalled. The keyboard does have a few audio hotkeys, but they seem to be software only, and are simply grabbed by xfce's volumed, where they seem to do exactly what they should. But apparently the panasonic windows one does something else with audio from within the hotkey driver? Perhaps it mutes it by toggling some non-obvious bit? Or despite being named "hotkey", it also handles the headphones jack automute?
Googling found some reports saying that booting into windows (with the proper extra driver installed) then rebooting into linux will make sound work "for a while", even over reboots. I do not have windows to test these posts. This suggests it's something being saved somewhere that survives poweroff.
Googling didn't find anyone with this problem who managed to make sound work correctly without windows. (not good!)
It always works (internal speakers come on) after a suspend-to-ram and resume.
It always stops working after a restart, suspend-to-disk or any other kind of reboot.
Reloading all snd* modules makes no change. If it's not working, it stays not working, if it's working, it stays working.
Suspending and resuming fixes it even if all the snd* modules are unloaded before suspending and loaded after resuming.
When working (after suspend and resume), the labels shown in alsamixer are wrong - for example, Headphones now controls the internal speakers, while the Speakers slider does exactly nothing.
Loading the module with generic, nofixup, ref models did nothing.
I installed hda-jack-retask to see if I could make it work that way, but I was unable to make hda-jack-retask do anything at all - even setting every pin to not connected results in absolutely no change in operation.
One forum thread on this problem, with some hdajackretask screenshots, is: http://www.toughbooktalk.com/viewtopic.php?f=39&t=1909
I've attached three alsa-info.sh files. The "broken" one is with sound not working. I then suspended and resumed, then generated the "working" one. The third is a diff between them, to save people time trying to spot changes.
Thanks, --Randy
participants (1)
-
Wolfy