Difference between revisions of "Lenovo ThinkPad X1 Carbon"

From ArchWiki
Jump to: navigation, search
(Fingerprint Reader)
(Model description)
(27 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
There is also a touch version. Comes without optical drive.  
 
There is also a touch version. Comes without optical drive.  
 
Has UEFI BIOS with BIOS-legacy fallback mode.
 
Has UEFI BIOS with BIOS-legacy fallback mode.
 +
 +
{{tip| A great resource for thinkpads is
 +
http://www.thinkwiki.org/wiki/ThinkWiki}}
  
 
=== Legacy-BIOS ===
 
=== Legacy-BIOS ===
Line 19: Line 22:
  
 
2. Make sure you USB is mounted to /boot/efi and install grub, like so:
 
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
+
  $ 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:
 
OBS: You can remove the entry from your EFI bootmanger, with efibootmgr by issuing:
  efibootmgr -b XX -B
+
  $ 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:
 
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
+
  $ 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:
 
4. Make certain appropriate changes have been made to grub.cfg. My working example, which could use cleaning:
Line 57: Line 60:
  
 
Almost everything works out of the box.
 
Almost everything works out of the box.
 +
 +
=== Audio ===
 +
Sound works out of the box.
 +
 +
=== Network ===
 +
 +
==== Wired ====
 +
 +
==== Wireless ====
 +
Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 96)
 +
 +
Works out of the box. Uses the following module
 +
* iwlwifi
  
 
=== Touchscreen ===
 
=== Touchscreen ===
  
 
Works out of the box.
 
Works out of the box.
Have not looked for possibilities to configure multi-touch.
+
Haven't looked for possibilities to configure multi-touch.
  
 
=== Video ===
 
=== Video ===
Line 67: Line 83:
 
The video card installed is Intel HD Graphics 4000
 
The video card installed is Intel HD Graphics 4000
  
Install xf86-video-intel drivers.
+
Install the video driver with {{ic|pacman -S xf86-video-intel}}
  
To use [[Intel Graphics#Tips_and_tricks|SNA acceleration method]] add this in '''/etc/X11/xorg.conf.d/20-intel.conf'''
+
To use [[Intel Graphics#Tips_and_tricks|SNA acceleration method]] add  
Section "Device"
+
 
        Identifier "Intel Graphics"
+
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<nowiki>
        Driver "intel"
+
Section "Device"
        Option "AccelMethod" "sna"
+
        Identifier "Intel Graphics"
EndSection
+
        Driver "intel"
 +
        Option "AccelMethod" "sna"
 +
EndSection
 +
</nowiki>}}
  
 
=== KMS ===
 
=== KMS ===
Get [[KMS]] working by adding i915 to the modules line in '''/etc/mkinitcpio.conf'''
+
Get [[KMS]] working by adding i915 to the modules line  
MODULES="i915"
+
{{hc|/etc/mkinitcpio.conf|<nowiki>MODULES="i915"</nowiki>}}
 +
 
 +
{{ic|mkinitcpio -p linux}}
  
 
Also enable VT in BIOS
 
Also enable VT in BIOS
Line 87: Line 108:
 
=== Fingerprint Reader ===
 
=== Fingerprint Reader ===
  
'''lspci'''
+
147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)
  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 {{ic|plugdev}} group:
 
[[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 {{ic|plugdev}} group:
  
{{bc|# gpasswd -a <username> plugdev}}
+
{{ic|gpasswd -a <username> plugdev}}
  
 
See [[fingerprint-gui]] for more information about config
 
See [[fingerprint-gui]] for more information about config
Line 97: Line 118:
 
=== WWAN (Mobile broadband) ===
 
=== WWAN (Mobile broadband) ===
  
'''lspci'''
+
0bdb:1926 Ericsson Business Mobile Networks BV
0bdb:1926 Ericsson Business Mobile Networks BV
+
  
 
This model includes a [http://www.thinkwiki.org/wiki/Ericsson_H5321_gw_Mobile_Broadband_Module Ericsson H5321gw] adapter that can be used as a mobile broadband adapter and GPS.
 
This model includes a [http://www.thinkwiki.org/wiki/Ericsson_H5321_gw_Mobile_Broadband_Module Ericsson H5321gw] adapter that can be used as a mobile broadband adapter and GPS.
Line 104: Line 124:
 
The SIM-card must be inserted in the back of the laptop.
 
The SIM-card must be inserted in the back of the laptop.
  
Add the following in '''/etc/modprobe.d/avoid-mbib.conf''' and reboot
+
Add text to the following file and reboot
options cdc_ncm prefer_mbim=N
+
 
 +
{{hc|/etc/modprobe.d/avoid-mbib.conf|<nowiki>options cdc_ncm prefer_mbim=N</nowiki>}}
 +
  
 
Tested OK with [[networkmanager]] with [[modemmanager]] installed
 
Tested OK with [[networkmanager]] with [[modemmanager]] installed
Line 112: Line 134:
  
 
Install gpsd from extra and mbm-gpsd-git from AUR.
 
Install gpsd from extra and mbm-gpsd-git from AUR.
Edit '''/etc/udev/rules.d/99-mbm.rules''' and add
+
Add this to the following file
 
+
{{hc|/etc/udev/rules.d/99-mbm.rules|<nowiki>
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}=="09", ENV{MBM_CAPABILITY}="gps_nmea"
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{MBM_CAPABILITY}="gps_ctrl"
+
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1926", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{MBM_CAPABILITY}="gps_ctrl"
 +
</nowiki>}}
  
To reload udev-rules reboot
+
Reboot to reload udev rules.
  
Run mbm-gpsd
+
Run {{ic|sudo mbm-gpsd}}
sudo mbm-gpsd
+
  
See if theres GPS-output
+
See if there's GPS-output
cat /dev/gps0
+
{{ic|cat /dev/gps0}}
  
Run gpsd
+
Run {{ic|sudo gpsd -b -N /dev/gps0}}
sudo gpsd -b -N /dev/gps0
+
  
To test it
+
To test it {{ic|xgps}}
xgps
+
  
 
Or use for example foxtrotgps in AUR.
 
Or use for example foxtrotgps in AUR.

Revision as of 22:15, 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.

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

Legacy-BIOS

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.

UEFI

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:

/etc/grub.d/10_linux
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux test'  {
	load_video
	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
	else
	  search --no-floppy --fs-uuid --set=root B35D-FE34
	fi
	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

Hardware

Almost everything works out of the box.

Audio

Sound works out of the box.

Network

Wired

Wireless

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

Works out of the box. Uses the following module

  • iwlwifi

Touchscreen

Works out of the box. Haven't looked for possibilities to configure multi-touch.

Video

The video card installed is Intel HD Graphics 4000

Install the video driver with pacman -S xf86-video-intel

To use SNA acceleration method add

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        Option "AccelMethod" "sna"
EndSection

KMS

Get KMS working by adding i915 to the modules line

/etc/mkinitcpio.conf
MODULES="i915"

mkinitcpio -p linux

Also enable VT in BIOS

Webcam

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 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

GPS

Install gpsd from extra and mbm-gpsd-git from AUR. 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 sudo mbm-gpsd

See if there's GPS-output cat /dev/gps0

Run sudo gpsd -b -N /dev/gps0

To test it xgps

Or use for example foxtrotgps in AUR.

Keyboard backlight

Works out of the box. Use FN+Space