Fingerprint reader doesn't work - HP Pavilion ec1019au

System: Ryzen 5625U, 16Gb RAM

Zorin is running well in my laptop (after manually installing WiFi and Bluetooth drivers from GitHub). It has fingerprint reader also but I do not see it in Users login settings (Fingerprint Login - Zorin Help).
I even added lines in some files /etc/pam.d/ path like session sufficient pam_fprintd.so, auth sufficient pam_fprintd.so but I still don't see any option (after reboots).
lsusb prints this:

gmk@pavilion:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 04f3:0c00 Elan Microelectronics Corp. ELAN:ARM-M4
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:b85c Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 002: ID 0408:5477 Quanta Computer, Inc. HP Wide Vision HD Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I didn't find anything related to fingerprint reader. Is it ELAN?
Can someone please help me with this?

Yes, it is Elan.
The bad:

Where there is hope:

Be sure to read the disclaimer.

Hi gmk27, do you know which make and model your fingerprint is?
And have you looked at the manufacturer’s website?

I quickly searched your laptop model and it seems to ship with Windows by default.

My experience is that few fingerprint sensors work with Linux because there are no drivers available, and fewer still have open source drivers or proprietary ones that are packaged with distributions by default.

I have even seen manufacturers that ship laptop with Linux and have a physical fingerprint sensor not support the sensor on Linux and not even mentioning it in the specifications of Linux version of the model. And I personally I own a Dell and use a company provided HP laptop that are equipped with a fingerprint sensor but neither work.

Perhaps someone else has experience with your particular model and can be of more help, but for now I would suggest you try to find out if your fingerprint sensor has drivers for Linux available at all. If you do find them and you have trouble installing them in Zorin OS, I’m sure someone here could help you out.

The bad is real:

The hope evaporated. It didn't work as expected. The process just slowed down the login page load drastically. I promptly removed everything to bring it back to normal.

This HP model is simply :poop: :poop: :poop:
First I had to install WiFi and BT drivers manually. Now this.

Yep from below image you could see driver is not available in kernel versions up to 6.3 :poop: and beyond that I don't have hope too.
BTW, where can I check online for kernels and supported hardware list in simple way?

Other than the side I linked above, there is no real simple way given the sheer volume of information (manufacturers, products and software) that would need to be applied to it.

I found this link which seems to work for many with same hardware.

I tried but I got meson build errors. I have attached some of the log. Can anyone help me understand the error?

Build started at 2023-06-07T09:33:23.155495
Main binary: /usr/bin/python3
Build Options: 
Python system: Linux
The Meson build system
Version: 0.53.2
Source dir: /home/gmk/libfprint
Build dir: /home/gmk/libfprint/builddir
Build type: native build
Project name: libfprint
Project version: 1.94.5
No CFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/gmk/libfprint/builddir/meson-private/sanitycheckc.c -o /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the build machine: cc ld.bfd 2.34
No CXXFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.cc -o /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe
C++ compiler for the build machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C++ linker for the build machine: c++ ld.bfd 2.34
No CFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/gmk/libfprint/builddir/meson-private/sanitycheckc.c -o /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe
C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the host machine: cc ld.bfd 2.34
No CXXFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.cc -o /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe
C++ compiler for the host machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Running compile:
Working directory:  /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g
Command line:  cc /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 -Wall 

Code:
 int i;

Compiler stdout:
 
Compiler stderr:
 
Compiler for C supports arguments -Wall: YES 
Running compile:
Working directory:  /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2
Command line:  cc /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 -Wcast-align 

Code:
 int i;






PKG_CONFIG_PATH: 
Called `/usr/bin/pkg-config --print-variables nss` -> 0
exec_prefix
includedir
libdir
pcfiledir
prefix
Got pkgconfig variable girdir : 
PKG_CONFIG_PATH: 
Called `/usr/bin/pkg-config --variable=girdir gudev-1.0` -> 0

PKG_CONFIG_PATH: 
Called `/usr/bin/pkg-config --print-variables gudev-1.0` -> 0
exec_prefix
includedir
libdir
pcfiledir
prefix
Got pkgconfig variable girdir : 
PKG_CONFIG_PATH: 

Running compile:
Working directory:  /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr
Command line:  cc /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 --print-search-dirs 

Code:
 
Compiler stdout:
 install: /usr/lib/gcc/x86_64-linux-gnu/9/
programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/

Compiler stderr:
 
Configuring config.h using configuration
Configuring gtkdocentities.ent using configuration
Dependency glib-2.0 found: YES 2.64.6 (cached)
PKG_CONFIG_PATH: 
Called `/usr/bin/pkg-config --variable=prefix glib-2.0` -> 0
/usr
Got pkgconfig variable prefix : /usr

Got pkgconfig variable girdir : 
Configuring create-driver-test.py using configuration
Program python3 found: YES (/usr/bin/python3)
Program unittest_inspector.py found: YES (/home/gmk/libfprint/tests/unittest_inspector.py)
Program umockdev-test.py found: YES (/home/gmk/libfprint/tests/umockdev-test.py)
Program sh found: YES (/usr/bin/sh)
Adding test "virtual-image"
Program sh found: YES (/usr/bin/sh)
Adding test "virtual-device"

tests/meson.build:112:12: ERROR: Unknown method "full_path" in object.

What version of Meson do you have installed?

That script from your patch requires meson to be >0.54
https://mesonbuild.com/Reference-manual_returned_custom_tgt.html#custom_tgtfull_path

I have actually run into this before due to Meson's configuration language not being Turing-complete. Previously for me, this related to auto-diagnostic tools. The dev has valid reasons for fearing to commit to python, but it is also frustrating for users when the dev uses methods or functions that rely on the Latest instead of the Stable as a dependency.

You can view here for a guide on installing a later version of Meson:

Checking the literature, you most likely currently have Meson 0.53.2 installed.

1 Like

when I type: meson --version
I got: 1.1.1
That's probably >0.54
Another way: pip3 install meson
I got: Requirement already satisfied: meson in /home/gmk/.local/lib/python3.8/site-packages (1.1.1)
[or] is my command wrong?

1 Like

ugh... mind now blown.

You may need to open a bug report here:

And be sure to specify your Meson Version in your report, else they will start by saying the same thing that I just did.

1 Like

To my surprise, the build is successful in another laptop (it has no fingerprint reader). It is a Dell G15 with Intel i5 gen 11 running Ubuntu 20.04.
I need to check what's wrong with my HP laptop.
I hope this is not because of AMD processor in my HP.

You were right. In my personal laptop I have an outdated meson. I upgraded meson and compilation was successful.
I installed it but unfortunately it doesn't work. I don't know what's wrong. For some people it's working and for some it's not working. I'm in that latter category :joy:. I can see fingerprint option in Settings/Users but while enrolling it says failed to communicate with device. It's not working with fprintd-enroll command also.
Any leads?

Can you check this post here?:

Did exactly what they said but still no luck.
This time I couldn't see fingerprint option at all in Settings/Users. :walking_man:

I think the most frustrating thing is to perform a suggested repair only to have it make things worse instead of better.

Yup...
I'll keep trying though few more times. If I couldn't succeed I will try any bleeding edge distro.

1 Like

I tried and I succeeded finally :sweat_smile:
I didn't document but I'm half sure that after I deleted the file from /lib/udev/hwdb.bin it started working (source: upgrade - FATAL ERROR: Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist - Ask Ubuntu)

Strangely it couldn't enroll my right index finger but my middle finger worked. May be it deserved my middle finger after all the sweat. Or maybe my index finger has lost its blueprint.

2 Likes

For future reference,
I made fingerprint work for both login screen and sudo commands on terminal but not sure of any particular order how I did that. Hence just mentioning what all I did but not in any particular order. Some of these might have effect.
SOURCE: fprint - ArchWiki - this page helped me a lot
I ran following command to add username to group input: sudo adduser $USER input
Then rebooted.
Also added the following line in gdm-autologin, related to login in the /etc/pam.d/: auth sufficient pam_fprintd.so in the first line.

Then we can enroll via Settings/Users/Fingerprint Login or by command fprintd-enroll

Of course, don't you forget to restart fprintd service after making all the changes

Special note: Keyring will not unlock by fingerprint yet, you need to type in password for accessing apps that depends on Keyring.

1 Like

Fingerprint login is not working again. I don't know what happened but I did a lot of customisation, then removed everything as it slowed down zorin a bit. Ubuntu budgie desktop environment was installed without my knowledge or ignorance. I didn't even like budgie desktop and don't remember installing it in the first place.
Now fingerprint reader is automatically and quickly reading without even me placing finger on it for 3 times and then prompting for password. LoL :joy:.

Linux is like touch something and screw something else.

penguin linux GIF

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.