SDB:Intel-HDA声音问题
症状
声卡看起来已通过 YaST 正确配置,但您听不到任何声音,无法使用混音器,或者通道分配不正确。如果您的笔记本电脑在插入耳机时没有关闭扬声器,这可能也有帮助。在这种情况下,您应该能够在更改后独立控制音量(扬声器和耳机)。
如果您遇到的唯一问题是在插入耳机时没有声音,请查看下面的“耳机没有声音”部分。
原因
市面上有很多不同的 hda-intel 声卡,不幸的是,YaST 无法始终自动正确配置它们。
解决方案
重要提示
在 openSUSE 11.2 中,/etc/modprobe.d/ 中配置文件命名方案已更改。
如果您运行的是 openSUSE 11.2 之前的版本,则相应的文件将命名为 /etc/modprobe.d/sound。
如果您运行的是 openSUSE 11.2 或更高版本,则该文件将命名为 /etc/modprobe.d/50-sound.conf。
简而言之,对于 openSUSE 11.2 及更高版本,/etc/modprobe.d/ 中的所有配置文件都必须以 .conf 结尾,否则将被忽略。
打开一个像 konsole 这样的终端并以 root 用户身份登录。找出您的声卡使用的编解码器类型
head -n 1 /proc/asound/card0/codec* Note: If for some reason you don't have a /proc/asound directory, then you are either not using ALSA, or your ALSA config is corrupt. Possibly restoring /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) described below to its original condition may at least get ALSA starting again.
这是一个示例输出
==> /proc/asound/card0/codec#0 <== Codec: Realtek ALC883 ==> /proc/asound/card0/codec#1 <== Codec: Conexant ID 2c06
在此示例中,卡的编解码器是 codec#0,ALC883。
模块的选项在 kernel-source.rpm 中可用,如果您的系统上尚未安装,请安装它。
在 /usr/src/KERNEL_VERSION/Documentation/sound/alsa/ALSA-Configuration.txt 文件中搜索编解码器,在此示例中再次是 ACL883。
ALC883/888 3stack-dig 3-jack with SPDIF I/O 6stack-dig 6-jack digital with SPDIF I/O 3stack-6ch 3-jack 6-channel 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O 6stack-dig-demo 6-jack digital for Intel demo board acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) medion Medion Laptops medion-md2 Medion MD2 targa-dig Targa/MSI targa-2ch-dig Targs/MSI with 2-channel laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) lenovo-101e Lenovo 101E lenovo-nb0763 Lenovo NB0763 lenovo-ms7195-dig Lenovo MS7195 6stack-hp HP machines with 6stack (Nettle boards) 3stack-hp HP machines with 3stack (Lucknow, Samba boards) auto auto-config reading BIOS (default)
您必须将选项输入到 /etc/modprobe.d/sound (openSUSE <= 11.1) 或 /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2)。您可以通过 Yast 的声音模块使用高级配置来控制此文件中的值。以下显示直接编辑配置文件。
原始文件应如下所示
options snd-hda-intel enable=1 index=0 # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller alias snd-card-0 snd-hda-intel
更改后
options snd-hda-intel model=6stack-dig enable=1 index=0 # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller alias snd-card-0 snd-hda-intel
仅添加或更改配置的 model= 部分。现在转到下面的“重启声音服务器”部分。
警告! 不要创建 'sound' 在 /etc/modprobe.d/ 中的备份文件,因为这也会被读取!
使用 snd-hda-intel 驱动程序的 Intel Broadwell CPU 和主板芯片组的问题
问题:(使用 Opensuse Leap 42.2)背板上的音频部分在 Linux 播放音频时保持静音。您可以为该插孔在 YAST 音频配置中生成测试音。但是,无论配置的两个音频设备的顺序如何,此测试音始终出现在较低条目(第二个接口)中。这表明 YAST 生成的配置实际上并不影响接口的顺序,并且主板芯片组始终保持第二个接口,从而使 HDMI 音频成为默认输出。
还有一个
aplay -ll
显示 HDMI 配置为 card0,PCH 配置为 card1,无论在 YAST 中做什么操作。
解决方案
步骤 1) 找出您的音频控制器的确切 ID。查看方括号中的冒号后的部分
lspci -nn |grep -i audio
00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 0a)
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
步骤 2) 编辑文件 /etc/modprobe.d/sound.conf,该文件通常由 YAST 维护,将默认/第一个声音设备分配给主板芯片组,将第二个设备分配给 Broadwell 芯片组。
options snd-hda-intel index=0 model=auto vid=8086 pid=8ca0
options snd-hda-intel index=1 model=auto vid=8086 pid=160c
重启后,音频信号应在背板上的音频输出上,而不是默认设置为 HDMI 接口。此外,接口很可能在 YAST 中看起来未配置。忽略这一点,因为在 YAST 中重新配置接口会撤消您对 sound.conf 所做的更改。
耳机没有声音
如果您拥有需要 snd-hda-intel 驱动程序的 Intel 声卡,但插入耳机时没有声音,您就在正确的章节。YaST2 应该已经创建了 /etc/modprobe.d/sound (openSUSE <= 11.1) 或 /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) 文件,并且它应该包含以下内容(或非常相似的内容)
options snd slots=snd-hda-intel # u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller alias snd-card-0 snd-hda-intel
驱动程序问题发生在每个发行版中,因此这是正常的。无论如何,您将需要通过直接编辑文件或使用 Yast 的声音模块 - 高级配置来修改 options 行。新的文件应如下所示(以井号 # 开头的行是注释)
options snd-hda-intel model=z71v position_fix=1 # u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller alias snd-card-0 snd-hda-intel
这应该可以解决问题。现在转到下面的“重启声音服务器”部分。
如果重启声音后仍然没有耳机输出,请确保使用 alsamixer(在命令行中)或您最喜欢的图形混音器(例如 KMix)取消耳机静音。
注意!在 Sony Vaio FZ21M 上,您必须插入以下选项
options snd-hda-intel model=vaio enable=1 index=0 position_fix=1
在 Dell Adamo 13 上,options 行应该是
options snd-hda-intel model=dell-m6 position_fix=1
在 Dell Studio 17 上,您必须使用
options snd-pcsp index=-2 alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel options snd-hda-intel model=dell-m6-amic
重启声音服务器
在重启之前,请确保更改 ALSA 设置,使麦克风通道静音,以防止声音回路和尖叫声。不这样做可能会导致高而持续的蜂鸣声。您可以使用 alsamixer 执行此操作。
alsamixer
更改后保存文件 /etc/modprobe.d/sound (openSUSE <= 11.1) 或 /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2),并以 root 用户身份重启声音系统。
rcalsasound restart
您必须重启您使用的混音器,因此以用户身份启动 kmix 或 gmix,具体取决于您使用的窗口管理器。打开混音器并将所有通道设置为中等,然后检查是否可以听到声音。
如果这不成功,请在 /etc/modprobe.d/sound (openSUSE <= 11.1) 或 /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) 中使用另一个选项,然后重新启动该过程。
<keyword>sound,hda-intel,ICH8,ICH7,ICH6,headphone</keyword>