11

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
4
  • 3
    I'm having the same problem. Hopefully the maintainers see this!
    – merlin2011
    Jan 18, 2020 at 2:16
  • I basically followed these instructions, and now sound and microphone are working. Many other things do not work on my X1C7 with Ubuntu 19.10, but at this point, I decided to wait for 20.04. and hope that everything will work out of the box.
    – Doc
    Jan 19, 2020 at 16:31
  • @Doc Thanks the the link to that thread - I hadn't seen it. However, even after manually walking through the script in the repo, and following the modifications recommended in the Lenovo thread, there is no change in my audio or microphone. In fact, my system was up-to-date with the result of the guide before I even started, besides using ${firmware_version} instead of a specific value. I'll upload my output of dmesg | grep sof to the original post.
    – jackson
    Jan 20, 2020 at 15:29
  • I upgraded to 20.04, installed all updates on the ubuntu software center (i.e., the firmware-updates), then followed steps 3-5 of this post, and the my mic worked, finally! :-) Note: That post also offers a solution for Ubuntu 19.10! (also mentioned in one of the answers below...) mathieularose.com/…
    – Stefan
    May 20, 2020 at 13:09

2 Answers 2

6

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/

2
  • 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.
    – Juergen
    Aug 8, 2020 at 10:09
  • 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. Dec 30, 2020 at 15:55
1

If you use Ubuntu 20.04 all these issues are fixed.

4
  • 1
    How does this not provide an answer?
    – pwaterz
    Apr 17, 2020 at 21:02
  • 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" Apr 19, 2020 at 6:57
  • @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.
    – cipricus
    Apr 21, 2020 at 7:15
  • 1
    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.
    – pwaterz
    Apr 21, 2020 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.