Enable Fingerprint Reader in Ubuntu 22.04 for ThinkPad T480s

Last updated: February 7, 2024 — 1 Comment

This is a step by step guide shows how to enable fingerprint reader support for Lenovo ThinkPad T480/T480s, X1 Carbon 6th gen, X1 Yoga 3rd gen, X280, etc with 06cb:009a device in Ubuntu 22.04.

Ubuntu has fingerprint reader support out-of-the-box using libfprint, and provides option to enable fingerprint login in Users settings page. However, the library has a list of unsupported devices, including 06cb:009a that’s built-in in my used ThinkPad T480s laptop.

Thankfully, there’s a free open-source alternative python-validity that works in my case. Here’s how to install and set it up in Ubuntu 22.04, while Ubuntu 20.04 is also supported.

NOTE: This tutorial may also work in many other fingerprint readers, however, the project so far does NOT provide a page to list all supported devices.

Step 1: Tell Which Fingerprint Reader device do your laptop have

First of all, you may press Ctrl+Alt+T on keyboard to open up a terminal window.

Then run command to find out the device name of your fingerprint reader:

lsusb

In my case, it’s 06cb:009a.

Step 2: Install python3-validity driver

1. In a terminal window, first run command to uninstall the pre-installed libfprint driver:

sudo apt remove fprintd

2. Then, add the software developer’s PPA that contains the new driver packages:

sudo add-apt-repository ppa:uunicorn/open-fprintd

NOTE: The PPA so far supports Ubuntu 18.04, Ubuntu 20.04, and Ubuntu 22.04.
For Ubuntu 23.10 and Ubuntu 24.04, I’ve built the package into this unofficial PPA (without testing), run this command instead to add the PPA:

sudo add-apt-repository ppa:ubuntuhandbook1/open-fprintd

3. Finally, install the driver packages by running command:

sudo apt install open-fprintd fprintd-clients python3-validity

Linux Mint user needs to run sudo apt update first to refresh package cache after adding PPA.

Step 3: Enable python3-validity service

After installing the driver package, it should automatically start the service.

To verify, simply run command in terminal:

systemctl status python3-validity.service

If it’s not in active running status, try running commands below to enable & start the service:

systemctl enable python3-validity.service
systemctl start python3-validity.service

Step 4: Enroll your fingerprint

Next, run the command below in terminal:

fprintd-enroll

It outputs “Enrolling right-index-finger finger“, and the LED light is turning on.

Now, touch the fingerprint sensor repeatedly. As you press your finger on the fingerprint sensor and lift it, it outputs a line says either Enroll result: enroll-stage-passed or Enroll result: enroll-retry-scan. Do it repeatedly, until it outputs “enroll-completed”.

Step 5: Enable Fingerprint Authentication

If everything’s goes well, you can now run the single command below to manage PAM module:

sudo pam-auth-update

In next screen, use up/down arrow keys to choose “Fingerprint authentication”, then press space-bar to enable/disable it. Finally, press Tab to highlight OK and hit Enter.

After that, either lock screen then try using your fingerprint to un-lock. Or, run something or some commands that need user authentication, it will prompt you to “Place your finger on the fingerprint reader“.

In case fingerprint is not working after waking up from suspend, also run command to enable the service to automatically restart device after resume.

sudo systemctl enable open-fprintd-resume open-fprintd-suspend

Uninstall

So, if the driver does not work for your fingerprint reader, do following steps one by one to undo the changes.

  • First, open terminal (Ctrl+Alt+T) and run command to re-configure PAM:
    sudo pam-auth-update

    In the screen, disable fingerprint authentication then, hit Tab and enter.

  • Next, run command to uninstall the python3-validity driver:
    sudo apt remove --autoremove open-fprintd fprintd-clients python3-validity

    Also, remove the Ubuntu PPA by running command:

    sudo add-apt-repository --remove ppa:uunicorn/open-fprintd

If you want, you may install back the original fprintd driver via command:

sudo apt install fprintd

That’s all. Enjoy!

Twitter

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1

One response to Enable Fingerprint Reader in Ubuntu 22.04 for ThinkPad T480s

  1. Thank you, Ji. My 1st comment here.
    Your website is helpful and always with clear instructions. One of the best out there.

    I just to report that I’ve tried the instructions on my ThinkPad X1 Carbon 6th running Ubuntu Cinnamon 23.10.
    All worked as expected but then as you mentioned the driver is broken after resuming from sleep. The “sudo systemctl enable open-fprintd-resume open-fprintd-suspend” doesn’t seem to help for me.
    Also, when unresponsive, I have trouble manually entering the password.

Leave a Reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

*