我的笔记本电脑 HP EliteBook 755 G2 上安装了 Ubuntu 15.10,它有 2 个声卡:
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 01)
内置扬声器工作正常,但耳机不行。通过谷歌搜索,我发现了 alsa 的以下配置:
$ cat /etc/modprobe.d/snd-hda-intel.conf
alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel
options snd-hda-intel id=Generic_1 index=0
options snd-hda-intel id=Generic index=1
options snd-hda-intel model=hp,headset-mic
但这并不能解决我的问题。我已将 bios 升级到最新版本,但这并不能解决我的问题。
我认为 ALC3228 与耳机有关,但我不确定。
答案1
我有同样的笔记本,也遇到了同样的问题。我在 Ubuntu 15.04 和 16.04-alpha 中修复了这个问题(我使用两者的 MATE 版本),方法是在 /etc/modprobe.d/snd-hda-intel.conf 中只包含一行model=,headset-mic
。例如:
$ cat /etc/modprobe.d/snd-hda-intel.conf
options snd-hda-intel model=,headset-mic
逗号字符使其适用于第二个音频设备,即控制内置耳机的 Azalia 设备。第一个音频设备(HDMI/DP 设备)将采用默认设置,似乎不需要您找到的 ALSA 配置中的“hp”,但我还没有尝试过我的 HDMI/DP。
内核中最近已修复此问题。该问题已报告给 ALSA 开发人员,官方 4.5 内核现已修复:https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=f883982dc1b117f04579f0896821cd9f2e397f94
该修复程序还被要求包含在 Ubuntu 16.04 中:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1550765
我认为这个修复也被移植到了几个维护的旧内核版本中。
使用修复后的内核,您不需要 snd-hda-intel.conf 文件。
如果没有修复内核,我的耳机里还会有非常烦人的怪异吱吱背景噪音。这个问题也已在同一个提交中在内核中修复,但对于没有这个问题的旧内核,你可以根据内核版本通过几种方式手动修复它。我不知道哪个版本是边界。
使用 Ubuntu 16.04-alpha 的 4.4.0 内核,我通过禁用 Loopback Mixing(如通过 alsamixer)来修复此问题,这是 ALSA 开发人员推荐的。(但如果内核修复进入 Ubuntu 16.04 版本,则无需这样做。)
对于 Ubuntu 15.04(也可能是其他版本)的旧内核,没有为我们的设备提供环回混音功能,您可以使用 white_noise_fix.py 脚本http://xps13-9333.appspot.com/root/usr/local/bin/white_noise_fix.py,具体描述如下http://xps13-9333.appspot.com/#background_noise和耳机噪音。您可能希望在启动时运行它,我通过从 /etc/rc.local 调用它来实现,即将此行添加到 /etc/rc.local:/usr/local/bin/white_noise_fix.py
使用 white_noise_fix.py,当我的笔记本从睡眠状态恢复时,背景噪音又回来了,所以我手动运行sudo /usr/local/bin/white_noise_fix.py
。我认为您可以使用 /etc/pm/sleep.d 中的 pm-utils 脚本自动执行此操作,但我还没有尝试过。
您可能还想按照我链接的文章中所说的操作来禁用声卡的省电模式以防止出现爆音。我在 Ubuntu 15.04 中这样做了,但我真的不知道是否有必要。
(我也找到了您展示的配置,但它对我来说也不起作用。它来自 Arch Linux 用户,我认为除了模型选项一之外的其他行会干扰 Ubuntu 已经为音频设备所做的事情。)