Bug 37574

Summary: [138a:0005] fingerprint Validity VFS301 reader not recognised.
Product: libfprint Reporter: cvedovatti <carlos.vedovatti>
Component: libfprintAssignee: Andrej Krutak <andree>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: 4nykey, grvsaxena419, javierdo1, kh3095, lacombar, nick, robert.ancell
Version: unspecified   
Hardware: All   
OS: Linux (All)   
See Also: https://launchpad.net/bugs/744310
Whiteboard:
i915 platform: i915 features:
Attachments: Add support for Validity VFS301/VFS300
Screenshot fingerprint login Ubuntu
vfs301 driver (1st public version)

Description cvedovatti 2011-05-25 04:18:15 UTC
Hi,
this bugs is concerning the Validity fingerprint reader VFS301. With the command lsusb is listed as: Bus 001 Device 004: ID 138a:0005 DigitalPersona, Inc. This isn't a DigitalPersona fingerprint reader, its "Validity" but they use digitalpersona software.
It affects in my case the model HP Touchsmart tm2.
The driver for the VFS101 [138a:0001] doesn't work on this device.
Comment 1 Bastien Nocera 2011-05-25 05:11:54 UTC
*** Bug 37578 has been marked as a duplicate of this bug. ***
Comment 2 Arnaud Lacombe 2011-08-22 12:02:00 UTC
As 37578 has been marked as a duplicate of this one, let's comment here.

The VFS300 [138a:0008] does not work either with the current VFS101 driver. This reader is shipped with the ASUSTEK laptops.
Comment 3 Andrej Krutak 2011-11-06 03:32:33 UTC
I've started developing a driver at https://github.com/andree182/vfs301 . I am able to get some fingerprint from it - but the code still needs some love and integration to libfprint is yet to be done (after it works correctly from console).

If someone test this and it works, let me know (through email/project site/this bugtracker).
Comment 4 Bastien Nocera 2012-02-01 07:38:37 UTC
Andrej, any news on this branch and patches?
Comment 5 Bastien Nocera 2012-02-01 07:47:51 UTC
*** Bug 43252 has been marked as a duplicate of this bug. ***
Comment 6 Robert Ancell 2012-07-16 05:40:43 UTC
Created attachment 64254 [details] [review]
Add support for Validity VFS301/VFS300

This is Andrej's patch taken from github and applied to libfprint. I can confirm that fprint_demo works with this patch on my laptop.
Comment 7 Gaurav Saxena 2012-07-18 16:39:11 UTC
hi, 
could you tell me which version of libfprint should I apply this patch ?
Comment 8 Robert Ancell 2012-07-18 21:17:07 UTC
(In reply to comment #7)
> hi, 
> could you tell me which version of libfprint should I apply this patch ?

This patch should apply to git master.
Comment 9 Gaurav Saxena 2012-07-19 19:01:45 UTC
Hi, 
Thanks , fprint_demo is able to recognize the device but still gives error that it could not open the device.
Comment 10 Robert Ancell 2012-07-19 21:56:19 UTC
BTW I tested with a VFS300 (Dell Vostro). Guarav, do you have the 300 or the 301?

$ lsusb
Bus 001 Device 004: ID 138a:0008 Validity Sensors, Inc. VFS300 Fingerprint Reader
Comment 11 Gaurav Saxena 2012-07-21 07:29:22 UTC
Hi, 
Thanks for your reply. I am using HP Pavillion DM4 with a VFS 301 device. Is there anyway I could make it work on this device?
Comment 12 cvedovatti 2012-07-21 12:03:09 UTC
(In reply to comment #11)
> Hi, 
> Thanks for your reply. I am using HP Pavillion DM4 with a VFS 301 device. Is
> there anyway I could make it work on this device?

Hi

on this forum: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/744310

The comment #51 there is a deb package that works in Ubuntu and its more or less stable. Check if it works for your Laptop
Comment 13 Robert Ancell 2012-07-22 04:13:01 UTC
(In reply to comment #11)
> Hi, 
> Thanks for your reply. I am using HP Pavillion DM4 with a VFS 301 device. Is
> there anyway I could make it work on this device?

Note I am not the author of this patch. So it may be working for the 300 but not the 301. I don't know what the author tested it with.
Comment 14 Gaurav Saxena 2012-07-22 18:48:27 UTC
(In reply to comment #12)
> Hi
> 
> on this forum: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/744310
> 
> The comment #51 there is a deb package that works in Ubuntu and its more or
> less stable. Check if it works for your Laptop

Hi, I tried the patch provided on that forum and it worked! Now I am able to get fingerprints. Any ideas on how to use it for authentication? I am using Ubuntu 12.04. I tried using fingerprint-gui but it crashes with segmentation fault. fprint_demo is working.
Comment 15 cvedovatti 2012-07-22 19:02:06 UTC
(In reply to comment #14)
> (In reply to comment #12)
> > Hi
> > 
> > on this forum: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/744310
> > 
> > The comment #51 there is a deb package that works in Ubuntu and its more or
> > less stable. Check if it works for your Laptop
> 
> Hi, I tried the patch provided on that forum and it worked! Now I am able to
> get fingerprints. Any ideas on how to use it for authentication? I am using
> Ubuntu 12.04. I tried using fingerprint-gui but it crashes with segmentation
> fault. fprint_demo is working.

Yes. The problem with fingerprint-gui is a segmentation fault not yet solved. In order to use it, you have to unistall fingerprint-gui.
Since Ubuntu 11.10 the system integrates the fingerprint authentification without using other fingerprint-gui. And that way it works with this driver. 

So to login and authenticate you must have Ubuntu 11.10 or 12.04, uninstall fingerprint-gui. Then reboot the system. Then to access the "Ubuntu" fingerprint go to: System setting -> User accounts. In the users account window you will see the option "Fingerprint Login" on every account. Click the button and register your fingerprints. You will be able to login and use authenticate when root privileges are needed. 

P.D. The fingerprint login unfortunately doesn't work if the home user folder is encrypted. But that is not a problem of the driver, is a Ubuntu (or linux) bug.
Comment 16 Gaurav Saxena 2012-07-23 16:40:13 UTC
(In reply to comment #15)
> 
> Yes. The problem with fingerprint-gui is a segmentation fault not yet solved.
> In order to use it, you have to unistall fingerprint-gui.
> Since Ubuntu 11.10 the system integrates the fingerprint authentification
> without using other fingerprint-gui. And that way it works with this driver. 
> 
> So to login and authenticate you must have Ubuntu 11.10 or 12.04, uninstall
> fingerprint-gui. Then reboot the system. Then to access the "Ubuntu"
> fingerprint go to: System setting -> User accounts. In the users account window
> you will see the option "Fingerprint Login" on every account. Click the button
> and register your fingerprints. You will be able to login and use authenticate
> when root privileges are needed. 
> 
> P.D. The fingerprint login unfortunately doesn't work if the home user folder
> is encrypted. But that is not a problem of the driver, is a Ubuntu (or linux)
> bug.

Hi, 
OK. I tried that method ,but I couldn't find any fingerprint login option in that menu. I am using Gnome3 with Ubuntu 12.04. I tried modifying /etc/pam.d/login but its not working. Could you suggest me some method for doing the same.
Comment 17 cvedovatti 2012-07-23 18:01:45 UTC
Created attachment 64558 [details]
Screenshot fingerprint login Ubuntu
Comment 18 cvedovatti 2012-07-23 18:02:17 UTC
Hi
Unfortunately at the moment there is not other method. To use the fingerprint-gui we must wait until somebody solves the segmentation fault. Now, I really find strange that you do not have this option in the users menu. I tried in Unity and Gnome and both are there. I attached a screen-shot of how you supposed to find it. Make sure you installed the fprint .deb customized from the forum. Hope it helps.
Comment 19 Gaurav Saxena 2012-07-24 16:47:32 UTC
(In reply to comment #18)
> Hi
> Unfortunately at the moment there is not other method. To use the
> fingerprint-gui we must wait until somebody solves the segmentation fault. Now,
> I really find strange that you do not have this option in the users menu. I
> tried in Unity and Gnome and both are there. I attached a screen-shot of how
> you supposed to find it. Make sure you installed the fprint .deb customized
> from the forum. Hope it helps.

Thank you very much its working now. I did all the steps again and now it works. Thanks a lot for your help. :)
Comment 20 cvedovatti 2012-07-24 19:10:01 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Hi
> > Unfortunately at the moment there is not other method. To use the
> > fingerprint-gui we must wait until somebody solves the segmentation fault. Now,
> > I really find strange that you do not have this option in the users menu. I
> > tried in Unity and Gnome and both are there. I attached a screen-shot of how
> > you supposed to find it. Make sure you installed the fprint .deb customized
> > from the forum. Hope it helps.
> 
> Thank you very much its working now. I did all the steps again and now it
> works. Thanks a lot for your help. :)

Glad I could help!
Comment 21 Andrej Krutak 2012-07-30 09:56:00 UTC
Created attachment 64946 [details] [review]
vfs301 driver (1st public version)

Hi,

I have somewhat updated and improved the driver, should be a little more compatible with the coding style (in terms of internal functionality) of other libfprint drivers. I'm attaching the current version of the patch - please someone integrate it, so that I don't have to keep it on github sync'd .-)


Some notes:

The driver is for the devices 138a:0005 (primarily) and 138a:0008 (some users reported it as working too).

Unfortunately, we didn't decypher the protocol to much detail - so currently it mostly just repeats sequences the original binary driver does (that seems to work fine). That's why the driver doesn't look so pretty as other drivers. Maybe some users will be able to help with that :-)


The device on my notebook contains a LED next to the scanner, but I also didn't yet figure out how to control it - but anyhow, can libfprint use it to provide some feedback, even if we know how to control the LED?
Comment 22 kh3095 2012-08-20 11:26:57 UTC
Hi, Andrej and Everyone!

I tried your updated patch with 138a:0018 Validity Sensors, Inc. on HP Pavilion dv6-6030er. I tried to change id 0008 to 0018 in sources. fprint-demo finds my device, but cannot open it. If I can help you to make your driver work for 0018, tell my what I should de. Unfortunately, I don't have Windows, so I cannot send you any reverse-engineered stuff.
Comment 23 cvedovatti 2012-08-20 17:15:52 UTC
(In reply to comment #22)
> Hi, Andrej and Everyone!
> 
> I tried your updated patch with 138a:0018 Validity Sensors, Inc. on HP Pavilion
> dv6-6030er. I tried to change id 0008 to 0018 in sources. fprint-demo finds my
> device, but cannot open it. If I can help you to make your driver work for
> 0018, tell my what I should de. Unfortunately, I don't have Windows, so I
> cannot send you any reverse-engineered stuff.

Hi

I believe the Validity Sensors are very different from each other. If it doesn't work after modifying the usb id (as it happened to VFS300), I hardly believe this driver would work on this device. Check this bug https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/827669 maybe you can get more info regarding this device there.
Comment 24 Bastien Nocera 2012-08-28 19:03:05 UTC
Cleaned up a little more, and pushed. Thanks very much for the patch!

commit c3689665dbf3cd2126f3729792aa71efe13aab8d
Author: Andrej Krutak <dev@andree.sk>
Date:   Sun Jul 22 21:44:34 2012 +0200

    lib: Add VFS300/VFS301 driver
    
    https://bugs.freedesktop.org/show_bug.cgi?id=37574

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.