How to install finger print driver on lenovo X1 carbon on Ubuntu 16.04
Solution 1
The 138a:0097 Validity Sensors, Inc. is still being "reverse engineered" and not supported yet by the easy to install fingerprint
or others.
The following is a WIP (Work In Progress) by Nikita Mikhailov:
sudo apt install git libusb-1.0-0-dev libxv-dev
git clone https://github.com/nmikhailov/Validity90.git
cd Validity90/libfprint
./configure
make
make check
sudo make install
Additional information and discussions:
https://forums.lenovo.com/t5/Linux-Discussion/Validity-Fingerprint-Reader-Linux/td-p/3352145
https://bugs.freedesktop.org/show_bug.cgi?id=94536
Solution 2
Running Ubuntu 20.04 on 7th Gen X1 Carbon
An article posted here http://www.adamisrael.com/project/ubuntu-on-x1/ made me aware of the
fwupdmgr
After running
fwupdmgr get-updates
I could see that the driver for the fingerprint reader wasn't installed. In Adam's article he stated that the update manager didn't work but it is a few months old now.
Just run
fwupdmgr update
and it will install the necessary driver.
TLDR;
Run
fwupdmgr update
Solution 3
The only current software for the 138a:0097 is https://github.com/nmikhailov/Validity90/tree/master/prototype however there is no driver as of yet, so the WIP that krispy mentioned will not work to unlock your computer. There is just a prototype that can only scan and check the internal database, there is still no way to add fingerprints outside of Windows.
To further support development I suggest you follow the instructions at https://github.com/nmikhailov/Validity90/blob/master/prototype/README.md and create a new issue on GitHub with the output of the prototype.
sudo apt-get install make gcc libgcrypt-dev libglib2.0-dev libnss3-dev libusb-1.0-0-dev libssl-dev libpng-dev libgnutls28-dev
make
./prototype
And copy the output to https://github.com/nmikhailov/Validity90/issues/new with the title "Prototype output for Thinkpad X1 Carbon 5th Generation (138a:0097)"
Solution 4
You may try to use the work by @uunicorn (https://github.com/uunicorn/python-validity). It works for my Ubuntu 20.04.1.
$ sudo apt remove fprintd
$ sudo add-apt-repository ppa:uunicorn/open-fprintd
$ sudo apt-get update
$ sudo apt install open-fprintd fprintd-clients python3-validity
$ fprintd-enroll
If the last command prompt an error list_devices failed:
, do
sudo systemctl status python3-validity
to check the status of the service and try to reset the device: (require closing all processes occupying the device, e.g. ̍Users̍ settings/fingerprint enrolling on Ubuntu 20.04.1)
sudo systemctl stop python3-validity
sudo validity-sensors-firmware
sudo python3 /usr/share/python-validity/playground/factory-reset.py
sudo systemctl start python3-validity
fprintd-enroll
You should be able to enroll your fingerprints on the command line.
Now if you are using Ubuntu 20, try to go to the Users
settings and there should be
an option Fingerprint Login
under Authentication & Login
.
(You may have to first enable fingerprint authentication in pam-auth-update
: do
sudo pam-auth-update
- Select the line
Fingerprint authentication
, press spacebar to enable - Select
Ok
to confirm the changes)
Related videos on Youtube
Kasun Siyambalapitiya
BSc(Special) in Computing and Information Systems at Sabaragamuwa University of Sri Lanka
Updated on September 18, 2022Comments
-
Kasun Siyambalapitiya over 1 year
I need to install the finger print driver of my X1 carbon 5th gen on Ubuntu 16.04. Where can I find drivers for Linux distributions?
Here are the outputs of
lspci
kasun@kasun-ThinkPad-X1-Carbon-5th:~$ lspci 00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02) 00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02) 00:08.0 System peripheral: Intel Corporation Sky Lake Gaussian Mixture Model 00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21) 00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21) 00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1) 00:1c.2 PCI bridge: Intel Corporation Device 9d12 (rev f1) 00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port (rev f1) 00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Device 9d4e (rev 21) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) 00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21) 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-LM (rev 21) 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01) 04:00.0 Network controller: Intel Corporation Device 24fd (rev 88) 05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804 kasun@kasun-ThinkPad-X1-Carbon-5th:~$
and the
lsusb
outputkasun@kasun-ThinkPad-X1-Carbon-5th:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 138a:0097 Validity Sensors, Inc. Bus 001 Device 003: ID 13d3:5682 IMC Networks Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub kasun@kasun-ThinkPad-X1-Carbon-5th:~$
-
Kasun Siyambalapitiya almost 6 yearsHi all, did anyone got it working with X1 Carbon?
-
Bashar Al-Abdulhadi almost 6 yearsdoesn't work for my X1 Yoga using Bus 001 Device 004: ID 138a:0090 Validity Sensors, Inc. too
-
Bashar Al-Abdulhadi almost 6 yearsactually github.com/hrenod/libfprint worked for me on the ThinkPad X1 Yoga!
-
Michael Scheper over 5 yearsThe ticket seems to have moved here now gitlab.freedesktop.org/libfprint/libfprint/issues/54 but it looks like they need somebody to verify it's working for 138a:0097. I have one of those on my Lenovo P51, but I don't know how to install the fix to test it. I'm currently waiting for my registration at their GitLab site to be confirmed, so I can ask. But in the meantime, can anybody here tell me how?
-
CpILL over 3 yearstried this but i'm not
fprint-list
is not seeing my device :(