我尝试配置新的 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 或停止/暂停它。使用aplay
等alsamuxer
直接访问 ALSA 层,该层连接到内核模块。