由于错误,intel/sof-tplg/sof-byt-max98090.tplg 直接固件加载失败,无声音

由于错误,intel/sof-tplg/sof-byt-max98090.tplg 直接固件加载失败,无声音

在全新安装的 Xubuntu 21.10 中,我的笔记本电脑的内置扬声器无法工作(无法选择它作为声音输出设备)。

  • pavucontrol(pulseaudio 音量控制)输出设备中,仅显示“虚拟输出”。

  • pacmd list-sinks仅列出可用的“虚拟输出”接收器:

    properties:
        device.description = "Dummy Output"
        device.class = "abstract"
        device.icon_name = "audio-card"
    
  • dmesg | grep audio返回Direct firmware load for intel/sof-tplg/sof-byt-max98090.tplg failed错误。错误消息涉及从以下位置下载固件:https://github.com/thesofproject/sof-bin/

    [    4.785674] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [    5.105065] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [    5.109471] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [    5.167660] sof-audio-acpi-intel-byt 80860F28:00: Firmware info: version 1:6:0-e9637
    [    5.167669] sof-audio-acpi-intel-byt 80860F28:00: Firmware: ABI 3:17:0 Kernel ABI 3:18:0
    [    7.159766] sof-audio-acpi-intel-byt 80860F28:00: Direct firmware load for intel/sof-tplg/sof-byt-max98090.tplg failed with error -2
    [    7.159781] sof-audio-acpi-intel-byt 80860F28:00: error: tplg request firmware intel/sof-tplg/sof-byt-max98090.tplg failed err: -2
    [    7.159789] sof-audio-acpi-intel-byt 80860F28:00: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
    [    7.159793] sof-audio-acpi-intel-byt 80860F28:00: error: failed to load DSP topology -2
    [    7.159797] sof-audio-acpi-intel-byt 80860F28:00: ASoC: error at snd_soc_component_probe on 80860F28:00: -2
    [  379.040737] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  379.048501] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  379.079313] sof-audio-acpi-intel-byt 80860F28:00: Firmware info: version 1:6:0-e9637
    [  379.079324] sof-audio-acpi-intel-byt 80860F28:00: Firmware: ABI 3:17:0 Kernel ABI 3:18:0
    [  379.124318] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [  379.287289] sof-audio-acpi-intel-byt 80860F28:00: Direct firmware load for intel/sof-tplg/sof-byt-max98090.tplg failed with error -2
    [  379.287301] sof-audio-acpi-intel-byt 80860F28:00: error: tplg request firmware intel/sof-tplg/sof-byt-max98090.tplg failed err: -2
    [  379.287308] sof-audio-acpi-intel-byt 80860F28:00: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
    [  379.287312] sof-audio-acpi-intel-byt 80860F28:00: error: failed to load DSP topology -2
    [  379.287316] sof-audio-acpi-intel-byt 80860F28:00: ASoC: error at snd_soc_component_probe on 80860F28:00: -2
    [  463.085767] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [  463.211519] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  463.218495] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  463.286669] sof-audio-acpi-intel-byt 80860F28:00: Firmware info: version 1:6:0-e9637
    [  463.286678] sof-audio-acpi-intel-byt 80860F28:00: Firmware: ABI 3:17:0 Kernel ABI 3:18:0
    [  463.309603] sof-audio-acpi-intel-byt 80860F28:00: Direct firmware load for intel/sof-tplg/sof-byt-max98090.tplg failed with error -2
    [  463.309615] sof-audio-acpi-intel-byt 80860F28:00: error: tplg request firmware intel/sof-tplg/sof-byt-max98090.tplg failed err: -2
    [  463.309622] sof-audio-acpi-intel-byt 80860F28:00: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
    [  463.309626] sof-audio-acpi-intel-byt 80860F28:00: error: failed to load DSP topology -2
    [  463.309629] sof-audio-acpi-intel-byt 80860F28:00: ASoC: error at snd_soc_component_probe on 80860F28:00: -2
    [  733.096831] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  733.104806] sof-audio-acpi-intel-byt 80860F28:00: BYT-CR not detected
    [  733.137105] sof-audio-acpi-intel-byt 80860F28:00: Firmware info: version 1:6:0-e9637
    [  733.137115] sof-audio-acpi-intel-byt 80860F28:00: Firmware: ABI 3:17:0 Kernel ABI 3:18:0
    [  733.209951] sof-audio-acpi-intel-byt 80860F28:00: Direct firmware load for intel/sof-tplg/sof-byt-max98090.tplg failed with error -2
    [  733.209964] sof-audio-acpi-intel-byt 80860F28:00: error: tplg request firmware intel/sof-tplg/sof-byt-max98090.tplg failed err: -2
    [  733.209971] sof-audio-acpi-intel-byt 80860F28:00: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
    [  733.209975] sof-audio-acpi-intel-byt 80860F28:00: error: failed to load DSP topology -2
    [  733.209979] sof-audio-acpi-intel-byt 80860F28:00: ASoC: error at snd_soc_component_probe on 80860F28:00: -2
    

我在东芝 Chromebook 2 CB35-B3340(英特尔 Bay Trail,代号 SWANKY)上运行 Xubuntu 21.10。我在 Chromebook 的 SSD 上安装了 Xubuntu(包括更新到 MrChromebox 自定义 UEFI(全 ROM)固件)。

我尝试了以下修复方法,但均不起作用。

  1. 尝试运行:

    sudo apt install firmware-sof-signed
    

    但出现此错误:

    dpkg: error processing archive /var/cache/apt/archives/firmware-sof-signed_1.7-1_all.deb (--unpack):
     trying to overwrite '/lib/firmware/intel/sof/sof-bdw.ri', which is also in package linux-firmware 1.201
    dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
    Errors were encountered while processing:
     /var/cache/apt/archives/firmware-sof-signed_1.7-1_all.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    
  2. 我尝试alsa-base.conf使用sudo nano /etc/modprobe.d/alsa-base.conf、添加options snd-hda-intel model=auto、然后运行进行编辑pulseaudio -k && sudo alsa force-reload

  3. 我尝试alsa-base.conf使用sudo nano /etc/modprobe.d/alsa-base.conf、添加options snd-hda-intel dmic-detect=0、然后运行进行编辑pulseaudio -k && sudo alsa force-reload

  4. 我下载chtmax98090.confHiFi.conf配置了文件,将它们复制到 /usr/share/alsa/ucm/chtmax98090/...,然后重新启动。

  5. 通过运行删除timiditysudo apt remove timidity(未安装 timidity)。

如果使用蓝牙耳机,我可以听到声音,但内置扬声器没有声音。

阿尔萨信息公司日志:http://alsa-project.org/db/?f=123ea8006b8acd0de246f7e3f19d206fd20cb790

答案1

找到了一个临时解决方法,即手动将sof-bin固件复制到/lib/firmware/intel/sof-tplg/文件夹。请参阅以下步骤

cd ~/Downloads
wget https://github.com/thesofproject/sof-bin/releases/download/v1.9.3/sof-bin-v1.9.3.tar.gz
tar xvzf sof-bin-v1.9.3.tar.gz
sudo mv /lib/firmware/intel/sof* ~/backup/ # save a backup in your home folder
sudo rsync -a sof-v1.9.3/       /lib/firmware/intel/sof/
sudo rsync -a sof-tplg-v1.9.3/  /lib/firmware/intel/sof-tplg/
reboot

不确定为什么还linux-firmware没有包括sof-byt-max98090.tplg,但我认为这是因为旧版本有一个漏洞并将在发行版推出新版本时修复。

相关内容