Debian 11 上没有声音(虚拟输出或损坏的软硬件驱动程序)

Debian 11 上没有声音(虚拟输出或损坏的软硬件驱动程序)

我尝试配置新的 Debian 11,但在最后 8 小时卡在声音驱动程序上。我的设备 (CHUWI Herobook Air) 来自制造商,安装了 Windows 10,并且在安装此 Realtek/Intel SST 音频驱动程序之前,声音无法正常工作这个官方制造商论坛链接

我最近安装了一些软件包(nonfree、realtek、intel-microcode),重新安装了pulseaudio,但没有任何变化。

我的设备数据:

内核版本

uname -r 
5.10.0-14-amd64

恢复lspci

lspci -v
00:00.0 Host bridge: Intel Corporation Gemini Lake Host Bridge (rev 06)
    DeviceName: Onboard - Other
    Flags: bus master, fast devsel, latency 0, IOMMU group 0

00:00.1 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant (rev 06)
    DeviceName: Onboard - Other
    Subsystem: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
    Flags: bus master, fast devsel, latency 0, IRQ 24, IOMMU group 0
    Memory at 80000000 (64-bit, non-prefetchable) [size=32K]
    Capabilities: <access denied>
    Kernel driver in use: proc_thermal
    Kernel modules: processor_thermal_device

00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)
    DeviceName: Onboard - Sound
    Subsystem: Device 2782:0303
    Flags: bus master, fast devsel, latency 0, IRQ 129, IOMMU group 2
    Memory at a1110000 (64-bit, non-prefetchable) [size=16K]
    Memory at a1000000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: sof-audio-pci
    Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci

过滤后的消息

dmesg | grep audio
[    9.319732] sof-audio-pci 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[    9.319987] sof-audio-pci 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if 0x040100
[    9.320212] sof-audio-pci 0000:00:0e.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.358982] sof-audio-pci 0000:00:0e.0: use msi interrupt mode
[    9.382512] sof-audio-pci 0000:00:0e.0: hda codecs found, mask 4
[    9.382517] sof-audio-pci 0000:00:0e.0: using HDA machine driver skl_hda_dsp_generic now
[    9.382524] sof-audio-pci 0000:00:0e.0: DMICs detected in NHLT tables: 0
[    9.386190] sof-audio-pci 0000:00:0e.0: firmware: direct-loading firmware intel/sof/sof-glk.ri
[    9.386231] sof-audio-pci 0000:00:0e.0: warning: unknown sof_ext_man header type 6 size 0x20
[    9.386233] sof-audio-pci 0000:00:0e.0: Firmware info: version 1:7:0-47d07
[    9.386235] sof-audio-pci 0000:00:0e.0: Firmware: ABI 3:18:1 Kernel ABI 3:17:0
[    9.386236] sof-audio-pci 0000:00:0e.0: warn: FW ABI is more recent than kernel
[    9.386243] sof-audio-pci 0000:00:0e.0: warning: unknown sof_ext_man header type 3 size 0x30
[    9.386245] sof-audio-pci 0000:00:0e.0: warning: unknown sof_ext_man header type 5 size 0x20
[    9.503708] sof-audio-pci 0000:00:0e.0: Firmware info: version 1:7:0-47d07
[    9.503711] sof-audio-pci 0000:00:0e.0: Firmware: ABI 3:18:1 Kernel ABI 3:17:0
[    9.503713] sof-audio-pci 0000:00:0e.0: warn: FW ABI is more recent than kernel
[    9.514738] sof-audio-pci 0000:00:0e.0: firmware: direct-loading firmware intel/sof-tplg/sof-hda-generic-idisp.tplg
[    9.514759] sof-audio-pci 0000:00:0e.0: Topology: ABI 3:18:1 Kernel ABI 3:17:0
[    9.514761] sof-audio-pci 0000:00:0e.0: warn: topology ABI is more recent than kernel
[    9.518468] sof-audio-pci 0000:00:0e.0: ASoC: Parent card not yet available, widget card binding deferred

在 Windows 10 中,声音驱动程序信息为:

Device PCI \VEN_8086&DEV_3198&SUBSYS_03032782&REV_06

输出只是指“虚拟输出”...如果有帮助,我会很高兴。

答案1

我在运行 Debian 11.3 的 XPS 9710 笔记本电脑上遇到同样的问题。按照中的建议在 grub 中添加一些行后和相关的帖子,在我的情况下不起作用,我使用 Synaptic 包管理器将 Debian 12 -bookworm- 的固件版本(firmware-sof-signed 1.7-1)更新到版本 2.0-1,因为我在其他地方读到过,我可能会遇到可能导致操作系统崩溃的不兼容问题。

最终,使用新的固件版本(我首先将 bookworm 频道添加到 /etc/apt/sources.list 中),Synaptic 安装了一堆其他软件包,最终我得到了 Debian 12 作为操作系统,它实际上识别了音频!
然而,我不得不回滚到 Debian 11(是的,Debian 11 的全新安装),因为我的屏幕(意外变暗)和其他软件(例如 Debian bookworm 中的 Docker)出现了其他硬件问题。

所以结论是:

  • 如果您只想让声音正常工作,您可以升级到 Debian 12(也许有陷阱)
  • 另一个选择应该是将固件签名升级到更高版本,例如 2.0-1。我是 Linux 新手,所以我仍然不知道该怎么做。当然,任何帮助将不胜感激。

答案2

如果您不需要 DSP 功能,并且 Debian 11 内核/固件在使用 DSP 时遇到问题声音开放固件如果需要驱动 DSP,您还可以尝试禁用 SOF 部分并仅使用“旧版”snd_hda_intel 驱动程序。 (阅读将内核模块列入黑名单以了解如何做到这一点)。

正如您提到的,您必须安装一些 Realtek 驱动程序,您仍然可能会或可能不会遇到编解码器本身的问题(如果它是 Realtek 的),但问题没有包含足够的信息。

查看/proc/asound/card*/codec\#*dmesg查看已识别出哪些编解码器(如果有)。

(简要背景:英特尔 HDA 架构连接到主系统,然后通过声音控制器的总线驱动和附加芯片(也称为编解码器)。编解码器可能遵循标准,或需要额外的驱动程序怪癖等)。

测试时,请确保将 Pulseaudio 排除在外,以消除额外的复杂性。因此,请卸载 Pulseaudio 或停止/暂停它。使用aplayalsamuxer直接访问 ALSA 层,该层连接到内核模块。

相关内容