Difference between revisions of "Lenovo ThinkPad X1 Carbon"

From ArchWiki
Jump to: navigation, search
(Fingerprint Reader)
Line 57: Line 57:
Almost everything works out of the box.
Almost everything works out of the box.
=== Wireless ===
Works out of the box.
=== Touchscreen ===
=== Touchscreen ===

Revision as of 21:40, 18 June 2013

Model description

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


This procedure is far less involved then UEFI and works perfectly.

In order to turn off UEFI booting you will need to boot into your BIOS and change the boot mode to Legacy. Afterward, follow the Beginner's Guide for standard installation instructions.


See https://bbs.archlinux.org/viewtopic.php?pid=1288500#p1288500

1. You follow the guide from here and skip the part about errors and refind: Create_UEFI_bootable_USB_from_ISO

2. Make sure you USB is mounted to /boot/efi and install grub, like so:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/ --recheck --debug

OBS: You can remove the entry from your EFI bootmanger, with efibootmgr by issuing:

efibootmgr -b XX -B

3. Now you can choose if you wanna hack you grub.cfg or use the custom config in grub.d. Either way generate the grub.cf:

grub-mkconfig -o /boot/efi/grub/grub.cfg

4. Make certain appropriate changes have been made to grub.cfg. My working example, which could use cleaning:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux test'  {
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1  B35D-FE34
	  search --no-floppy --fs-uuid --set=root B35D-FE34
	echo	'Loading Linux core repo kernel ...'
	linux	/arch/boot/x86_64/vmlinuz root=UUID=B35D-FE34 ro  archisobasedir=arch archisolabel=ARCH_201306
	echo	'Loading initial ramdisk ...'
	initrd	/arch/boot/x86_64/archiso.img

### END /etc/grub.d/10_linux ###

5. Move the grub.efi to overwrite the archiso supplied one (which btw works on my desktop. I guess GRUB includes more workarounds for buggy firmware from manufactureres. See this video, if you have time: http://mjg59.dreamwidth.org/10014.html

$ sudo mv /boot/efi/EFI/arch_grub/grubx64.efi /mnt/efi/EFI/boot/bootx64.efi


Almost everything works out of the box.


Works out of the box.


Works out of the box. Have not looked for possibilities to configure multi-touch.


The video card installed is Intel HD Graphics 4000

Install xf86-video-intel drivers.

To use SNA acceleration method add this in /etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        Option "AccelMethod" "sna"


Get KMS working by adding i915 to the modules line in /etc/mkinitcpio.conf


Also enable VT in BIOS


Works out of the box. Tested with guvcview

Fingerprint Reader


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

fingerprint-gui 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'll have to add your user to the plugdev group:

# gpasswd -a <username> plugdev

See fingerprint-gui for more information about config

WWAN (Mobile broadband)


0bdb:1926 Ericsson Business Mobile Networks BV

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 the following in /etc/modprobe.d/avoid-mbib.conf and reboot

options cdc_ncm prefer_mbim=N

Tested OK with networkmanager with modemmanager installed


Install gpsd from extra and mbm-gpsd-git from AUR. Edit /etc/udev/rules.d/99-mbm.rules and add

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"

To reload udev-rules reboot

Run mbm-gpsd

sudo mbm-gpsd

See if theres GPS-output

cat /dev/gps0

Run gpsd

sudo gpsd -b -N /dev/gps0

To test it


Or use for example foxtrotgps in AUR.

Keyboard backlight

Works out of the box. Use FN+Space