ELAN 04f3:0c00 failed to Enroll

Hi there!
I recently installed ZorinOS 16.3 on my HP G9 470 with an ELAN 04f3:0c00 fingerprint reader. I managed to install the necessary drivers and the pam support for it but every time I try to enroll my fingerprint, either via command line or the GUI, it always says "swipe was too short" or "failed to enroll" just like on the screenshots below.

Any advice for fixing this error?
[EDIT: I also attached the lsusb so you can see the device name of the fingerprint reader]

Can you post the output of sudo dmesg | grep -i elan?

1 Like

drivers - Ubuntu 22.04 Fingerprint sensor 04f3:0c4c Elan Microelectronics Corp. (HP Envy) - Ask Ubuntu <-- More digging - one person got it working, manually, seems like. Can't say whether or not this would work though! The first link from the OP is an Arch Linux link; won't be much help. But, at least the one answer did include the steps for building and installing!

Driver status: Elan Microelectronics ELAN:ARM-M4

If it matches the 04f3:0c00 HW ID, it may not work - I can't say for certain, please don't take that as definitive .. I'm just going on what I can research for the device and ID.

It says working in EndeavorOS and fixed in openSUSE .. :thinking:

The dmesg output was to see if anything was being loaded for drivers like: [ 5.651826] nvidia-uvm: Loaded the UVM driver, major device number 505 - that's my Nvidia driver loading..

I was also kind of wondering if - you added yourself to the dialout group, since it's USB. I had issues with USB-to-serial devices using Chirp.. added myself to the dialout group and was good to go. You may be able to chmod that USB with chmod 600 - it might be a ttyUSB# or ttyS#, depending if it's on serial. Can you identify the device in /dev?

this is the result of ls in /dev

Hmmm... absolutely no ttyUSB devices..

What is in the /dev/bus/ - that should have some folders labeled 001 and more, sequentially. Since your lsusb output is showing Bus 001 Device 003, you may be able to start accessing it, just to try, with sudo chmod 600 /dev/bus/001/003 and then trying to use the finger print scanner again. IF that works - I'll need another brain or more research how to make the change permanent across reboots and shutdowns.. But, that's what I was having to do with sudo chmod 600 /dev/ttyUSB0 for an OBDII adapter I have, after getting other things figured out for it, and before adding myself to the dialout group..

If that doesn't work (chmod 600), a reboot should revert the change - unless I'm wrong.. The reboot reverted my ttyUSB0 change.. Someone absolutely chime in if I am wrong..


In addition to @PlumpKibbles post on Permissions, I am assuming you have already installed:

sudo apt install fprintd libpam-fprintd


sudo apt update && sudo apt upgrade

and run

Is your user account on Zorin OS a member of the group input or plugdev?
If not, you can use (replace $USER with your username) sudo usermod -a -G plugdev $USER or sudo usermod -a -G input $USER to add it.

...And lastly...
I notice in this post:

That you have Elan ARM M4... Do you have the driver?

sudo add-apt-repository ppa:3v1n0/libfprint-tod

sudo apt update && sudo apt upgrade

The last update to the above was in 2020 - so I am suggesting this due to the ARM M4 device.
If it does not work, you can remove the repository:

sudo add-apt-repository --remove ppa:3v1n0/libfprint-tod

sudo apt clean && sudo apt autoremove

sudo apt update && sudo apt full-upgrade

1 Like

I ran the sudo chmod 600 /dev/bus/usb/001/003 like @PlumpKibbles said but that didn't do anything. I did a reboot. Then I tried installing the driver that @Aravisian sent but still nothing. I removed them and then added myself to the plugdev group and then also to the dialout group too but still absolutely nothing helps.

^^^here is how I found the file to point sudo chmod 600 at, because @PlumpKibbles's command didn't work

^^^here you can see that it still gave an error after

sudo add-apt-repository ppa:3v1n0/libfprint-tod

Apparently Ubuntu 22.04 has working drivers for 04f3:0c00 but I would like to solve this hell of a driver issue before the transition to Zorin OS 17. (I also tried installing the Jammy Jellyfish driver from the link that @PlumpKibbles sent earlier but that didn't work either for obvious reasons)

So, the reason it didn't work - I see from the output you were cd'ing into the directories. To change permissions on that, you would enter sudo chmod 600 /dev/bus/001/003 - as is, spaces and all from 'sudo' to '003'. 'cd' means 'change directory' for navigating around the filesystem. The 003 is a file, of which we're trying to change permissions to. Try to copy and paste the above into the terminal, it'll ask for your password - enter the pw, then try the finger swipes again - like:

Screenshot from 2023-10-03 19-20-42

Yesterday when I copied and pasted your command, it told me no such file or directory. I posted that screenshot of cd-ing to show the way I found out why it didn't see the directory. You sent me the command sudo chmod 600 /dev/bus/001/003. The problem was that between the bus and 001 directories there was also a usb directory. So It should've been /dev/bus/usb/001/003. I forgot to attach the pic with me entering sudo chmod 600 /dev/bus/usb/001/003. Here is a fresh screenshot of pasting that command and the output of the fingerprint reader after that.

Yep, missed that usb directory.. That one's on me..

So, in that case.. I'll have to go on the driver status posted in my second reply. Looked through the list - 20.04, 21.04, and 22.04 all say failed; except for EndeavorOS and openSUSE Tumbleweed.

I'll have to step down on this one - I don't have the device or hands-on with the device to really do much more than research. And looking at this but, I see they're using sudo ./enroll opposed to individual prints. I'm not sure if that would make a difference in what's going on..

If I find anything more I'll absolutely share though.

1 Like

Have you tried

sudo add-apt-repository ppa:tuxinvader/lts-mainline

sudo apt update && sudo apt install linux-generic-6.03


I pasted the commands in Terminal. After it was done, I rebooted and now it doesn't boot.

What graphics card does that notebook have?

1 Like

Found this: HP 470 G9 17 inch Notebook PC specifications | HP® Customer Support - seems to be the opposite of my setup; Nvidia as discrete, Intel as primary :thinking: I'm wondering if prime-select could be switched to Nvidia or on-demand..

Or avoiding the -84 kernel and sticking with -83;
Avoiding the 535 Nvidia Driver
Or... using nomodeset to prevent Nvidia drivers from init at the wrong time...

1 Like

Nvidia GeForce mx550

Let's start with adding the nomodeset parameter:

The laptop doesn't give any display output. How could I access it to get it to run again?
When I start it up, it posts and then only the HP logo is on screen, not even the Zorin logo underneath.