Lenovo ThinkPad X1 Carbon 7th Generation built-in microphone doesn't work

Bug #1845678 reported by Jonathan Kamens
66
This bug affects 12 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

The built-in microphone in my Lenovo ThinkPad X1 Carbon 7th Generation doesn't work.

A microphone on a headset plugged into the 3.5mm jack works fine.

This is probably relevant: https://bugzilla.kernel.org/show_bug.cgi?id=201251

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-5.3.0-12-generic 5.3.0-12.13
ProcVersionSignature: Ubuntu 5.3.0-12.13-generic 5.3.0
Uname: Linux 5.3.0-12-generic x86_64
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jik 3746 F.... pulseaudio
 /dev/snd/pcmC0D0p: jik 3746 F...m pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Fri Sep 27 11:13:25 2019
InstallationDate: Installed on 2019-09-12 (14 days ago)
InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
MachineType: LENOVO 20QD001VUS
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.3.0-12-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.3.0-12-generic N/A
 linux-backports-modules-5.3.0-12-generic N/A
 linux-firmware 1.182
SourcePackage: linux
UpgradeStatus: Upgraded to eoan on 2019-09-20 (7 days ago)
dmi.bios.date: 07/04/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: N2HET30W (1.13 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20QD001VUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN2HET30W(1.13):bd07/04/2019:svnLENOVO:pn20QD001VUS:pvrThinkPadX1Carbon7th:rvnLENOVO:rn20QD001VUS:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad X1 Carbon 7th
dmi.product.name: 20QD001VUS
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
Jonathan Kamens (jik) wrote :
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
Kai-Heng Feng (kaihengfeng) wrote :

IIUC linux-oem-osp1 has more DMIC support from intel-sof driver.

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

>IIUC linux-oem-osp1 has more DMIC support from intel-sof driver.

Not only does the oem-osp1 kernel not recognize the mic in this laptop, it also doesn't recognize the speakers.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Subscribing Hui Wang who works on this.

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

@Jonathan,

Don't use the oem-osp1 kernel. To make the internal mic work, we need to integrate UCM files, we are trying to submit the files to ubuntu 19.10, but not finished.

After the UCM is integrated, bot 5.3 kernel and oem-osp1 kernel will work.

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

hi everyone! Are there any updates on this ? Are the changes been integrated into 19.10 ?

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

The ucm is not merged yet, just wait for a while.

Revision history for this message
Alexander Fieroch (fieroch) wrote :

Any updates on this as now in times with corona people could use the micro for homeoffice video calls...

For the manual way - what has the user to do in addition to copy these UCM file directories?

Revision history for this message
Hui Wang (hui.wang) wrote :
Revision history for this message
Luki (humbell) wrote :
Revision history for this message
Martin Seener (martinseener) wrote :

Hi @humbell,
yeah i wrote this back in january when i freshly got my X1C7. It still works pretty good for me now with the -40-generic kernel. Newer kernels currently don't work and/or breaking reboots/sleep.
I will also wait for @hui.wangs new kernel and libasound2 and test this locally.
Using Timeshift to back to my working environment if needed. Hope we can get this one finally fixed for everyone with default packages and without hacky stuff.

Revision history for this message
Alexander Fieroch (fieroch) wrote :
Download full text (12.0 KiB)

I tried kernel 5.3.0-43 from proposed but my notebook does not wake up from S3 suspend anymore (Lenovo Carbon X1 7th gen). It was working with kernel 5.3.0-40...

I recognized some errors regarding this sound update package in journallog. Maybe this causes suspend not to work?

Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:8:0
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp1
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp2
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp3
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Analog Playback and Capture
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Digital Playback and Capture
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic01
Mär 20 07:24:25 m19040-lin kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic16k
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: Topology: ABI 3:7:0 Kernel ABI 3:8:0
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
Mär 20 07:24:25 m19040-lin kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU P...

Revision history for this message
Alexander Fieroch (fieroch) wrote :

full journal log with kernel 5.3.0-43-generic

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

Alexander,

Looks like your sof-firmware is not same as the one on my machine (/lib/firmware/intel/sof|sof-tplg). Where did you find it? The sof-firmware on my machine is installed with linux-firmware of 19.10.

Revision history for this message
Alexander Fieroch (fieroch) wrote :

Hm, previously I tried the script at #12. Maybe this is a firmware relict?

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

The 5.3 kernel can't work with the sof-firmware-1.4.2. So please have a try with the linux-firmware of 19.10.

Revision history for this message
Paolo Mainardi (paolomainardi) wrote :

Hi everyone again, i am experiencing some APCI issues using 5.3.0-40 with sof drivers activated. It happens, almost randomly at this stage that the system is not waking up after a sleep, initiated by Gnome, what i see is just the fn led active on the X1-carbon-7h.
It seems that disabling sof and loading the standard kernel modules (the blacklisted ones) the problem disappear. I saw that in 41 and 42 there are some ACPI-related fixes, but suddenly they broke the mic.

Revision history for this message
Paolo Mainardi (paolomainardi) wrote :

Can we have a quick write-up of everything needed to test these fixes ? From UCM to Kernel updates, just to have a standard procedure and avoid configuration issues.

Revision history for this message
Martin Seener (martinseener) wrote :

Would also be interested how to come back from my hacky solution to the default one. If the new kernel and packages are available in the stable branch i would also try to fix it myself and write a small guide. I can use timeshift to go back to my working version if i f**up.

Revision history for this message
Paolo Mainardi (paolomainardi) wrote :

hi @hui.wang, can you confirm that thoses steps https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1859754/comments/48 are not needed anymore now because everything is upstream ?

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

@Paolo,

Those steps are still needed even they are upstreamed, the step1 (enable bionic-proposed) is not needed.

Revision history for this message
Paolo Mainardi (paolomainardi) wrote :

Thanks @hui.wang.

I am still having s3/sleep blocking issues, basically with the sof driver activated and all the kernels > 40 i cannot have the system back from sleep, is there something i can use to debug this ?

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

@Paolo,

Did you try the kernel 5.3.0-43? If you uses -43 kernel and the system still couldn't sleep, please upload the dmesg with -43 kernel.

Revision history for this message
Jean- (jean-helou) wrote :

Hi,

I wanted to give a bit of feedback after a few days using the laptop with kernel 43 and the experimental libasound packages from Hui's ppa.

As far as I can tell, the microphone works flawlessly.
Sound output to speakers and HDMI works too. With one notable drawback : the internal speaker volume, even when maxed out in alsamixer and gnome settings is very weak, much weaker than when using the snd_hda driver. I think this is related to https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1859754/comments/28 and one should be aware of it before switching to sof.

Plugging a BT headset correctly switches output to the headset and joining a google meet visio conference in firefox switches the microphone too.

As reported in https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1859754/comments/86 the chrome snap seems to do something different from firefox ending up in crashing the BT headset when joining a google meet visio.

installed packages

ii libasound2:amd64 1.1.9-0ubuntu1.2++++testucm amd64 shared library for ALSA applications
ii libasound2-data 1.1.9-0ubuntu1.2++++testucm all Configuration files and profiles for ALSA drivers
ii libasound2-plugins:amd64 1.1.9-0ubuntu1 amd64 ALSA library additional plugins
ii linux-firmware 1.183.5 all Firmware for Linux kernel drivers
ii linux-image-5.3.0-43-generic 5.3.0-43.36 amd64 Signed kernel image generic
ii linux-modules-5.3.0-43-generic 5.3.0-43.36 amd64 Linux kernel extra modules for version 5.3.0 on 64 bit x86 SMP
ii linux-modules-extra-5.3.0-43-generic 5.3.0-43.36 amd64 Linux kernel extra modules for version 5.3.0 on 64 bit x86 SMP

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

Thanks Jean, your feedback is helpful to SRU the fix of this bug: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1868210

Revision history for this message
Jean- (jean-helou) wrote :
Download full text (3.4 KiB)

Hi,

I received a couple firmware updates through fwupdmgr yesterday and rebooted this morning. I don't have sound any more (back to dummy output :( )

here is what dmesg has to say now

[ 0.261799] ACPI: Added _OSI(Linux-Dell-Video)
[ 0.261800] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 0.261801] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[ 1.782736] integrity: Loading X.509 certificate: UEFI:db
[ 1.782748] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
[ 1.782748] integrity: Loading X.509 certificate: UEFI:db
[ 1.782776] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
[ 1.783436] ima: Allocated hash algorithm: sha1
--
[ 55.805639] iwlwifi 0000:00:14.3: base HW address: dc:71:96:b9:0a:d2
[ 55.808007] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, aborting probe
[ 55.816168] thinkpad_acpi: battery 1 registered (start 0, stop 100)
--
[ 55.874276] thermal thermal_zone6: failed to read out thermal zone (-61)
[ 55.881996] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 55.891486] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 55.958245] Adding 999420k swap on /dev/mapper/vgubuntu-swap_1. Priority:-2 extents:1 across:999420k SSFS
--
[ 56.067815] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[ 56.084957] skl_hda_dsp_generic skl_hda_dsp_generic: Unsupported HDAudio/iDisp configuration found
[ 56.084962] skl_hda_dsp_generic: probe of skl_hda_dsp_generic failed with error -22

here are the updates I received and applied by rebooting today

 • 20QDCTO1WW System Firmware (0.1.29 → 0.1.30)
 • ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller (43.00 → 44.00)

from dmidecode

BIOS Information
 Vendor: LENOVO
 Version: N2HET47W (1.30 )
 Release Date: 03/18/2020
System Information
 Manufacturer: LENOVO
 Product Name: 20QDCTO1WW
 Version: ThinkPad X1 Carbon 7th

installed packages

dpkg -l | grep -E 'libasound2|linux-firmware|linux-image|linux-modules' [130]
ii libasound2:amd64 1.1.9-0ubuntu1.2++++testucm amd64 shared library for ALSA applications
ii libasound2-data 1.1.9-0ubuntu1.2++++testucm all Configuration files and profiles for ALSA drivers
ii libasound2-plugins:amd64 1.1.9-0ubuntu1 amd64 ALSA library additional plugins
ii linux-firmware 1.183.5 all Firmware for Linux kernel drivers
ii linux-image-5.3.0-45-generic 5.3.0-45.37 amd64 Signed kernel image generic
ii linux-image-generic 5.3.0.45.38 amd64 Generic Linux kernel image
ii linux-modules-5.3.0-45-generic 5.3.0-45.37 ...

Read more...

Revision history for this message
Jean- (jean-helou) wrote :

The
options snd-hda-intel dmic_detect=0

workaround works, I was able to recover output but of course lost the microphone in the processe \o/

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

It is the problem of 5.3.0-45 kernel, please try with -46 kernel.

Revision history for this message
Jean- (jean-helou) wrote :

Damn sorry about that, I didn't notice the kernel moved from .43 to .45. I'll try with 46

Revision history for this message
Jean- (jean-helou) wrote :

under the following configuration the sound and microphone work as described in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1845678/comments/28

ii libasound2:amd64 1.1.9-0ubuntu1.3 amd64 shared library for ALSA applications
ii libasound2-data 1.1.9-0ubuntu1.3 all Configuration files and profiles for ALSA drivers
ii libasound2-plugins:amd64 1.1.9-0ubuntu1 amd64 ALSA library additional plugins
ii linux-firmware 1.183.5 all Firmware for Linux kernel drivers
ii linux-image-5.3.0-46-generic 5.3.0-46.38 amd64 Signed kernel image generic
ii linux-image-generic 5.3.0.45.38 amd64 Generic Linux kernel image
ii linux-modules-5.3.0-46-generic 5.3.0-46.38 amd64 Linux kernel extra modules for version 5.3.0 on 64 bit x86 SMP
ii linux-modules-extra-5.3.0-46-generic 5.3.0-46.38 amd64 Linux kernel extra modules for version 5.3.0 on 64 bit x86 SMP

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.