You are not logged in.

#1 2019-09-23 21:38:56

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

Lenovo X1 Carbon 7th gen internal microphone not detected

Hello. I'm on the 5.3 kernel, but my internal mic still doesn't work.

[~]$ uname -r
5.3.1-arch1-1-ARCH

When I go to Settings > Sound > Input. I don't see any Input Device available.

The Arch Wiki says it should work starting in Linux 5.3, but here we are. Doesn't work.

Am I supposed to do something else or is the internal mic just not supported?

Offline

#2 2019-09-24 11:26:18

padraic
Member
Registered: 2019-09-24
Posts: 1

Re: Lenovo X1 Carbon 7th gen internal microphone not detected

I have the same problem, but have done some digging on the lenovo forums and it would seem some people have found solutions on ubuntu by recompiling the kernel to 5.3 and messing around with sof files. I haven't tried it but this comment may offer some resolution. The problem is explained at the bottom of this post. I may do some tinkering if someone hasn't managed to solve it in the next couple of days.

One question I have for you is have you tried updating the firmware through fwupd, I believe there is an update from Sepetember 2nd but have read that people have ran into some issues.

Offline

#3 2019-09-24 15:36:23

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

Re: Lenovo X1 Carbon 7th gen internal microphone not detected

[~]$ sudo fwupdmgr get-updates 
No upgrades for ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller, current is 43.00: 43.00=same
No releases found for device: Not compatible with firmware version 0.1.7, requires >= 0.1.14
No upgrades for UEFI Device Firmware, current is 0.1.10: 0.1.10=same, 0.1.07=older, 0.1.03=older

Looks like I'm up to date. But, still no mic input. I'll keep investigating and update here.

Offline

#4 2019-09-24 19:17:45

1ptb3b
Member
Registered: 2017-01-17
Posts: 76

Re: Lenovo X1 Carbon 7th gen internal microphone not detected

I think I do have the SOF kernel modules installed.

$ pwd
/usr/lib/modules/5.3.1-arch1-1-ARCH/kernel/sound/soc/sof/intel
$ ls
snd-sof-intel-bdw.ko.xz  snd-sof-intel-hda-common.ko.xz  snd-sof-intel-ipc.ko.xz
snd-sof-intel-byt.ko.xz  snd-sof-intel-hda.ko.xz

But maybe the modules are just not loaded? Not really sure. Kinda looks like maybe they are. This is what lsmod says.

$ lsmod | head -n 1
Module                  Size  Used by
$ lsmod | grep -E "(snd|sof|intel|hda|codec|soc|tplg)"
sof_pci_dev            20480  0
snd_sof_intel_hda_common    77824  1 sof_pci_dev
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_intel_byt      28672  1 sof_pci_dev
snd_sof_intel_ipc      20480  1 snd_sof_intel_byt
snd_sof               114688  4 snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc,sof_pci_dev
snd_sof_xtensa_dsp     16384  1 sof_pci_dev
snd_soc_skl           118784  0
snd_soc_hdac_hda       24576  2 snd_sof_intel_hda_common,snd_soc_skl
snd_hda_ext_core       36864  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_soc_skl_ipc        69632  1 snd_soc_skl
snd_hda_codec_hdmi     69632  1
snd_soc_sst_ipc        20480  1 snd_soc_skl_ipc
snd_soc_sst_dsp        40960  1 snd_soc_skl_ipc
snd_soc_acpi_intel_match    28672  3 snd_sof_intel_hda_common,sof_pci_dev,snd_soc_skl
snd_soc_acpi           16384  3 snd_soc_acpi_intel_match,sof_pci_dev,snd_soc_skl
snd_soc_core          286720  4 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
intel_powerclamp       20480  0
snd_hda_codec_realtek   126976  1
snd_hda_codec_generic    94208  1 snd_hda_codec_realtek
snd_compress           28672  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
kvm_intel             311296  0
intel_rapl_msr         20480  0
intel_wmi_thunderbolt    20480  0
kvm                   778240  1 kvm_intel
snd_hda_intel          53248  2
intel_cstate           16384  0
snd_hda_codec         159744  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
intel_uncore          147456  0
intel_rapl_perf        16384  0
snd_hda_core          102400  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               135168  10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_timer              40960  1 snd_pcm
btintel                28672  1 btusb
intel_lpss_pci         20480  0
intel_lpss             16384  1 intel_lpss_pci
bluetooth             675840  4 btrtl,btintel,btbcm,btusb
intel_gtt              24576  1 i915
agpgart                53248  2 intel_gtt,drm
intel_rapl_common      28672  2 intel_rapl_msr,processor_thermal_device
intel_pch_thermal      16384  0
intel_soc_dts_iosf     20480  1 processor_thermal_device
ledtrig_audio          16384  3 snd_hda_codec_generic,snd_hda_codec_realtek,thinkpad_acpi
snd                   110592  15 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
wmi                    36864  2 intel_wmi_thunderbolt,wmi_bmof
soundcore              16384  1 snd
crc32c_intel           24576  2
ghash_clmulni_intel    16384  0
aesni_intel           372736  6
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel

dmesg says this.

[intel]v$ dmesg | grep -E "(snd|hda|sof|codec)"
[    9.316877] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.392147] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[    9.392258] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    9.393727] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    9.395226] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    9.396668] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    9.399918] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19

journal says this.

[intel]v$ journalctl --boot | grep -E "(snd|hda|sof|codec)"| grep -E -i "(fail|error)"
Sep 24 09:52:16 systemd-tmpfiles[466]: Failed to determine whether '/dev/snd' is below autofs, ignoring: No such file or directory
Sep 24 09:52:16 systemd-tmpfiles[466]: Failed to determine whether '/dev/snd/timer' is below autofs, ignoring: No such file or directory
Sep 24 09:52:16 systemd-tmpfiles[466]: Failed to determine whether '/dev/snd/seq' is below autofs, ignoring: No such file or directory

Last edited by 1ptb3b (2019-09-24 19:28:02)

Offline

Board footer

Powered by FluxBB