我以某种方式弄乱了我的内核(可能是在尝试使用 igpu 通过时,但这只是猜测),现在它无法识别最新内核(6.8.0-31)上的“AMD 系列 17h/19h HD 音频控制器” -通用的)。使用相同的 /etc/modprobe.d/ 配置,旧版 6.8.0-28 内核可以正确加载音频控制器。
这是两个内核上的 snd_hda_intel 相关模块列表:
6.8.0-28-通用模块:
snd_intel_dspcfg 36864 1 snd_hda_intel
snd_hda_codec 217088 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core 151552 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_pcm 200704 5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
snd 147456 26 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_ump,snd_pcm,snd_rawmidi
6.8.0-31-通用模块:
snd_hda_intel 61440 1
snd_intel_dspcfg 36864 1 snd_hda_intel
snd_hda_codec 217088 2 snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core 151552 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_pcm 200704 5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
snd 147456 20 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_ump,snd_pcm,snd_rawmidi
正如您所看到的,6.8.31 上缺少一些模块,但即使我手动加载它们,即使在 pipeline 重新启动后,设备也不会显示。我检查了6.8.31附带的live USB,并且该设备在那里被识别。我搜索了 dmesg,但找不到任何相关内容。我还能做什么才能使用最新的 6.8.31 内核恢复声音?
下面是有问题的设备的 lspci 输出:
lspci -nnkvs 19:00.6
19:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
Subsystem: ASRock Incorporation Family 17h/19h HD Audio Controller [1849:6899]
Flags: fast devsel, IRQ 255
Memory at fca80000 (32-bit, non-prefetchable) [disabled] [size=32K]
Capabilities: <access denied>
Kernel modules: snd_hda_intel