从 20.04 升级后,声卡不再被识别

从 20.04 升级后,声卡不再被识别

Dell Precision 5750,20.04 时声音运行正常。

但是,当我升级到 20.10 时,系统停止识别我的声卡,进一步升级到 21.04 也没有任何变化。强制重新加载/重新安装 alsa 也没有用。

声音设置将“虚拟输出”显示为输出设备。

Alsamixer 仅将 HDA Nvidia 视为 HDMI 的声卡。“aplay -l”也是如此:

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

“lspci -nnk | grep -A3 音频”:

01:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
    Subsystem: Dell TU106 High Definition Audio Controller [1028:0990]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU106 USB 3.1 Host Controller [10de:1ada] (rev a1)

“dmesg | grep -i audio”:

    [    0.171470] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
    [    4.994502] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
    [    5.018582] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
    [    5.018614] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
    [    5.018803] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
    [    5.018860] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [    5.023774] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    [    5.038285] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 4
    [    5.157409] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:5:1-88707
    [    5.157413] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:16:0 Kernel ABI 3:18:0
    [   64.498859] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
    [   64.499051] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
    [   64.499130] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [   64.505167] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    [   64.516834] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 4
    [   64.660436] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:5:1-88707
    [   64.660440] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:16:0 Kernel ABI 3:18:0

“lsmod | grep snd_hda_intel”:

snd_hda_intel          53248  1
snd_intel_dspcfg       28672  3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
snd_hda_codec         147456  3 snd_hda_codec_hdmi,snd_hda_intel,snd_soc_hdac_hda
snd_hda_core           94208  7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_pcm               118784  14 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_ipc,snd_soc_rt715,snd_compress,snd_soc_core,snd_soc_rt711,snd_soc_rt1308_sdw,snd_hda_core,snd_pcm_dmaengine
snd                    94208  13 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi

所以我推测我的卡是板载 Intel Realtek 的,它应该使用 snd_hda_intel 驱动程序。我还仔细检查了它是否在 BIOS 中打开。

有什么想法下一步该看哪里吗?

答案1

尝试

$ sudo apt-get install linux-modules-extra-$(uname -r)

同时发布输出

$ modprobe --show-depends snd_hda_intel

在问题中

答案2

已经尝试安装 linux-modules-extra,说它已经是最新版本。

我也尝试查看依赖项,但是通过以下输出无法真正判断哪些已安装、哪些未安装:

insmod /lib/modules/5.11.0-17-generic/kernel/sound/soundcore.ko 
install /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; } 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/core/snd-timer.ko 
install /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; } 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/core/snd-pcm-dmaengine.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/ac97_bus.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/core/snd-compress.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/soc/snd-soc-core.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/drivers/soundwire/soundwire-bus.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/core/snd-hwdep.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/hda/snd-hda-core.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/pci/hda/snd-hda-codec.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/drivers/soundwire/soundwire-cadence.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/drivers/soundwire/soundwire-generic-allocation.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/drivers/soundwire/soundwire-intel.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/hda/snd-intel-dspcfg.ko 
insmod /lib/modules/5.11.0-17-generic/kernel/sound/pci/hda/snd-hda-intel.ko probe_mask=1 

相关内容