Lenovo ThinkPad X1 Carbon

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Needs a hardware table and a function keys section (Discuss in Talk:Lenovo ThinkPad X1 Carbon)

Lenovo ThinkPad X1 Carbon (X1C). There is also a touch version. Comes without optical drive. Has UEFI BIOS with BIOS-legacy fallback mode.

Note: This article is about the 1st generation model introduced in 2012. For more recent generations, see the related articles.
Tip: A great resource for thinkpads is https://www.thinkwiki.org/wiki/ThinkWiki

Booting

Legacy-BIOS

Boot into your BIOS and change the boot mode to Legacy. Then simply follow the normal installation guide.

Hanging on "HWP enabled" message

This is due to a bug introduced in Linux 4.4. To work around it, add intel_pstate=no_hwp to your kernel parameters.

Hardware

Almost everything works out of the box.

Audio

Sound works out of the box.

Xbindkeys

For alternative window managers (Fluxbox, etc..), try installing xbindkeys and adding the following to ~/.xbindkeysrc:

"amixer -c 0 set Master 1dB-"
  XF86AudioLowerVolume
"amixer -c 0 set Master 1dB+"
  XF86AudioRaiseVolume

Network

Wired networking works out of the box with the Ethernet to USB adapter. Wireless works out of the box using the iwlwifi module.

$ lspci
output: Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 96)

Touchscreen

Works out of the box. To enable multi-touch, install Touchegg.

Video

The video card installed is Intel HD Graphics 4000. See intel for more info.

Brightness control

Default brightness adjustment keys work but need to be pressed multiple times to increase/decrease the screen brightness. Use either the #Xbindkeys_2 or #ACPI methods to fix this.

Some desktop environments may lack granularity while changing brightness. This is due to the DE (e.g. gnome-settings-daemon) along with the internal graphics module changing the brightness when brightness adjustment keys are pressed causing multiple steps per press. To work around this add the kernel parameter video.brightness_switch_enabled=0.

Xbindkeys

Install xbindkeys and append the following to ~/.xbindkeysrc:

"xbacklight -dec 5"
  XF86MonBrightnessDown
"xbacklight -inc 5"
  XF86MonBrightnessUp
ACPI

Writing custom ACPI handlers for the brightness adjustment keys seems to have no effect. In order to use them properly you need to add the kernel parameter acpi_osi="!Windows 2012". See also Backlight#ACPI. Note that the ACPI backlight is disabled by default on Windows 8 hardware with a native backlight. Consider using the #Xbindkeys approach instead.

Wrong EDID for external display

With certain connectors (e.g. MiniDP to VGA), there is a bug getting EDID for the external screen while booting:

[ 93.736330] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up

This does not occur if the external screen is connected after booting.

The correct mode can be added per xrandr#Adding undetected resolutions:

xrandr --newmode 1920x1200_60 154 1920 1968 2000 2080 1200 1203 1209 1235 -hsync +vsync
xrandr --addmode DP1 1920x1200_60
xrandr --output DP1 --mode 1920x1200_60

KMS

Enable KMS using the i915 module and by enabling VT in BIOS.

Webcam

Works out of the box. Tested with guvcview

Fingerprint Reader

Works out of the box with Fprint.

For a GUI fingerprint-guiAUR from the AUR is already patched to work with the X1's newer fingerprint reader. To get the gui's dropdown to recognize your device, you will have to add your user to the plugdev group:

$ gpasswd -a <username> plugdev

See fingerprint-gui for more information about config


lsusb output: 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)

WWAN (Mobile broadband)

This model includes a Ericsson H5321gw adapter that can be used as a mobile broadband adapter and GPS.

The SIM-card must be inserted in the back of the laptop.

Add text to the following file and reboot

/etc/modprobe.d/avoid-mbib.conf
options cdc_ncm prefer_mbim=N

Tested OK with NetworkManager with modemmanager installed


lsusb output: 0bdb:1926 Ericsson Business Mobile Networks BV

GPS

Install gpsd and mbm-gpsd-gitAUR. Add this to the following file

/etc/udev/rules.d/99-mbm.rules
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{MBM_CAPABILITY}="gps_ctrl"

Reboot to reload udev rules.

Run

# mbm-gpsd

See if there is GPS-output

$ cat /dev/gps0

Run

# gpsd -b -N /dev/gps0

To test it

$ xgps

Or use e.g. foxtrotgpsAUR in AUR.

See this link for more info.


lsusb output: 0bdb:1926 Ericsson Business Mobile Networks BV

Keyboard backlight

Works out of the box. Use FN+Space

Bluetooth

First try to set up Bluetooth normally. If you get kernel error messages:

kernel: bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e6.hcd failed with error -2
kernel: Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e6.hcd not found 

You need to manually install the proprietary firmware. The slackware wiki describes one way to do this: https://www.slackwiki.com/Btfirmware-nonfree.

Mouse/Touchpad

Works out of the box. See TrackPoint for additional details.

Docking

This model has no docking port.

Video for USB 3 Docking Stations currently is not supported, so you must use a USB Port Replicator with Digital Video (USB 2.0)

This supports:

  • USB-devices connected to dock
  • Audio
  • Microphone
  • Ethernet
  • Video (see DisplayLink)