Ubuntu 19.10 音频驱动程序问题

Ubuntu 19.10 音频驱动程序问题

我在 Dell Inpsiron 7590 上全新安装 ubuntu 19.10 时遇到了一些声音问题。它有一个 ALC3254 声音芯片。

奇怪的是,当从安装 USB 运行 ubuntu 时,音频工作正常。安装后,系统仅显示音频的“虚拟输出”。

使用 '英希-Fxz' 对于已安装的版本,向我展示了:

Audio:
    Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_soc_skl 
    v: kernel bus ID: 00:1f.3 
    Sound Server: ALSA v: k5.3.0-42-generic

USB 上的现场版本显示:

Audio:
    Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel 
    v: kernel bus ID: 00:1f.3 
    Sound Server: ALSA v: k5.3.0-18-generic

这表明加载的驱动程序不同,并且声音服务器版本略有不同。我检查了两者的 alsa-base.conf,它们没有显示任何差异。

在已安装的版本中,我尝试的所有显示声卡的命令均未显示声卡。('aplay -l'、'cat /proc/asound/cards'、'alsamixer' 等)

我怀疑可能是由于较新的 Sound Server 版本导致设备加载了错误的驱动程序?关于如何进一步调查此问题,您有什么想法吗?

我也已经尝试了网上的一些建议:

可能与我相关的内容:alsa-info.sh 在其输出末尾显示以下错误:

[    9.780003] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[    9.834137] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    9.837860] snd_soc_skl 0000:00:1f.3: Direct firmware load for a348-INTEL-EDK2-2-tplg.bin failed with error -2
[    9.837866] snd_soc_skl 0000:00:1f.3: tplg fw a348-INTEL-EDK2-2-tplg.bin load failed with -2, falling back to dfw_sst.bin
[    9.838035] snd_soc_skl 0000:00:1f.3: Direct firmware load for dfw_sst.bin failed with error -2
[    9.838039] snd_soc_skl 0000:00:1f.3: Fallback tplg fw dfw_sst.bin load failed with -2
[    9.838045] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    9.838049] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -2
[    9.838075] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to instantiate card -2

如果需要任何其他信息,请告诉我!

(编辑) 我目前安装了 Ubuntu 19.04,运行良好。

答案1

将 Ubuntu 18.04 从内核版本 5.3.0-40 升级到 5.3.0-42 后,我遇到了非常类似的问题。inxi 显示相同的声音服务器版本。

我也只有虚拟音频设备可用,并且cat /proc/asound/cards

 --- no soundcards ---

不过,不确定内核更新是否是原因。由于 Corona 故障,尝试了很多多媒体内容。这也可能会影响音频。

更新:这似乎源于内核更新。我启动了旧内核,声音正常!

这里描述了一种设置启动参数的可能解决方案(不确定是否会遵循该路线):Ubuntu 18.04 更新后音频消失

更新 2:即使内核 5.3.0-45 似乎也无法解决这个问题(至少对我来说不是)。因此,我根据/etc/modprobe.d/alsa-base.conf多个来源的建议添加了以下行(例如https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1868782):

 options snd-hda-intel dmic_detect=0

这样,扬声器/耳机就可以工作了。内置麦克风不会被检测到(但之前也没有)。

目前,我使用外部 USB 麦克风作为解决方法。但是,这个麦克风会打乱声卡的顺序:插入麦克风 -> 扬声器/耳机无声音,拔下麦克风 -> 扬声器/耳机正常。因此,我另外添加了以下几行

 options snd-usb-audio index=-1
 options snd-hda-intel index=-2

/etc/modprobe.d/alsa-base.conf。现在,我有可用的声音输入/输出。

答案2

我有一台装有 ubuntu 19.10 的 Dell 7391,这对我来说很有用:

  1. 编辑 /etc/default/grub

    sudo vi /etc/default/grub
    
  2. 找到以 GRUB_CMDLINE_LINUX_DEFAULT 开头的行并附加snd_hda_intel.dmic_detect=0直到结束。例如:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"
    
  3. 更新 grub 配置

    sudo update-grub
    
  4. 重启

谢谢格留https://askubuntu.com/a/1218119/687058),托马斯https://askubuntu.com/a/1218063/687058) 和扎娜https://askubuntu.com/a/19487

答案3

我在跑步Ubuntu 20.04, 在戴尔 Vostro 7590与内核版本5.6.0-1020-oem

这就是解决我的问题的方法。

  1. 安装 SOF 固件和拓扑二进制文件:
git clone -b stable-v1.5.1 https://github.com/thesofproject/sof-bin.git
cd sof-bin
sudo ./go.sh
  1. 通过添加以下行将 snd-hda-interl 和 snd-soc-skl 列入黑名单/etc/modprobe.d/alsa-base.conf
blacklist snd-hda-intel
blacklist snd-soc-skl

请注意,如果您对该文件有其他更改,最好将其还原(例如,删除options snd_hda_intel dmic_detect=0)。

  1. 重启

答案4

在我的 Dell Precision 7540 上安装了 Ubuntu 21.04 版和内核 5.11 版后,这个功能就起作用了:我按照这个指南操作https://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/

为我完成此操作的命令是: sudo alsa force-reload

我不知道为什么这个命令在重新启动没有效果的情况下执行了该操作。

相关内容