Lenovo ThinkPad X1 Carbon (Gen 5)

This article or section does not follow the
Laptop page guidelines
.
Reason:
This page is missing a hardware and proper function keys table. It also has several style issues. It also potentiall duplicates other ThinkPad X1 Carbon articles (Discuss in
Talk:Lenovo ThinkPad X1 Carbon (Gen 5)
)
Hardware
PCI/USB ID
Working?
GPU
8086:5916
Yes
Wi-Fi
8086:24fd
Yes
Ethernet
8086:15d8
Yes
Mobile broadband
Yes
Audio
8086:9d71
Yes
Touchpad
Yes
TrackPoint
Yes
Webcam
13d3:5682
Yes
Fingerprint Reader
138a:0097
Partial
Bluetooth
8087:0a2b
Yes
microSD card reader
10ec:525a
Yes
Model description
Lenovo ThinkPad X1 Carbon, Gen 5.
To ensure you have this version,
install
the package
dmidecode
and run:
# dmidecode -t system | grep Version
Version: ThinkPad X1 Carbon 5th
TrackPoint
Lenovo uses several different trackpoint types in the 5th generation X1 Carbon. Only the standard ALPS variant has Linux support.
Fingerprint reader
See
Lenovo ThinkPad T460p#Fingerprint reader
; the X1 Carbon (Gen 5) and T460p use fingerprint readers with the same issue. See also
https://linux-hardware.org/?id=usb:138a-0097
.
Configuration
Function Key actions are "swapped"
If the action performed when pressing a Function Key is "swapped" (Example: Pressing F10 kills Bluetooth instead of sending F10), this can be reversed in BIOS.
Enter BIOS and change
Config > Keyboard/Mouse > F1-F12 as Primary Function
to "Enabled".
Keyboard Fn Shortcuts
Fn+4 sends XF86Sleep (puts computer to sleep by default)
Fn+S sends Alt_L+Sys_Req
Fn+P sends Pause
Fn+B sends Control_L+Break
Fn+K sends Scroll_Lock
Fn+Space toggles the keyboard backlight
Fn by itself sends XF86WakeUp (wakes computer from sleep by default)
Special buttons
See
Laptop/Lenovo#Special buttons
.
Display
There are two options for displays:
14" FHD IPS (1920 x 1080): Works
14" WQHD (2560 x 1440): Works
Backlight Control
I had issues with the thinkpad_acpi module in linux-4.12 and linux-4.13. When loaded no acpi events are generated for Fn+F5 and Fn+F6 keypress by default, because
kernel: thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
kernel: thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
kernel: thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
Setting the acpi_brightness=vendor kernel parameter helped but gave issues with brightness save/restore.  In linux-4.14 this issue is resolved.
TrackPoint Scrolling
TrackPoint Scrolling is working out of the box in GNOME and MATE.
In some WindowManagers, the TrackPoint middle-button scrolling can be enabled by
installing
the
xorg-xinput
package and appending the following line to your
.xinitrc
:
xinput set-prop "TPPS/2 ALPS TrackPoint" "libinput Scroll Method Enabled" 0 0 1
Lenovo ThinkPad Thunderbolt 3 Dockingstation
The USB-C Dock is a Thunderbolt 3 device. Plugging it in results in a whole lot of PCI entries:
06:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
3c:00.0 USB controller: Intel Corporation Device 15d4 (rev 02)
As of stock kernel 5.2.1, the dock is fully functional with appropriate kernel modules enabled. In particular, you must enable the
r8152
kernel module. See also the
Kernel module
article on how to enable
r8152
persistently. This driver allows the kernel to recognize the USB devices and ethernet port of the dock.
Finally, in order for the internal USB hub in the dock to work, you need to set Thunderbolt 3 security appropriately. To do this, use the
bolt
tool, which can be installed via
bolt
. Go to "Security level" under Thunderbolt settings in the BIOS, and set it to "Secure". After booting, attach the dock and (using the laptop's own keyboard) run
boltctl list
to find the UUID of your dock. Following that, run
boltctl enroll --policy=auto <uuid>
to give the dock permission to access the PCIe bus automatically whenever it is plugged in. You may need to reboot your system after this. This procedure is verified to work with the X1 Carbon Gen 5 and Lenovo's dock. It may or may not work with other docks.
Also remember to enable the "Support in pre boot environment" for USB peripherals connected to the dock to work at all.
HP Thunderbolt 3 Dock
The HP Thunderbolt 3 Dock is working out of the box with the insecure method described above. It is not known whether the secure method works with this dock.
Lenovo p27h-10 (USB Type C)
Charging while using the monitor via USB-Type-C is working but the dock functionality needs investigation (e.g. speakers, mouse, directly from the monitor).
BIOS
Downloads and instructions for updating the BIOS can be found in
[1]
.
In order to update the BIOS, you may either use a bootable ISO or the BIOS Update Utility for Linux. The update utility is only supported on UEFI BIOS version 1.34 or higher
[2]
.
ISO
The ISO files provided by Lenovo are only bootable from a CD or DVD, not from USB. So in order to create a bootable media, you either need an external (R/W) DVD or converting the ISO file so that it can be written to a USB.
DVD
Download the ISO file from
[3]
(and remember to validate its checksum).
Put a DVD in your external DVD writer, and locate what device it was assigned to (e.g., using
lsblk
). For this example, we assume that it is assigned to
/dev/sr0
.
Burn it to the DVD:
growisofs -Z /dev/sr0=n1mur23w.iso
Reboot, enter the device boot menu by pressing F12, and carfully follow the instructions on the screen.
USB
According to
Lenovo ThinkPad X1 Carbon (Gen 6)#Manual (El Torito)
, it is possible to create a bootable USB like so:
Download the ISO file
Install
geteltorito
AUR
Convert the ISO image:
geteltorito.pl -o bios-update.img n1mur23w.iso
Burn bios-update.img to a USB using
dd
Reboot and select the USB as boot device
Troubleshooting
Trackpoint/Trackpad not working
Several different trackpoints are used with the X1 Carbon Gen 5. There are at least three different trackpoints in use. You can identify them in
dmesg
as either LEN0071, LEN0072 or LEN0073.
There is a bug in Synaptics drivers that prevent both Trackpoint and Trackpad to function properly if Trackpoint is enabled at boot. This issue affects the Elantech trackpoint as well as one of the ALPS variants.
If you have the Elantech trackpoint, identified as LEN0073 you will see the following in your
dmesg
log.
kernel: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
kernel: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
kernel: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
kernel: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
kernel: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
kernel: psmouse serio1: issuing reconnect request
Add
psmouse.synaptics_intertouch=1
to your
kernel parameters
.
TrackPoint stops working after waking up from suspend
A workaround is to manually insert the elan_i2c module after waking up from suspend:
# modprobe elan_i2c
See this
bugticket
for details.
See also
https://www.thinkwiki.org/wiki/ThinkWiki