Internal Microphone Not Detected [Lenovo Carbon X1 7th Gen, Ubuntu 19]

7,891

Solution 1

I had the same issue as you, here is what worked for me:

Step 1: Install the latest kernel available from kernel.ubuntu.com

Use ubuntu-mainline-kernel.sh to install the latest kernel available from kernel.ubuntu.com.

Step 2: Upgrade linux-firmware package to Ubuntu 20.04

Download and install Ubuntu 20.04’s linux-firmware package, which is currently at version 1.187.

Step 3: Blacklist snd_hda_intel and snd_soc_skl

Add the following lines to /etc/modprobe.d/blacklist.conf:

blacklist snd_hda_intel
blacklist snd_soc_skl

Step 4: Update PulseAudio config Add the following lines to /etc/pulse/default.pa:

load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4

Step 5: Reboot

Reboot and make sure you boot with the kernel installed in step 1.

Source: https://mathieularose.com/ubuntu-19-10-on-lenovo-thinkpad-x1-carbon-7th-gen/

Solution 2

If you use Ubuntu 20.04 all these issues are fixed.

Share:
7,891

Related videos on Youtube

jackson
Author by

jackson

Updated on September 18, 2022

Comments

  • jackson
    jackson almost 2 years

    UPDATE: This guide's script ended up working for me, even though I had done all the commands individually on my own previously. Don't really know why, but wanted to throw it out there for anyone else reading this.

    (As a preface, I am very much a noob when it comes to Linux, but I have already tried following advice from many different forums to no avail. I have tried throughout to provide clear and necessary information about my system's setup.)

    I bought the Lenovo X1 Carbon 7th Gen with the intention of running Ubuntu. When I encountered the Wifi problem described here, I settled on using Ubuntu 19 even though I would prefer LTS with Ubuntu 18. All was going well with the system until I needed to use the microphone for a Zoom call, when I realized that my system did not detect any input devices. See what my GUI sound settings look like - there are no input devices to choose from, but my speakers are working.

    After troubleshooting online, I found this forum post describing how to fix the problem when running Arch. I decided to try and follow the guide on my own, since this Lenovo forum post implied that this guide isn't Arch-specific and might work for other distros (e.g. Debian, Ubuntu). However, even after following the guide (taking into account the typos pointed out by user tbw in reply #9, I couldn't get the microphone to be detected.

    Currently, this is what my /etc/modprobe.d/blacklist.conf looks like.

    # blacklist snd_hda_intel
    # blacklist snd_soc_skl
    

    When I uncomment the above blacklist lines, there is no difference in the input sources available but I am unable to use my speakers. Thus, I've left these lines commented for the time being.

    Currently, this is what my /etc/pulse/default.pa looks like.

    load-module module-alsa-source device=hw:0,7
    

    And here is the result of the following command.

    # ls -l /lib/firmware/intel/sof-tplg/
    total 200
    -rw------- 1 jmarkey jmarkey 44987 Aug 14 13:27 sof-hda-generic-2ch.tplg
    -rw------- 1 jmarkey jmarkey 45123 Aug 14 13:27 sof-hda-generic-4ch.tplg
    -rw------- 1 jmarkey jmarkey 27543 Aug 14 13:27 sof-hda-generic-idisp-2ch.tplg
    -rw------- 1 jmarkey jmarkey 27679 Aug 14 13:27 sof-hda-generic-idisp-4ch.tplg
    -rw------- 1 jmarkey jmarkey 15343 Aug 14 13:27 sof-hda-generic-idisp.tplg
    lrwxrwxrwx 1 root    root       53 Jan 17 00:08 sof-hda-generic.tpl -> /lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg
    -rw------- 1 jmarkey jmarkey 32787 Aug 14 13:27 sof-hda-generic.tplg.original
    

    Thus my current system resembles the result of the guide. I even made the edits to the pulse daemon described in the final edit of the original post on the thread, and this is what my /etc/pulse/daemon.conf looks like.

    enable-lfe-remixing = yes
    ; lfe-crossover-freq = 0
    lfe-crossover-freq = 250
    

    Here is information about my hardware.

    # lspci
    00:00.0 Host bridge: Intel Corporation Device 9b61 (rev 0c)
    00:02.0 VGA compatible controller: Intel Corporation Device 9b41 (rev 02)
    00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
    00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
    00:12.0 Signal processing controller: Intel Corporation Device 02f9
    00:14.0 USB controller: Intel Corporation Device 02ed
    00:14.2 RAM memory: Intel Corporation Device 02ef
    00:14.3 Network controller: Intel Corporation Device 02f0
    00:15.0 Serial bus controller [0c80]: Intel Corporation Device 02e8
    00:15.1 Serial bus controller [0c80]: Intel Corporation Device 02e9
    00:16.0 Communication controller: Intel Corporation Device 02e0
    00:1d.0 PCI bridge: Intel Corporation Device 02b0 (rev f0)
    00:1d.4 PCI bridge: Intel Corporation Device 02b4 (rev f0)
    00:1f.0 ISA bridge: Intel Corporation Device 0284
    00:1f.3 Audio device: Intel Corporation Device 02c8
    00:1f.4 SMBus: Intel Corporation Device 02a3
    00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 02a4
    00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V
    03:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 011a
    05:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
    06:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
    06:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
    06:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
    06:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
    07:00.0 System peripheral: Intel Corporation JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] (rev 02)
    2d:00.0 USB controller: Intel Corporation JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] (rev 02)
    

    And here's the results of some other commands I've seen requested in forum replies.

    # arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    
    # amixer -c0
    Simple mixer control 'Master',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 87
      Mono: Playback 66 [76%] [-15.75dB] [on]
    Simple mixer control 'Headphone',0
      Capabilities: pvolume pswitch
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 87
      Mono:
      Front Left: Playback 0 [0%] [-65.25dB] [off]
      Front Right: Playback 0 [0%] [-65.25dB] [off]
    Simple mixer control 'Speaker',0
      Capabilities: pvolume pswitch
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 87
      Mono:
      Front Left: Playback 87 [100%] [0.00dB] [on]
      Front Right: Playback 87 [100%] [0.00dB] [on]
    Simple mixer control 'Bass Speaker',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [on]
      Front Right: Playback [on]
    Simple mixer control 'PCM',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 255
      Mono:
      Front Left: Playback 253 [99%] [-0.40dB]
      Front Right: Playback 253 [99%] [-0.40dB]
    Simple mixer control 'Mic Boost',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 3
      Front Left: 3 [100%] [30.00dB]
      Front Right: 3 [100%] [30.00dB]
    Simple mixer control 'Mic Mute-LED Mode',0
      Capabilities: enum
      Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
      Item0: 'On'
    Simple mixer control 'IEC958',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'IEC958',1
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'IEC958',2
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'IEC958',3
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'IEC958',4
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'Capture',0
      Capabilities: cvolume cswitch
      Capture channels: Front Left - Front Right
      Limits: Capture 0 - 63
      Front Left: Capture 63 [100%] [30.00dB] [on]
      Front Right: Capture 63 [100%] [30.00dB] [on]
    Simple mixer control 'Auto-Mute Mode',0
      Capabilities: enum
      Items: 'Disabled' 'Enabled'
      Item0: 'Enabled'
    

    Please let me know if I should post any other information. Because I'm a noob, I'm not sure if the above information is too much or not enough.

    I've also tried a few other fixes as well, notably messing around with alsamixer and pavucontrol, but to no avail. Since messing around with these fixes, the light behind my F4 key has been lit (denoting that the microphone is disabled), but I am unable to turn it off by pressing it (while holding the Fn key and while not holding the Fn key).

    --------------EDIT 1---------------

    Here's the output of the following command (with the lines commented in the blacklist file).

    dmesg | grep sof
    [    0.928838] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
    [    0.928847] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
    

    And then with the blacklist lines uncommented.

    dmesg | grep sof
    [    0.934483] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
    [    0.934496] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
    [    2.767718] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
    [    2.767724] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
    [    2.767850] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    [    2.771861] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [    2.776385] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
    [    2.776386] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
    [    2.822519] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
    [    2.822520] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
    [    5.892335] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
    [    5.892349] sof-audio-pci 0000:00:1f.3: error: status = 0x00000000 panic = 0x00000000
    [    5.892353] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
    [    5.892354] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
    [    5.892355] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110
    
  • pwaterz
    pwaterz about 4 years
    How does this not provide an answer?
  • Simon Sudler
    Simon Sudler about 4 years
    You are not suggestion a solution to the problem, just to install some other version of Ubuntu. Its like "he, install CentOS, the problem does not exist there"
  • cipricus
    cipricus about 4 years
    @pwaterz - Suggesting a different ubuntu version is not a solution for a 19.10-specific question, but suggesting a different kernel may be a solution, as suggested in the other answer. 20.04 has the new kernel too.
  • pwaterz
    pwaterz about 4 years
    I think that's totally open to interpretation. I personally think it would be WAY easier to solve the problem by updating version. If I came to this thread and saw that someone said things were better in a newer version I would update. There are plenty of times in software where the fix is to download an updated version because bugs were fixed. I stand by my answer. Telling folks to update their kernel is far more complicated and risky than just updating the whole OS.
  • Juergen
    Juergen almost 4 years
    This did the trick on my Lenovo IdeaPad 5 14IIL05. Thank you so much, I was looking for ages and upgraded to the latest kernel and Ubuntu version.
  • Michael Levy
    Michael Levy over 3 years
    With regard to step 1, can you be much more specific. How does one install the latest kernel. step-by-step instruction would be wonderful.