到目前为止,挂起到内存并从内存中唤醒都正常。我的笔记本电脑的外接显示器(通过 HDMI 连接)也能正常工作。
但是,声音不起作用,当然,在挂起之前声音是正常的。我使用外接显示器的扬声器,并在 Ubuntu 的声音菜单中进行了相应的设置(在“硬件”选项卡中切换到“数字立体声 (HDMI) 输出 + 模拟立体声输入”)。
我该如何修复它?
编辑:当我运行 ubuntu-bug 时,它测试了使用和不使用脉冲的声音输出。不使用脉冲时,它可以工作,但是我仍然听到噪音。使用脉冲时,它只是噪音。
编辑:现在 natty 和 oneiric 运行良好。更新到最新的 Ubuntu 解决了这个问题。
答案1
对我来说,挂起后硬件出现故障听起来像是驱动程序错误。ubuntu-bug -s audio
同时,作为一种解决方法,您可以尝试sudo alsa force-reload
强制卸载并重新加载驱动程序(但在此过程中将终止所有正在运行的声音应用程序)。
答案2
确定哪个内核模块正在处理 HDMI 音频。在我的 XBMC 盒子上,它是“snd_hda_codec_nvhdmi”,然后在笔记本电脑进入睡眠状态之前通过 /etc/pm/sleep.d 中的脚本卸载该模块。命令“lsmod | grep hdmi”可能会给你一些线索。你可能必须卸载多个模块才能正常工作(如“snd”),但如果你能找到正确的组合,它就像你每次让笔记本电脑进入睡眠状态时关机并重新启动一样。
您的脚本应如下所示:
#!/bin/sh
# Script to disable hdmi audio before suspend and restart after wake.
case "${1}" in
suspend|hibernate)
rmmod snd_hda_codec_nvhdmi
rmmod snd
;;
resume|thaw)
modprobe snd
modprobe snd_hda_codec_nvhdmi
;;
esac
答案3
当 HDMI 声音在唤醒后“不可用/未插电”时,以下方法对我有用
xrandr --output HDMI-1 --auto --set "audio" on
YMMV,适应您的 HDMI 输出名称。