我的新 Ubuntu 笔记本电脑(Dell XPS 13)上的声音不再起作用。我在这台机器上双启动 Windows 和 Linux,在这两种操作系统下我都遇到了完全没有声音的问题。Windows 的解决方案是 BIOS 设置(将“Fastboot”设置为“Thorough”);虽然我知道这与音频无关,但这是一个已知问题。
在 Ubuntu 上,没有声音的情况有点随机。起初,在 BIOS 设置中将“Fastboot”更改为“Auto”似乎有效,但从睡眠状态恢复后,声音又消失了。此外,恢复后会立即弹出一个对话框,询问我刚刚插入了什么设备(耳机等),而我实际上并没有插入任何东西。这个帖子描述了类似的问题,并建议重新启动是解决问题的唯一方法。将声源改回扬声器并增加音量alsamixer
没有效果。
此外,昨天声音正常工作时,系统音量控制对音量没有影响。
我在 Ubuntu 下找不到有关此声卡(Realtek ALC3246)的任何具体信息。
我的系统配置(使用 ALSA 信息脚本)在这里:
http://www.alsa-project.org/db/?f=a480ccb1bd0b063871459b408e18be241cabfd9f
更新:
我尝试按照说明强制使用 I2S 声音这里。没有变化,但是我目前仍在运行修改后的内核。
然后,我发现了以下内容致命错误在dmesg
:
[ 10.980953] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x208f8100
根据链接,错误与编解码器探测有关,可能的解决方案是强制探测特定编解码器。以下组合强制探测编解码器插槽 0:
options snd-hda-intel probe_mask=0x101
这似乎已经解决了扬声器发出的声音问题,至少目前如此,而且在睡眠周期后修复仍然有效。此外,音量控制又可以正常工作了,这是我没有立即注意到的另一个症状(因为声音最多是断断续续的),但肯定是一个问题。
答案1
错误消息
[ 10.980953] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x208f8100
被描述这里与编解码器探测问题有关。添加以下行
options snd-hda-intel probe_mask=0x101
至/etc/modprobe.d/alsa-base.conf
,强制探测编解码器插槽 0,而不管硬件报告的内容,似乎已经解决了扬声器和耳机的所有问题,并且它可以在睡眠周期中存活下来。