Lenovo ThinkPad X1 Carbon (Gen 7) - ArchWiki

# Lenovo ThinkPad X1 Carbon (Gen 7)

From ArchWiki
Jump to navigation Jump to search

Related articles

- Lenovo ThinkPad X1 Carbon
- Lenovo ThinkPad X1 Carbon (Gen 2)
- Lenovo ThinkPad X1 Carbon (Gen 3)
- Lenovo ThinkPad X1 Carbon (Gen 4)
- Lenovo ThinkPad X1 Carbon (Gen 5)
- Lenovo ThinkPad X1 Carbon (Gen 6)
- Lenovo ThinkPad X1 Yoga (Gen 3)
- Lenovo ThinkPad X1 Yoga (Gen 4)

Tip: A great resource for thinkpads is https://www.thinkwiki.org/wiki/ThinkWiki

The Lenovo ThinkPad X1 Carbon, 7th generation is an ultrabook introduced in early 2019. It features a 14" screen, 8th-gen or 10th-gen Intel Core processors and integrated Intel UHD 620 graphics.

To ensure you have this version, install the package dmidecode and run:

    # dmidecode -s system-version
    ThinkPad X1 Carbon 7th

Device | Working | Modules
Intel graphics | Yes | i915, (intel_agp)
Wireless network | Yes | iwlmvm
Native Ethernet with dongle | Yes | ?
Mobile broadband Fibocom | Yes¹ | ?
Audio | Yes | snd_hda_intel
Microphone | Yes⁴ | snd_sof
Touchpad | Yes | psmouse, rmi_smbus, i2c_i801
TrackPoint | Yes | psmouse, rmi_smbus, i2c_i801
Camera | Yes | uvcvideo
Fingerprint reader | Yes² | ?
Power management | Yes³ | ?
Bluetooth | Yes | btusb
Keyboard backlight | Yes | thinkpad_acpi
Function/Multimedia keys | Yes | ?
The Fibocom LTE module has Linux support once switched to USB mode; see [1] and [2] An official driver and a reverse engineered driver are in the works [3] (06cb:00bd). S3 suspend requires changes to BIOS settings, see section on #Sleep/Suspend. The internal microphone doesn't work on versions of the linux kernel before 5.3. On version 5.3 and newer the SOF firmware can be enabled, see Talk#Microphone.

## BIOS

Warning: There are reports that enrolling custom Secure Boot keys may brick this machine because of firmware bugs.

The most convenient way to install Arch Linux is by disabling "Secure Boot" `Security -> Secure Boot - Set to "Disabled"`. However it is possible to self-sign your kernel and boot with it enabled. For further information have a look at the Secure Boot article.

In case your `efivars` are not properly set it is most likely due to you not being booted into UEFI. Should the problem persist be sure to consult the UEFI#UEFI variables section.

### Updates

#### Automatic (Linux Vendor Firmware Service)

In August of 2018 Lenovo has joined the Linux Vendor Firmware Service (LVFS) project, which enables firmware updates from within the OS. BIOS updates (and possibly other firmware such as the Thunderbolt controller) can be queried for and installed through fwupd.

#### Manual (fwupdmgr)

Lenovo may in the future provide cabinet files that can be directly installed with fwupdmgr. Check for Linux `.cab` files from the Lenovo ThinkPad X1 Carbon (Gen 7) driver website.

1. Make sure the AC adapter is firmly connected to the target computer.
2. Launch Terminal.
3. Move to the directory where the cabinet file was placed.
4. Run `fwupdmgr install xxxxxxxx.cab` to schedule firmware update.
5. Restart the system.
6. The computer will be restarted and the UEFI BIOS will be updated.

### Sleep/Suspend

The BIOS has two "Sleep State" options, Windows and Linux, which you can find in at `Config -> Power -> Sleep State`. The Linux option is the traditional S3 power state where all hardware components are turned off except for the RAM, and it should work normally. The Windows option is a newer software-based "modern standby" which works on Linux (despite the name). One possible benefit to the Windows sleep state is faster wake up time, and one possible drawback is increased power usage.

### S3 Suspend Bug with Bluetooth Devices

Occasionally your Thinkpad will wake up immediately after suspending with certain bluetooth devices added. To prevent this, remove the devices or disable bluetooth before suspending.

### BIOS configurations

- `Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled"`. When disabled, on Linux, power usage appears to be significantly higher because of a substantial number of CPU wakeups during s2idle.

Tip: You may need to disable Kernel DMA protection in `Security -> Virtualization -> Kernel DMA Protection - Set to "Disabled"`

## Firmware issues

The following issues can all be resolved by upgrading the firmware with fwupdmgr (see #BIOS Updates), but there may be alternative manual/temporary fixes.

### Touchpad issues

Due to a bug in a touchpad firmware, the touchpad might not work with following logs in dmesg:

    [    4.499490] i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration
    [...]
    [   12.668795] i2c_hid i2c-SYNA8005:00: failed to set a report to device.
    [   13.678765] i2c_designware i2c_designware.1: controller timed out

### Freeze when suspending

There are reports of the system freezing after initiating a suspend or hibernate. A temporary fix is to add `snd_hda_intel.dmic_detect=0` to your kernel parameters. see [4]

### Power management/Throttling issues

A bug causes the CPU to consume less power than under Windows and throttle at 80°C instead of 97°.

Lenovo has confirmed the issue, explained the cause and published updates for the embedded controller and the BIOS to LVFS .

The alternative fix is to install throttled, then run

    sudo systemctl enable --now lenovo_fix.service

## Audio

Note: The 4-channel audio and microphone work out-of-the-box as of 5.6.7-arch1-1 using SOF Firmware and the latest git version of PulseAudio (version 13.99, soon-to-be released as 14). You can install that version using pulseaudio-gitAUR). For the released version of PulseAudio (13 and older), please use the indications below.

To get it working with PulseAudio 13 and older, follow those steps:

1. Install `sof-firmware` (tested with 1.4.2-1)

2. Configure PulseAudio's to load Alsa modules with the correct `device` and `channel` settings, by adding these two 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,6 channels=4

Note that Alsa card numbers can change when adding more audio devices (like, connecting a USB headset or a docking station). To ensure that index '0' always maps to internal audio, add `snd slots=snd_soc_skl_hda_dsp` to your module loading options.

3. Reboot, then use `alsamixer` to increase the "master" channel level of the `sof-hda-dsp` sound card (use the `<F6>` key to switch cards). If you do not see `sof-hda-dsp` in `alsamixer`, you may need to add `blacklist snd_hda_intel` and `blacklist snd_soc_skl` to `/etc/modprobe.d/blacklist.conf` and reboot again.

4. If the output sounds tinny, try muting the "speaker" item in alsamixer.

## Fingerprint sensor

An official Lenovo testing firmware with Linux support is avaible, in lvfs-testing. You'll need to install fwupd to update the Synaptics Prometheus driver for the fingerprint sensor.

It is important to ensure you are running “FW version 10.01.3022383” or later. You can check this using `fwupdmgr get-devices` as the root user.

You have to update it with the lvfs-testing remote:

    # fwupdmgr enable-remote lvfs-testing
    # fwupdmgr get-devices
    # fwupdmgr refresh
    # fwupdmgr get-updates

Prometheus Fingerprint Reader Device Update:

       New Version:    10.02.3110269
       New features and enhancements:   Support Linux system

    # fwupdmgr update
    # fwupdmgr disable-remote lvfs-testing

To use the finger print sensor follow the instructions from Fprint.

## Disabling red LED in ThinkPad logo

You can temporarily disable the red LED in the ThinkPad logo on the cover:

1. Enable writing to the embedded controller registers by adding the kernel parameter `ec_sys.write_support=1`. If you use UEFI boot, you can add this parameter in `/boot/efi/loader/entries/arch.conf` under "options".

2. Disable the LED with this command:

    # echo -n -e "\x0a" | sudo dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null

This would need to be run after each suspend/reboot to be permanent.

## Additional resources

- ThinkWiki X1 Carbon 7th Gen page[dead link 2020-03-29 ⓘ]
- Dell XPS 13 9370 quirks: Some pointers on getting Watt usage down to ~2W, Intel video powersaving features might be interesting, see also the Intel graphics page for interesting power-saving options.
- Intel Blog: Best practice to debug Linux* suspend/hibernate issues, including the pm-graph tool to analyze power usage during suspend
- How to fix volume control (ALSA problem) This is where the volume fix came from originally.
- Windows System Power States
- System Power Management Sleep States at kernel.org

Category:

- Lenovo

Hidden category:

- Pages with dead links