Talk:Lenovo ThinkPad X1 Carbon (Gen 7)

From ArchWiki
Latest comment: 13 August 2021 by F5k in topic UEFI BIOS Update


Did you get your microphone to work neither alsamixer or pavucontrol seem to detect a microphone. ? Nitrobay (talk) 11:38, 17 August 2019 (UTC)Reply[reply]

I can confirm using this test, only externally connected microphones work. — goetzc (wanna talk?) 14:24, 17 August 2019 (UTC)Reply[reply]
Looks like Linux kernel 5.3 will include the SOF firmware update with the fix for the microphone. — goetzc (wanna talk?) 14:25, 6 September 2019 (UTC)Reply[reply]
After updating to Linux kernel 5.3.1 the microphone still does not work Moreka (talk) 17:30, 23 September 2019 (UTC) User:Moreka 17:30, 23 September 2019 (UTC)Reply[reply]
I found a configuration that makes the microphones to work ;) but couldn't paste the instructions or a link to them. I created a forum post under Laptop Issues and titled [SOLVED] Fix for microphone on Lenovo X1 Gen 7 Alphazo (talk) 10:15, 13 October 2019 (UTC)Reply[reply]
Like others, I wasn't able to get microphone working by following that guide. My results are identical to that of "Mocco" from that forum. Unless I'm misunderstanding the sidebar, I think we should flag microphone to "not working" for this page. Parth (talk) 23:54, 20 October 2019 (UTC)Reply[reply]
I wasn't able to get microphone working by following that guide as well. I also think we should flag microphone to "not working" for this page. Moreka 06:04, 22 October 2019 (UTC)Reply[reply]
Managed to get it working following Alphazo's guide. There are a few typos however, I indicated the required fix in post #9. Hope it helps. Tbw (talk) 21:23, 22 October 2019 (UTC)Reply[reply]
I'll give it another shot and report back Parth (talk) 17:17, 30 October 2019 (UTC)Reply[reply]
I was able to make the microphone + sound playback work with following the Lenovo docx file and using the sof-hda-generic.tplg and sof-cnl.ri provided in the latest linux firmware package shipped with ubuntu (just download the package and copy the two files in the correct directories). Also the changes in /etc/pulse/ are not necessary. moreka 17:08, 31 October 2019 (UTC)Reply[reply]
With recent kernel the SOF was disabled [1]. Solution for me was to install linux-pf and disable CONFIG_SND_SOC_INTEL_SST, enable SOT. Kubuxu (talk) 14:12, 19 November 2019 (UTC)Reply[reply]
Please test with linux 5.4.1-arch1 (in testing) and sof-firmware (new). SOF is re-enabled except on Broadwell/Baytrail platforms. Dpward (talk) 17:42, 1 December 2019 (UTC)Reply[reply]
I tested with the new kernel and sof-firmware package (from the Arch repositories). Doing the configs as in the docx file, the sound works well, but the microphone records sounds in a wrong way; it sounds as if it is slow-motion. User:moreka 15:16, 3 December 2019 (UTC)Reply[reply]
I experienced the same issue like moreka after installing the current kernel (5.4.2.arch1-1) and sof-firmware (1.3.1-1) from the core repo. Also since sof is in use the speakers only provide stereo audio and not using the 4.0 channel profile. Bin101 (talk) 19:09, 6 December 2019 (UTC)Reply[reply]
When using sof-firmware version 1.4.1 (and latest kernel 5.4.2) the sound card doesn't get recognized at all. Reverting back to sof-firmware 1.3.1 makes the card work again, in the same way explained by users Moreka and Bin101. — Götz (wanna talk?) 13:33, 9 December 2019 (UTC)Reply[reply]
Yeah a whole host of things broke for me in 5.4.2: hibernate, touchpad & sound all broke for me in 5.4.2. Parth (talk) 04:43, 10 December 2019 (UTC)Reply[reply]
With 5.4.3 the Mic works with custom topology file sof-hda-generic-4ch.tplg. The touchpad is broken on about 50% of bootups. I will start a new thread about it. Kubuxu (talk) 13:37, 16 December 2019 (UTC)Reply[reply]
I was (finally!) able to get the mic to work on a HP EliteBook x360 1030 G4, using kernel 5.4.1 and sof-firmware 1.3.1. Spoke too soon. Not working after all. Details here. Darose 21:18, 18 December 2019 (UTC)Reply[reply]
Still problematic with kernel 5.5-rc6 (compiled myself). Just the two top speakers are firing (not the rear ones). Super annoying. The microphone works, though... Using sof-firmware 1.3 (from Arch repo) User:Moreka 14:18, 17 January 2020
For me, it was necessary, to add /etc/modprobe.d/alsa.conf containing options snd slots=,snd_usb_audio. Jaydoe (talk) 10:18, 9 February 2020 (UTC)Reply[reply]
I got the microphone (and sound) working (but not both audio keys LEDs) following the current edition steps. Use latest repo kernel and sof-firmware, also revert any other configuration change you may have done in the past. — Götz (wanna talk?) 00:31, 11 February 2020 (UTC)Reply[reply]
The script from works for the keyboard backlight. wrycode (talk) 18:12, 16 February 2020 (UTC)Reply[reply]
Thanks for you suggestion Wrycode, I meant both audio/sound keys LEDs are not working (just corrected it), not the whole keyboard backlight :) — Götz (wanna talk?) 19:12, 16 February 2020 (UTC)Reply[reply]
The LED microphone is not working
I was able to get the microphone LED working with a hacky workaround. It follows the headphone jack's mute status. Thus, by rebinding XF86AudioMicMute to toggle both the active Capture device and the analog headphone microphone port, it will toggle the LED without any kernel hackery. I did this in my i3config with the following line: bindsym XF86AudioMicMute exec amixer sset Capture toggle && amixer -c0 sset Capture toggleSippieCup (talk) 03:42, 17 February 2021 (UTC)Reply[reply]

Volume Controls

The section Volume Controls fixes the quite/loud volume control, but seems to disable (they are already disabled) the two top-firing speakers, only the two bottom-firing sub-woofers are enabled. --Goetzc (talk) 17:12, 9 August 2019 (UTC)Reply[reply]

So this seems to fix the volume control indeed, but the top-firing speakers were already and are still muted, might be a driver bug, but a workaround from another Dolby Atmos laptop might work here. --Goetzc (talk) 17:32, 9 August 2019 (UTC)Reply[reply]
Did you remember to run alsamixer from alsa-utils after installation and turn on/equalize all of the speakers? Mine (top and bottom) are working fine. wrycode (talk) 03:54, 13 August 2019 (UTC)Reply[reply]
You are correct Wrycode, thanks! The "Master" volume was low, rising it to 100% makes the top speakers work as expected :) Will add this to the section.
Do you happen to know how to make this change (setting the "Element Master") so that it's not done on the system analog-output.conf.common file, and thus the change survives when PulseAudio package is updated? — goetzc (wanna talk?)
I did some digging around and I can't find a way to do this. Pulseaudio might not have a user config option for the alsa paths in /usr/. Added the NoUpgrade workaround on the main page. wrycode (talk) 02:05, 20 August 2019 (UTC)Reply[reply]
There is this interesting method, which uses 'hdajackretask' from the alsa-tools package to remap some pins. The comment is for a different laptop (Asus UX550 using Realtek ALC295), but it exhibits the same issue. We would need to determine the correct pins for this hardware (Realtek ALC285), don't know how, though. — goetzc (wanna talk?) 19:08, 25 August 2019 (UTC)Reply[reply]

I turned on all the speakers with alsamixer from alsa-utils and tried "Analog Stereo Output" and "Analog Surround 4.0 Output" with pavucontrol but none of these configurations gives a reasonable result. The former makes the front speakers much louder than the rear ones and the latter makes the front speakers silent, testing them with:

# speaker-test -c4 -l1 -twav

I was able to compare the sound quality on Windows and it is clear that the bass sound is clearly missing. Is it similar for you or am I missing something ? 00:07, 1 February 2020 (UTC)

This is a new issue, I'm experiencing it too. wrycode (talk) 01:29, 1 February 2020 (UTC)Reply[reply]
I had the same issue with Linux kernel 5.4, but with kernel 5.3 it works (you can get it from the Arch Linux Archive) when following the Volume controls section (editing the analog-output.conf.common file). I hope that 5.5 fixes this, haven't tried yet. — Götz (wanna talk?) 17:15, 1 February 2020 (UTC)Reply[reply]
It is also possible to set the 4.0 sound profile with pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-surround-40, not sure if all Carbon 7th Gen use the same identifier, but that's the idea. — Götz (wanna talk?)

I tested the volume control section today and I can confirm it's not working. Only the bottom facing speakers fire resulting in no bass or midrange. The microphone does work well. There is some discussion of this in the following Gist. Hackerman (talk) 19:05, 10 February 2020 (UTC)Reply[reply]

Oh, that Gist is a very big configuration change! I have all four mics and four speakers working nicely (but not both audio keys LEDs) following the steps added by user:VictorTrac, check out the current edition. Use latest repo kernel and sof-firmware, also revert any other configuration change you may have done in the past. — Götz (wanna talk?)
That was it! Thank you! I needed to mute the speaker channel. I'm glad to have a working array microphone. Hackerman (talk) 02:30, 11 February 2020 (UTC)Reply[reply]


Currently UEFI BIOS seems to be at version 1.16. I am unable to find the .cab file in the link provided, on the LVFS Device List, nor have had luck with web searches.

I also followed instructions for | UEFI BIOS upgrade from fwupd on the wiki. Has anyone succeeded in upgrading the firmware to the latest version on Linux? Would using the bootable iso on a USB from the first link work? According the the README it should work (but hesitant to put the iso on USB). In0ni (talk) 22:34, 1 September 2019 (UTC)Reply[reply]

Using the bootable iso on a USB should work fine (vs. a CD/DVD). However, I'm hesitant to upgrade because the 1.05 update is supposedly required before updating to the lates version:
UEFI: ---- / ECP: 1.05
 - (Fix) Fixed an issue where system may hang in UEFI BIOS updating process.
       (Note) This package must be applied prior to n2hur04w or later package version.`
The cab files are not available yet. The only way to apply the updates (except for one that's available via fwupdmgr) is through the bootable ISO. I don't see any reason to update personally but if someone else does, please let us know how it goes. wrycode (talk) 20:09, 10 September 2019 (UTC)Reply[reply]
Just BTW for anyone else reading this, I updated via the bootable ISO and it didn't brick my device. Also, the .cab files for Linux are hidden in that link (if you click on the sorting menu, it appears to show only Windows updates but if you click on the categories the Linux files are hidden in there somewhere). wrycode (talk) 22:48, 17 December 2019 (UTC)Reply[reply]
I did upgrade it using fwupdmgr install <>, after some specific version and restarts, the automatic updates did work using fwupdmgr update. — Götz (wanna talk?) 21:52, 19 December 2019 (UTC)Reply[reply]

I have updated to 1.47 using `fwupdmgr install`, fetched from Lenovo. However, there is an issue with the sha1 checksum hex digests written in uppercase in (at least) that specific cab file, leading to the update failing. After changing the case of that hex string in the manifest file, the update went fine. According to Lenovo ( there should *not* be a difference between Lenovo's and LVFS' files. --F5k (talk) 22:38, 13 August 2021 (UTC)Reply[reply]

Fibocom LTE now available!

I just saw this Lenovo forum thread which links to this tool to flip the Fibocom into USB mode (which has a Linux driver). wrycode (talk) 02:49, 13 December 2019 (UTC)Reply[reply]

I did some initial testing but I need to wait for a new sim card to look deeper into this.

  • just install acpi_call from the official repositories
  • the script works exactly as described. NOTE: the modem command interface accessible at /dev/ttyACM0 will be all kinds of broken if you have ModemManager running, so make sure to wait until you've enabled full functionality and unlocked the modem before starting ModemManager.service.
  • AT+GTUSBMODE=7 and AT+CFUN=15 work fine to get the modem working but first you have to issue the FCC Lock commands.
  • Now you should be able to run modem-manager-gui and send and receive SMS messages
  • to get 4G data, separately configure a new "mobile broadband" GSM connection in Network Manager (you can just use nm-connection editor). I accepted all of the default settings, (including the "number"), except for putting my network's APN in.
  • Now the connection should be available to you in one of Network Manager's user interfaces. If you get an error when you select the connection like "device not available", see if /var/lib/NetworkManager/NetworkManager.state has WWANEnabled set to false; to change it you might have to mess around with /etc/NetworkManager/NetworkManager.conf or the nm-applet GUI
  • despite what the README says, the modem stayed accessible for me between suspends (but you have to re-run the script after a reboot)

There's this alternative repository which provides a kernel module for the modem that supposedly stays persistent between reboots. I think the author uses Debian so the makefile would have to be modified for building kernel modules on Arch. wrycode (talk) 21:43, 13 December 2019 (UTC)Reply[reply]

Incorrect ethernet dongle information?

I believe the information in the sidebar about the native ethernet dongle has been incorrectly copied and pasted from a previous model, like it was for the X1Y4. Can an X1C7 owner confirm this? Andersk (talk) 06:26, 4 January 2020 (UTC)Reply[reply]

I can confirm that it works out of the box with no problems GH0S1 (talk) 19:11, 5 January 2020 (UTC)Reply[reply]

But do you have the dongle that’s linked, as opposed to say this one? All the pictures I can find suggest that the former is copied-and-pasted from previous models and won’t fit in the X1C7. Andersk (talk) 00:41, 6 January 2020 (UTC)Reply[reply]

You are right. I have the newer dongle. It doesn't look like the older and wider dongle would fit. GH0S1 (talk)

Cool. Edited the link; feel free to make further edits. Andersk (talk) 01:06, 7 January 2020 (UTC)Reply[reply]

Secondary IR webcam as a light sensor for automatic kbd backlight adjustment

Some models of this laptop have a second IR webcam (originally to be used with Windows Hello) which is always uncovered by the privacy slider. I think it would be feasible to use this camera as a light sensor to automatically adjust the brightness of the keyboard's backlight. There are applications like clightAUR that adjust screen brightness by using the primary/normal webcam. Using v4l2-ctl --list-devices shows there are six devices, /dev/video{0,1,2,3} and /dev/media{0,1} , for which only video0 shows data from the primary camera. Have any one got the IR camera to work? — Götz (wanna talk?) 23:53, 16 February 2020 (UTC)Reply[reply]

Battery Issues

Hey All, I haven't contributed to the wiki before so bear with me.

I believe these battery issues might be worth adding, but I'm not sure where I should add them in the page:

Any ideas? Should they be added at all? Thanks.

Caustic (talk) 21:13, 9 March 2020 (UTC)Reply[reply]

Why don't you at least document what you did here in the talk page? I'm guessing it's an issue with GNOME. wrycode (talk) 02:25, 8 April 2020 (UTC)Reply[reply]
Same issue here. I just applied this workaround: and it seems working. Rosseba (talk) 07:52, 10 May 2020 (UTC)Reply[reply]

New audio situation

This fix worked for me after audio broke again. And the headphone/speaker switch works automatically.

Eventually upstream should sort it out so that the only dirty hack required will be installing sof-firmware. —This unsigned comment is by Wrycode (talk) 02:16, 8 April 2020‎. Please sign your posts with ~~~~!

Looks like the latest update to kernel 5.6.3 solves most problems: everything is recognised without that hack, except microphone in gnome-settings (but it's there in pavuctl). If confirmed by you guys, we might be able to remove or at least edit that section a bit. Gdonval (talk) 13:18, 8 April 2020 (UTC)Reply[reply]
Confirmed, sorta. On linux 5.6.6, with pulseaudio or pulseaudio-git, and sof-firmware installed (and no tweaks to any configuration files anywhere) the speakers seem to work as well as headphone switching. Mic doesn't work and I can't verify for sure that the speakers are correctly configured (I thought there used to be more bass). wrycode (talk) 21:32, 23 April 2020 (UTC)Reply[reply]
External microphone (in my headphones) works, though, so I'm content to leave it and wait for builtin mic fix. Should we nuke the current audio section and add those forum instructions (but only for people who need an internal mic)? wrycode (talk) 21:39, 23 April 2020 (UTC)Reply[reply]
Upgrading to 5.6.3 also solved the switching problem for me. With the SOF "hack" everything works pretty well now. Does anyone know if there's a way do adjust the levels for the front and rear speakers independently with this setup though? They don't show up independent of each other in alsamixer anymore. Evamvid (talk) 07:03, 17 April 2020 (UTC)Reply[reply]
Alsa is providing 5 PGA entries that might (or might not) be what you are looking for. If Alsa doesn't see it, there is literally nothing Pulseaudio can do. Anyways, I think we'll have to wait for Pulseaudio 14 to get proper support. Gdonval (talk) 13:39, 19 April 2020 (UTC)Reply[reply]

I can now confirm that PulseAudio 13.99 (soon to be released as PulseAudio 14.0) works out of the box, without any tweak whatsoever, with SOF firmware on that laptop. Gdonval (talk) 14:26, 30 April 2020 (UTC)Reply[reply]

The situation is better with pulseaudio-git, but not yet perfect. The microphone now works but bass does not. Jck (talk) 20:47, 3 May 2020 (UTC)Reply[reply]
I was having issue with automute for the headset as well on pulseaudio-git. Hackerman (talk) 19:39, 11 May 2020 (UTC)Reply[reply]
I got it working (4ch bassy output and multichannel DMIC input) by using pulseaudio 13.99 from aur by pulseaudio-git or by heftig's nightlies repo, sof-firmware from official repo, applying this patch to the ucm2 profile and enabling this systemd unit. Every other audio fix from the past I have removed. Works great so far :) Bin101 (talk) 13:48, 18 June 2020 (UTC)Reply[reply]

The 4ch worked great with sof-firmware until a few days ago, around the time the 5.7 kernel and the sof-firmware 1.5.1 updates where published. Since then muting the speaker only to get the full 4 channels sound in alsamixer does not work anymore, muting all sound instead... Sound is horrible now. If someone has a fix it would be great to update the wiki, I couldn't isolate the problem by downgrading some packages. avrelaun (talk) 19:37, 19 June 2020 (UTC)Reply[reply]

Has anyone been able to get sound over HDMI or USB-C working with this kind of setup? I've got a new monitor, and tried the git version of pulseaudio, as well as the repo version with the tweaks from the wiki. Properlypurple (talk) 05:33, 29 August 2020 (UTC)Reply[reply]

With pulseaudio-git, the patch and the systemd unit, it works for me with USB-C but when I set the audio output to the laptop speakers it stays on the external monitor. Sadly I couldn't get everything working like it was before 5.7 to test. Epoxyc (talk) 01:08, 2 September 2020 (UTC)Reply[reply]
Looks like it works fine after removing all customizations, installing a new zen kernel, and following the Wiki instructions again. Thanks for checking. Properlypurple (talk) 07:30, 25 September 2020 (UTC)Reply[reply]

This new patch will most likely improve things Properlypurple (talk) 07:30, 25 September 2020 (UTC)Reply[reply]

Since the pulseaudio and sof-firmware updates from early October audio is working best without any customizations (e.g. the two lines in /etc/pulse/ LEDs, output and input are working fine out of the box. Mastercaution (talk) 17:56, 06 October 2020 (UTC)Reply[reply]

I can confirm that it works but I have one more problem, when plugged to a USB-C monitor with speakers, the output go to the monitor's speakers no matter the selected output (laptop's speakers or headphones) Epoxyc (talk) 02:04, 12 October 2020 (UTC)Reply[reply]

After having this problem for a long time, installing pavucontrol and switched the output from it once solved the problem, it works even in gnome-control-center now. Epoxyc (talk) 06:15, 22 October 2020 (UTC)Reply[reply]