Sound doesn't work on Lenovo X1 Carbon 7th with 20.04

Bug #1860697 reported by Christopher Townsend
112
This bug affects 25 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Hui Wang
linux-firmware (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I recently upgraded from 18.04+HWE kernel to 20.04 and now sound, both output and input, does not work.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-9-generic 5.4.0-9.12
ProcVersionSignature: Ubuntu 5.4.0-9.12-generic 5.4.3
Uname: Linux 5.4.0-9-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu15
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CurrentDesktop: ubuntu:GNOME
Date: Thu Jan 23 12:00:01 2020
InstallationDate: Installed on 2019-09-06 (139 days ago)
InstallationMedia: Ubuntu 18.04.3 LTS "Bionic Beaver" - Release amd64 (20190805)
MachineType: LENOVO 20QDCTO1WW
ProcEnviron:
 SHELL=/bin/bash
 LANG=en_US.UTF-8
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
 PATH=(custom, user)
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-9-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-9-generic N/A
 linux-backports-modules-5.4.0-9-generic N/A
 linux-firmware 1.184
SourcePackage: linux
UpgradeStatus: Upgraded to focal on 2020-01-22 (1 days ago)
dmi.bios.date: 12/09/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: N2HET43W (1.26 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20QDCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40709 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN2HET43W(1.26):bd12/09/2019:svnLENOVO:pn20QDCTO1WW:pvrThinkPadX1Carbon7th:rvnLENOVO:rn20QDCTO1WW:rvrSDK0J40709WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad X1 Carbon 7th
dmi.product.name: 20QDCTO1WW
dmi.product.sku: LENOVO_MT_20QD_BU_Think_FM_ThinkPad X1 Carbon 7th
dmi.product.version: ThinkPad X1 Carbon 7th
dmi.sys.vendor: LENOVO

Revision history for this message
Christopher Townsend (townsend) wrote :
tags: added: champagne
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Hui Wang (hui.wang) wrote : Re: Sound doesn't work on Lenovo X1 Carbon with 20.04

With the 5.4 kernel, the sound driver could detect audio dsp and dmic runtime, on this mahcine, the driver found them, then it abort the legacy hda driver:
[ 13.711820] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, aborting probe

Then the sound driver load the sof driver, but it finally failed to find the tplg file for this machine:
[ 14.056300] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof-tplg/sof-hda-generic-4ch.tplg failed with error -2
[ 14.056303] sof-audio-pci 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-hda-generic-4ch.tplg failed err: -2

For sof firmware and tplg, Intel has not released sof-hda-generic-4ch.tplg to us, then we didn't integrate it to ubuntu yet.

So for using the legacy hda driver forcibly, please add the module parameter dmic_detect=0 to the snd-hda-intel.

Revision history for this message
Christopher Townsend (townsend) wrote :

Hi @hui.wang,

Thank you very much for this. It now works using the module parameter you said to use.

Will there be some way that I will be notified that the sof-hda-generic-4ch.tplg firmware has been incorporated into Ubuntu so I can remove the workaround?

Thanks again!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
summary: - Sound doesn't work on Lenovo X1 Carbon with 20.04
+ Sound doesn't work on Lenovo X1 Carbon 7th with 20.04
Revision history for this message
Jonathan Kamens (jik) wrote :

I added `options snd-hda-intel dmic_detect=0` to modprobe, and now _output_, i.e., my speakers, work, but still no input device is being detected, or at least the sound control panel isn't showing any available input devices.

I see this in dmesg:

[ 11.075563] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15

I don't know what else I should be looking for in the dmesg output. Please help.

I hope you're not going to ship the next LTS release without working audio for an extremely popular Linux laptop. :-/

Revision history for this message
Hui Wang (hui.wang) wrote :

I am working on it, please wait for a while, so far I found 2 issues:

1. the firmware needed for sof driver is not merged to linux-firmware yet.
2. the linux kernel can't work stable with the firmware if I copy the firmware to the expected folder, need to backport some patches from 5.5-rc1

Changed in linux (Ubuntu):
importance: Undecided → High
assignee: nobody → Hui Wang (hui.wang)
Revision history for this message
Hui Wang (hui.wang) wrote :

Found the problem in the kernel, our focal kernel introduced a patch from stable kernel, that patch make the sof driver not work, either we revert this patch or we need to backport more patches instead of only this one:

Author: Ranjani Sridharan <email address hidden>
Date: Mon Nov 4 14:48:12 2019 -0800

    ASoC: SOF: topology: set trigger order for FE DAI link

    BugLink: https://bugs.launchpad.net/bugs/1858428

    [ Upstream commit 5eee2b3f60065a2530d13f28e771be48b989eb4c ]

    Set trigger order for FE DAI links to SND_SOC_DPCM_TRIGGER_POST
    to trigger the BE DAI's before the FE DAI's. This prevents the
    xruns seen on playback pipelines using the link DMA.

    Signed-off-by: Ranjani Sridharan <email address hidden>
    Signed-off-by: Pierre-Louis Bossart <email address hidden>
    Link: https://<email address hidden>
    Signed-off-by: Mark Brown <email address hidden>
    Signed-off-by: Sasha Levin <email address hidden>
    Signed-off-by: Seth Forshee <email address hidden>

Revision history for this message
Anthony Wong (anthonywong) wrote :

Copying Hui Wang's comment from https://<email address hidden>/:

After cherry-pick this commit (acbf27746ecfa96b290b54cc7f05273482ea128a
ASoC: pcm: update FE/BE trigger order based on the command) to 5.4
stable kernel, the sof driver works.

Changed in linux-firmware (Ubuntu):
status: New → Confirmed
Revision history for this message
Seth Forshee (sforshee) wrote :

I'm running 5.4.0-18 from focal-proposed and have installed the sof firmware from this pull request:

https://lists.ubuntu.com/archives/kernel-team/2020-March/108035.html

With this it looks like the sof driver is being used. Speaker output works, though the volume seems very low (which has always been the case under Linux on this laptop, so maybe that's normal?). The only input device listed is sof-hda-dsp, which does not appear to be picking up any sound.

Revision history for this message
Hui Wang (hui.wang) wrote :

@Seth,

Also needs to manually install alsa-ucm-conf package and upgrade the pulseaudio to the latest version.

Revision history for this message
Jonathan Kamens (jik) wrote :

Any hope of this being fixed any time soon?

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.187

---------------
linux-firmware (1.187) focal; urgency=medium

  * Sound doesn't work on Lenovo X1 Carbon 7th with 20.04 (LP: #1860697)
    - SAUCE: update sof firmwares to v1.4.2

  * Rebase against git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
    8eb0b281511d6455ca9151e52f694dc982193251 (LP: #1865130)
    - check_whence: python3/utf-8 support
    - Makefile: improve `make check` usefulness
    - mediatek: Remove in-tree symlinks
    - qca: Fix blueooth firmware name for QCA6174
    - mediatek: move MT8173 VPU FW to subfolder
    - linux-firmware: Update firmware file for Intel Bluetooth AX201
    - qca: Add firmware files for BT chip wcn3991.
    - nvidia: add TU116/117 signed firmware
    - drm/amdgpu: update to latest 19.50 firmware for raven
    - mediatek: update MT8173 VPU firmware to v1.1.4
    - rtl_nic: update firmware for RTL8153A
    - rtl_bt: Update RTL8822C BT FW to V0x0998_C2B4
    - linux-firmware: add firmware for MT7622
    - linux-firmware: add version 2 for MT7615E
    - amdgpu: update to latest navi10 firmware from 19.50
    - Revert "radeon: update oland rlc microcode from amdgpu"
    - amlogic: update video decoder firmwares
    - amdgpu: add renoir firmware for 19.50
    - amdgpu: update raven2 firmware for 19.50
    - nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.12.A.13
    - qca: update bluetooth firmware for QCA6174
    - i915: add HuC firmware v7.0.12 for TGL
    - i915: Add DMC firmware v2.06 for TGL
    - rtl_bt: Add firmware and configuration files for RTL8822C BT UART chip
    - amdgpu: update vega10 firmware from 19.50
    - amdgpu: update vega12 firmware from 19.50
    - amdgpu: update vega20 firmware from 19.50
    - linux-firmware: Update firmware file for Intel Bluetooth 9260
    - linux-firmware: Update firmware file for Intel Bluetooth 9560
    - linux-firmware: Update firmware file for Intel Bluetooth AX201
    - linux-firmware: Update firmware file for Intel Bluetooth AX200

 -- Seth Forshee <email address hidden> Thu, 19 Mar 2020 11:37:49 -0500

Changed in linux-firmware (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Seth Forshee (sforshee) wrote :

This should be fixed in focal now. I've uploaded packages for bionic and eoan too, those are waiting to be approved and built.

Revision history for this message
Adnan Hodzic (fooctrl) wrote :

I can confirm this problem is fixed after latest update on X1 Carbon 7th gen.

Revision history for this message
Jonathan Kamens (jik) wrote :

Yes, both microphone and speakers are now working for me after updating from proposed.

Revision history for this message
JLopeZ (jlopez-inc) wrote :

Yes, I can also confirm it's working on latest daily build of focal.

Seth Forshee (sforshee)
Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Karim Hosein (toprockphoto) wrote :

Not fixed.

I had upgraded to 20.04 on 24th April, and everything worked. Today, it does not. My sound-card (the one I use) no longer shows up. The nVidia HDMI sound-card still does, (but I have not had an HDMI monitor for awhile, now).

I have tried every fix I can possibly find on the web, but the funny thing is, it worked for three days! Even the dmic_detect=0 trick did not work.

kernel 5.4.0-26

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I suspect you are commenting on the wrong bug. This one is about the X1 Carbon 7, which never comes with any Nvidia hardware:

https://psref.lenovo.com/syspool/Sys/PDF/ThinkPad/ThinkPad_X1_Carbon_7th_Gen/ThinkPad_X1_Carbon_7th_Gen_Spec.PDF

Please open a new bug by running:

  ubuntu-bug linux

Revision history for this message
Eugene Crosser (crosser) wrote :

I was encountering this problem before and had to fall back to the legacy driver (that works but without microphone). Now I was able to blacklist legacy driver again, and got SOF working, including the microphone.

focal on Carbon X1 gen7
linux-firmware 1.187
kernel 5.4.0-28-generic

I can confirm that sound works fine now.

Revision history for this message
RD (bey0ndb1nary) wrote :

Hi

  I am using "System76 - Oryx Pro" laptoop and using the below kernel with "Ubuntu 20.04". I've "Dummy Output" issue / device shown in sound settings and Both laptop inbuilt speakers and microphone are not working.

How to add this Firmware and get this issue fixed.

$ uname -a
Linux NATURE 5.3.0-7625-generic #27~1576774585~18.04~c7868f8-Ubuntu SMP Thu Dec 19 20:37:47 UTC x86_64 x86_64 x86_64 GNU/Linux

http://alsa-project.org/db/?f=6c85778cf9deaef8a49d57788518508d9c3b15e4 - My ALSA Debug log.

Thanks
RD

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This bug is closed.

Please open a new bug by running:

  ubuntu-bug pulseaudio

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.