Lenovo ThinkPad X1 Carbon (Gen 5)

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

Model description

Lenovo ThinkPad X1 Carbon, Gen 5.

To ensure you have this version, run dmidecode:

# dmidecode -t system | grep Version

Version: ThinkPad X1 Carbon 5th

Support

Device Working
Intel graphics Yes
Wireless network configuration#iwlwifi Yes
Native Ethernet with Dongle Yes
Mobile broadband Yes
ALSA Yes
Touchpad Yes
TrackPoint Yes
Camera Yes
Fingerprint Reader No
Power management Yes
Bluetooth Yes
microSD card reader Yes

Fingerprint Reader

The fingerprint reader included with this model `138a:0097 Validity Sensors, Inc` currently lacks a linux driver. Community discussion of this issue indicates that preliminary efforts to reverse engineer a driver have failed. Synaptics (which has acquired 'Validity Sensors') has unofficially said that they cannot disclose the protocol, but may possibly release a binary driver.

Configuration

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 by itself sends XF86WakeUp (wakes computer from sleep by default)

Display

There are two options for displays:

  • 14" FHD IPS (1920 x 1080): Works
  • 14" WQHD (2560 x 1440): ??

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 from the official repositories and appending the following line to your .xinitrc:

xinput set-prop "ImPS/2 Generic Wheel Mouse" "libinput Scroll Method Enabled" 0 0 1

Lenovo ThinkPad USB-C Dock

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)

It works nearly perfect out of the box with Kernel 4.10.13. The only thing that did not work is the r8152 based USB Ethernet Port, which gives the message:

[    7.574773] r8152 4-1.1:1.0 (unnamed net_device) (uninitialized): Unknown version 0x6010

Installing r8152-dkmsAUR fixes this (the DKMS module adds the version 0x6010 to the module).

Even hot plugging works: unplugging the dock while a display is connected just lets all the devices disappear. Replugging it later works, all the USB devices come back up automagically, thought you might need to issue a xrandr to get the display showing again (tested with Xorg based i3 setup).

Thunderbolt 3 Dock

The HP Thunderbolt 3 Dock is working out of the box.