Ubuntu 19.10 音频驱动程序问题

Mar*_*sen 6 sound alsa soundcard 19.10

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

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

对安装版本使用“ inxi -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
Run Code Online (Sandbox Code Playgroud)

虽然 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
Run Code Online (Sandbox Code Playgroud)

这表明加载的驱动程序不同,并且 Sound Server 版本略有不同。我检查了两者之间的 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
Run Code Online (Sandbox Code Playgroud)

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

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

小智 1

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

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

 --- no soundcards ---
Run Code Online (Sandbox Code Playgroud)

但不确定内核更新是否是原因。由于电晕故障,尝试了很多多媒体内容。这也可能会妨碍音频。

更新:它似乎源于内核更新。我在旧内核中启动并且声音正常!

这里描述了设置启动参数的可能解决方案(不确定我是否会遵循该路线):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
Run Code Online (Sandbox Code Playgroud)

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

目前,我使用外部 USB 麦克风作为解决方法。然而,这扰乱了声卡的顺序:插入麦克风 -> 扬声器/耳机没有声音,拔掉插头 -> 扬声器/耳机工作。所以,我另外添加了几行

 options snd-usb-audio index=-1
 options snd-hda-intel index=-2
Run Code Online (Sandbox Code Playgroud)

/etc/modprobe.d/alsa-base.conf。现在,我已经可以工作声音输入/输出了。


小智 0

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

  1. 编辑/etc/default/grub

    sudo vi /etc/default/grub
    
    Run Code Online (Sandbox Code Playgroud)
  2. 找到以 GRUB_CMDLINE_LINUX_DEFAULT 开头的行并将snd_hda_intel.dmic_detect=0附加到其末尾。例如:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更新 grub 配置

    sudo update-grub
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启

感谢Gryu ( https://askubuntu.com/a/1218119/687058 )、tomas ( https://askubuntu.com/a/1218063/687058 ) 和Zanna ( https://askubuntu.com/a/19487 )