snd_hda_intel 0000:00:1f.3:无法添加i915组件主服务器(-19)


10

问题:

  1. 什么是i915主组件?
  2. 无法添加i915组件母版会导致什么结果?
  3. 如何解决/删除此故障通知?

背景信息:

在Ubuntu 10.5的启动和关闭时出现此故障通知。
我构建的系统包括华硕Z170M-Plus主板,使用Linux内核4.2.0-16-generic和Nvidia二进制驱动程序352.55的NVidea图形卡Ubuntu 10.5 OS。

由于Ubuntu可以运行并且我可以观看和收听视频和音乐,因此出现此故障通知令我感到惊讶。

snd_hda_intel似乎是Linux内核中的Intel音频驱动程序,可与ALSA内核内核和z170M-Plus音频硬件控制器进行通信。如果我错了,请纠正我。

0000:00:1f.3 是ASUS主板内置音频设备的PCIe插槽。

0000:00:1f.3华硕音频设备:英特尔公司Sunrise Point-H高清音频(rev 31)位于。它使用正在使用的

Subsystem: ASUSTeK Computer Inc. Device 86c7
Flags: bus master, fast devsel, latency 32, IRQ 125
Memory at f7140000 (64-bit, non-prefetchable) [size=16K]
Memory at f7120000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 3
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: snd_hda_intel

在我添加nomodeset了grub条目并修复了fstab中的错误/未使用条目之后,该错误似乎对我而言消失了,但是我仍然不知道该错误意味着什么
Wolf

Answers:



1

在我的BIOS设置的“图形”部分中将IGPU Multi-Monitor设置为Enabled可以为我修复此问题。

原因是NVidia自定义驱动程序。它与主板上集成的视频卡有某种冲突。


1

HDMI和DisplayPort显示连接器可以传输音频和视频。当您使用NVidia GPU时,CPU的内置Intel iGPU可能已禁用,或者至少没有显示器与其连接。

英特尔芯片组在音频芯片和iGPU之间建立了链接,以允许iGPU的HDMI / DisplayPort显示连接器输出音频芯片产生的音频。系统固件元数据告诉HD Audio驱动程序使用此链接。但是由于未使用iGPU,驱动程序激活此链接的尝试将失败,并会出现错误消息failed to add i915 component master

音频芯片的其余部分将正常工作,您将不会通过连接到iGPU的HDMI / DisplayPort连接器获得音频(无论如何您都不会使用)。仅当您尝试在多显示器设置中使用除NVidia GPU之外的iVi GPU 要通过HDMI或DisplayPort向连接的显示器的扬声器输出音频时,此消息才有意义到iGPU。

您的NVidia GPU可能集成了第二个 HD-Audio声音芯片,它将在连接到NVidia GPU的HDMI / DisplayPort连接器上输出音频。如果您在常规的ALSA音频驱动程序上使用Pulseaudio,它可以非常透明地处理此问题,因此您可以根据需要混合和匹配音频输出。如果您使用的是普通的ALSA音频驱动程序,并且想通过HDMI或DisplayPort输出音频,则需要告知音频产生软件使用第二个HD-Audio芯片,而不是默认的芯片。

如果您有兴趣,输出此消息的函数snd_hdac_i915_init() in file .../sound/hda/hdac_i9i5.c在Linux内核源代码包中。


1

尽管这是一个老问题,但我最近在尝试使HDMI音频与基于Intel Z370的系统(带i3-8100的AsRock Z3​​70M-ITX / ac主板)上的内置视频端口配合使用时遇到并解决了类似的问题。该系统仅具有内置视频,没有GPU卡。

我在启动时看到的错误是:

snd_hda_intel 0000:00:1f.3: failed to add i915 component master (-19)

再往下看,我两次看到以下错误:

snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec

嵌入式i915视频看起来可以正常工作,但是无论我使用哪种ALSA或PulseAudio设置,都没有声音被路由到HDMI端口。

-19是内核错误代码ENODEV(“ no such device”),它在snd_hda_intel驱动程序代码中多次出现。

为了支持通过HDMI的声音输出,Linux的视频驱动程序为要连接的声卡驱动程序(在我的情况下为Intel HD Audio aka snd_hda_intel)注册了一个“音频组件” 。建立此连接后,声音硬件可以为GPU生成音频流,以将其复用到HDMI电缆上。

就我而言,i915图形驱动程序未在内核中注册此音频组件。在加载和初始化i915图形驱动程序的各个阶段都可能发生此故障。对我来说,这是由于缺乏内核模式设置(KMS)的缘故。i915驱动程序要求KMS正常运行,并且如果未启用,则不会初始化和注册所需的音频组件。

我通过将以下行添加到来解决此问题/etc/modprobe.d/modesetting.conf

options i915 modeset=1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.