Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save appelgriebsch/b88105ac18673ab37a09675a2303f2a8 to your computer and use it in GitHub Desktop.
Save appelgriebsch/b88105ac18673ab37a09675a2303f2a8 to your computer and use it in GitHub Desktop.
ThinkPad T480 fingerprint reader on Fedora Linux

ThinkPad T480 fingerprint reader on Fedora Linux

Background

The Synaptics fingerprint sensor (06cb:009a) present on my T480 is not supported by libfprint and fprintd as it requires a non-free binary blob. uunicorn created open-fprintd, a replacement for fprintd, that allows for loading of binary blobs. In conjunction with their python-validity driver we are able to make use of the inbuilt fingerprint reader. The following instructions were tested against Fedora Linux 35.

Installing open-fprintd and python-validity

sudo dnf copr enable tigro/python-validity
sudo dnf install open-fprintd fprintd-clients fprintd-clients-pam python3-validity

Prepare the fingerprint reader

sudo touch /usr/share/python-validity/backoff
sudo touch /usr/share/python-validity/calib-data.bin
sudo validity-sensors-firmware
sudo python3 /usr/share/python-validity/playground/factory-reset.py
sudo chmod 0755 /usr/share/python-validity/6_07f_lenovo_mis_qm.xpfwext

Enable services

sudo systemctl enable python3-validity open-fprintd-resume open-fprintd-suspend
sudo systemctl start python3-validity

Enroll and test fingerprint

fprintd-enroll
fprintd-verify

Enable authentication with fingerprint

sudo authselect current
sudo authselect enable-feature with-fingerprint
sudo authselect apply-changes
@appelgriebsch
Copy link
Author

ok sorry for spamming but happy news! i've managed to make it work! tada

all you have to do is:

sudo touch /usr/share/python-validity/backoff
sudo touch /usr/share/python-validity/calib-data.bin

now you have to follow the instructions here: https://github.com/uunicorn/python-validity#error-situations and then:

cd /usr/share/python-validity && ls -la

find driver file. in my case there is driver named: 6_07f_lenovo_mis_qm.xpfwext so:

sudo chmod 755 6_07f_lenovo_mis_qm.xpfwext

and the best part: i had to repeat these steps few times and in the end i've managed to enroll my finder v

best wishes!

@appelgriebsch
Copy link
Author

appelgriebsch commented Nov 27, 2022

I had the exact same problem on Fedora 36 (was working fine on 35), I managed to fix it changing "/usr/lib/systemd/system/open-fprintd-resume.service" to this:

[Unit]
Description=Restart devices after resume
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Service]
Type=oneshot
ExecStart=systemctl restart open-fprintd.service python3-validity.service

[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

Here's the thread where I found the solution: uunicorn/python-validity#106

@fabtjar
Copy link

fabtjar commented Mar 31, 2023

Works for me on Fedora 37! Thanks very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment