These are the steps I used to get the fingerprint sensor on the Lenovo Thinkpad X1 Carbon (2014 2nd generation) to work on Ubuntu Linux 14.04 Trusty Tahr 64-bit. After googling through many articles, this is the one that solved it for me: http://thinkpadmint.blogspot.com/2014/02/getting-t440s-validity-vfs5011.html Thank you!
The X1 Carbon has a Validity Sensors 138a:0017 sensor. As of this writing, this sensor is not officially supported by libfprint, but you can compile a driver.
See what sensor you have
$ lsusb Bus 001 Device 003: ID 04ca:7036 Lite-On Technology Corp. Bus 001 Device 002: ID 8087:8000 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 003: ID 8087:07dc Intel Corp. Bus 002 Device 002: ID 138a:0017 Validity Sensors, Inc. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Install dependencies
$ sudo apt-get install libmagickcore-dev $ sudo apt-get install libusb-1.0.0-dev libnss3-dev libglib2.0-dev $ sudo apt-get install libxv-dev $ sudo apt-get install libtool $ sudo apt-get install fprintd $ sudo apt-get install automake
Compile the driver
- Download tarball from https://github.com/abbradar/fprint_vfs5011/tree/faa090818200ca3ea6bfac8bb510e5e01a246c34
- Unzip, autogen, configure, make, install
$ cd ~/Downloads $ unzip fprint_vfs5011-faa090818200ca3ea6bfac8bb510e5e01a246c34.zip $ cd fprint_vfs5011-faa090818200ca3ea6bfac8bb510e5e01a246c34 $ ./autogen.sh $ ./configure $ make $ sudo make install
- Copy file
$ sudo cp /lib/udev/rules.d/40-libfprint0.rules /etc/udev/rules.d/
- Add a section to the file
$ sudo vi /etc/udev/rules.d/40-libfprint0.rules
# Validity VFS5011 SUBSYSTEM=="usb", ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0017", ATTRS{dev}=="*", ATTR{power/control}="auto", MODE="0664", GROUP="plugdev"
Install the fingerprint GUI
$ sudo apt-add-repository ppa:fingerprint/fingerprint-gui $ sudo apt-get update $ sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui
Run the fingerprint GUI and enroll a finger
$ fingerprint-gui
Other links
- http://zecheru.com/thinkpad-fingerprint-ubuntu-14-04/
- https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_%28Gen_2%29#Fingerprint_Reader
- http://askubuntu.com/questions/442838/fingerprint-reader-driver-for-validity-sensors-fingerprint-scanner
- https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1382165
- http://thinkpadmint.blogspot.com/2014/02/getting-t440s-validity-vfs5011.html
- https://github.com/abbradar/fprint_vfs5011
- https://github.com/ars3niy/fprint_vfs5011/issues/4