Skip to content

Instantly share code, notes, and snippets.

@borcean
Last active June 4, 2025 12:43
Show Gist options
  • Save borcean/f32c47f6cc52cee33dfc2265ce63f777 to your computer and use it in GitHub Desktop.
Save borcean/f32c47f6cc52cee33dfc2265ce63f777 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
@AQSAMA
Copy link

AQSAMA commented Aug 1, 2024

I used them but got this error: chmod: cannot access '/usr/share/python-validity/6_07f_lenovo_mis_qm.xpfwext': No such file or directory

And after this command: sudo chmod 0755 /usr/share/python-validity/6_07f_lenovo_mis_qm.xpfwext

@Stredoslovak
Copy link

Stredoslovak commented Nov 5, 2024

Hello, I am trying to get the Fingerprint reader on my T480s getting to work, as I am following the provided guide, I am facing some interesting errors and I was wondering if anyone would be able to help me.

$ sudo python3 /usr/share/python-validity/playground/factory-reset.py
Traceback (most recent call last):
  File "/usr/share/python-validity/playground/factory-reset.py", line 6, in <module>
    factory_reset()
    ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/validitysensor/sensor.py", line 87, in factory_reset
    assert_status(usb.cmd(b'\x10' + b'\0' * 0x61))
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/validitysensor/util.py", line 12, in assert_status
    raise Exception('Failed: %04x' % s)
Exception: Failed: 0404

This over here I am not able to fix by any means. Can somebody please explain me what is going on?

OS: Fedora Workstation 41

@kavemang
Copy link

kavemang commented May 1, 2025

@Stredoslovak this was working in Fedora 40 but no longer works in Fedora 41 and 42 Fprint no longer recognizes the synaptics reader used in the t480 and t480s not sure why

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