Fingerprint reader and Debian 11 (oldstable)
by alevoski from LinuxQuestions.org on (#6HYSA)
A made this tutorial to help those you want to authenticate with a fingerprint reader in Debian 11.
Note : I didn't try to reproduce this because my fingerprint reader eventually worked and I don't want to change anything in case it goes wrong.
model used : FeinTech FPS00201 (Elan)
lsusb : ID 04f3:0c3d Elan Microelectronics Corp. ELAN:Fingerprint
The model is known to be compatible with Linux and is in the fprint compatible list : https://fprint.freedesktop.org/supported-devices.html
Following this tutorial : https://wiki.debian.org/SecurityMana...authentication
When we install fprintd, it installs two packages : fprintd and libfprint-2-2
The command apt-cache show libfprint-2-2 shows this package will be install in 1.90.7-2 so not the last version
It will not work with this version if you try to enroll with
Code:fprintd-enroll <youruser>And I think this is the problematic package.
What to do then ?
Solution 1 : migrate to Debian 12 (stable) because newest versions of fprintd and libfprint are there as seen in tracker.debian.org : https://tracker.debian.org/pkg/fprintd and https://tracker.debian.org/pkg/libfprint
It will be long and there is a risk to break your system : good luck !
Solution 2 : try to compile the newest libfprint package from source (I also tried with fprintd but it finally failed to install because of dependencies that is only available in Debian 12 (stable))
Not fun but it normally won't break your system if something fail.
1) download the source code
Code:wget https://gitlab.freedesktop.org/libfprint/libfprint/-/archive/v1.94.6/libfprint-v1.94.6.tar.gz2) extract it
Code:tar -xvzf libfprint-v1.94.6.tar.gz3) go to the extraction dir
Code:cd libfprint-v1.94.6/4) this particular project says, in the INSTALL file, that it needs meson to be build
Code:sudo pip3 install meson5) check and install project dependencies
open meson.build file, all dependencies should be mention in it
Here we see severals to be install before the build
OR you can run the build an check error messages about missing dependencies then install them one by one. (check on the Internet)
6) build
Code:meson setup buildir && cd buildir7) install
Code:sudo meson installOR
Code:sudo ninja install8) install fprintd and libpam-fprintd
Code:sudo apt install fprintd libpam-fprintd9) plug your fingerprint reader and configure it
Code:sudo fprintd-enroll <youruser>if you see this it's a good sign, just pass very slowly your right index finger to the sensor (it will be asked 5 times) :
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
...
Enroll result: enroll-completed
Code:sudo fprintd-verify <youruser>Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: right-index-finger
Verify started!
Verifying: right-index-finger
Verify result: verify-no-match (done) => if you see this, it did not recognize your fingerprint, try again. If it persists you should enroll again.
Verify result: verify-match (done) => if you see this, your fingerprint is recognized, well done !
10) enable fingerprint authentication with sudo
Code:sudo pam-auth-updatejust press the spacebar to selec/deselect options
11) verify and enable fprintd service
to check : Code:systemctl status fprintd.serviceto enable : Code:sudo systemctl enable fprintd.serviceMaybe you will have to modify the fprintd.service file in order to enable this service :
Code:sudo nano /lib/systemd/system/fprintd.servicethen add this lines :
Code:[Install]
WantedBy=multi-user.target12) try it
open a new terminal then enter a sudo command
Code:sudo apt updateSwipe your finger across the fingerprint reader
Swipe was too short, try again
Failed to match fingerprint => go very slowly then it should be going, otherwise enroll again
It should also work during the session authentication : you type your username, then tab/click to the password section and it should ask you your fingerprint. When you submit it, if it's recognize, the password section will be hidden, you just have to click on "log in". If it fails or it times out, just click on cancel button and retry.
Attachment 42432Attachment 42433Attachment 42434Attachment 42435
If after authentication with your fingerprint you see this message (after a reboot/shutdown in my case) :
Quote:
Attachment 42436
You will find answers that a keyring is not supposed to be open by a fingerprint, it's not secure.
Some users go with a tool called seahorse to disable the password to unlock the keyring.
My advice : stay with the password to open the keyring, it will be just asked one time after a reboot (and not after a suspend or a lock screen) so no big deal.
Optionnal steps just for the record if you want to create a deb package.
Finally I remove the install package I build but I kept files installed by ninja or meson.
1) install packages to create deb
Code:sudo apt install debhelper build-essential dh-make2) build the deb package
We are just after step 6) when we enter this command Code:meson setup buildir && cd buildirCode:dh_make --createorig -p libfprint_v1.94.6it should create a debian dir in the root of the project, if not, move it ! (mine was in buildir)
Code:dh_auto_configure --buildsystem=mesonCode:dpkg-buildpackage -rfakeroot -us -uc -bif error, maybe somes dependencies are missing (python dependencies in my case)
3) install the deb package
The deb package should be a directory before the extraction directory
Code:sudo apt install ./libfprint_v1.94.6-1_amd64.deb
Attached Thumbnails
Note : I didn't try to reproduce this because my fingerprint reader eventually worked and I don't want to change anything in case it goes wrong.
model used : FeinTech FPS00201 (Elan)
lsusb : ID 04f3:0c3d Elan Microelectronics Corp. ELAN:Fingerprint
The model is known to be compatible with Linux and is in the fprint compatible list : https://fprint.freedesktop.org/supported-devices.html
Following this tutorial : https://wiki.debian.org/SecurityMana...authentication
When we install fprintd, it installs two packages : fprintd and libfprint-2-2
The command apt-cache show libfprint-2-2 shows this package will be install in 1.90.7-2 so not the last version
It will not work with this version if you try to enroll with
Code:fprintd-enroll <youruser>And I think this is the problematic package.
What to do then ?
Solution 1 : migrate to Debian 12 (stable) because newest versions of fprintd and libfprint are there as seen in tracker.debian.org : https://tracker.debian.org/pkg/fprintd and https://tracker.debian.org/pkg/libfprint
It will be long and there is a risk to break your system : good luck !
Solution 2 : try to compile the newest libfprint package from source (I also tried with fprintd but it finally failed to install because of dependencies that is only available in Debian 12 (stable))
Not fun but it normally won't break your system if something fail.
1) download the source code
Code:wget https://gitlab.freedesktop.org/libfprint/libfprint/-/archive/v1.94.6/libfprint-v1.94.6.tar.gz2) extract it
Code:tar -xvzf libfprint-v1.94.6.tar.gz3) go to the extraction dir
Code:cd libfprint-v1.94.6/4) this particular project says, in the INSTALL file, that it needs meson to be build
Code:sudo pip3 install meson5) check and install project dependencies
open meson.build file, all dependencies should be mention in it
Here we see severals to be install before the build
OR you can run the build an check error messages about missing dependencies then install them one by one. (check on the Internet)
6) build
Code:meson setup buildir && cd buildir7) install
Code:sudo meson installOR
Code:sudo ninja install8) install fprintd and libpam-fprintd
Code:sudo apt install fprintd libpam-fprintd9) plug your fingerprint reader and configure it
Code:sudo fprintd-enroll <youruser>if you see this it's a good sign, just pass very slowly your right index finger to the sensor (it will be asked 5 times) :
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
...
Enroll result: enroll-completed
Code:sudo fprintd-verify <youruser>Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: right-index-finger
Verify started!
Verifying: right-index-finger
Verify result: verify-no-match (done) => if you see this, it did not recognize your fingerprint, try again. If it persists you should enroll again.
Verify result: verify-match (done) => if you see this, your fingerprint is recognized, well done !
10) enable fingerprint authentication with sudo
Code:sudo pam-auth-updatejust press the spacebar to selec/deselect options
11) verify and enable fprintd service
to check : Code:systemctl status fprintd.serviceto enable : Code:sudo systemctl enable fprintd.serviceMaybe you will have to modify the fprintd.service file in order to enable this service :
Code:sudo nano /lib/systemd/system/fprintd.servicethen add this lines :
Code:[Install]
WantedBy=multi-user.target12) try it
open a new terminal then enter a sudo command
Code:sudo apt updateSwipe your finger across the fingerprint reader
Swipe was too short, try again
Failed to match fingerprint => go very slowly then it should be going, otherwise enroll again
It should also work during the session authentication : you type your username, then tab/click to the password section and it should ask you your fingerprint. When you submit it, if it's recognize, the password section will be hidden, you just have to click on "log in". If it fails or it times out, just click on cancel button and retry.
Attachment 42432Attachment 42433Attachment 42434Attachment 42435
If after authentication with your fingerprint you see this message (after a reboot/shutdown in my case) :
Quote:
Authentication required The login keyring did not get unlocked when you logged into your computer. |
You will find answers that a keyring is not supposed to be open by a fingerprint, it's not secure.
Some users go with a tool called seahorse to disable the password to unlock the keyring.
My advice : stay with the password to open the keyring, it will be just asked one time after a reboot (and not after a suspend or a lock screen) so no big deal.
Optionnal steps just for the record if you want to create a deb package.
Finally I remove the install package I build but I kept files installed by ninja or meson.
1) install packages to create deb
Code:sudo apt install debhelper build-essential dh-make2) build the deb package
We are just after step 6) when we enter this command Code:meson setup buildir && cd buildirCode:dh_make --createorig -p libfprint_v1.94.6it should create a debian dir in the root of the project, if not, move it ! (mine was in buildir)
Code:dh_auto_configure --buildsystem=mesonCode:dpkg-buildpackage -rfakeroot -us -uc -bif error, maybe somes dependencies are missing (python dependencies in my case)
3) install the deb package
The deb package should be a directory before the extraction directory
Code:sudo apt install ./libfprint_v1.94.6-1_amd64.deb
Attached Thumbnails