Bug 55351 - DigitalPersona UareU 4500 support
Summary: DigitalPersona UareU 4500 support
Status: RESOLVED FIXED
Alias: None
Product: libfprint
Classification: Unclassified
Component: libfprint (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: libfprint-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-26 10:52 UTC by Timo Teräs
Modified: 2012-11-05 17:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
patch adding the above mentioned support (25.61 KB, patch)
2012-09-26 10:52 UTC, Timo Teräs
Details | Splinter Review
patch (25.69 KB, patch)
2012-09-28 12:06 UTC, Bastien Nocera
Details | Splinter Review

Description Timo Teräs 2012-09-26 10:52:01 UTC
Created attachment 67713 [details] [review]
patch adding the above mentioned support

Patch adding support for DigitalPersona UareU 4000B and 4500 devices using the image encryption.

Tested currently with:
USB ID 05ba:000a, hardware/firmware versions 0010 and 0115.

Should be tested with older devices to see I did not break anything - the whole "firmware patching" part is now removed as obsolete.

Other changes:
- deinit changed to just use proper off mode
- the state changing logic is now improved to be properly asynchronous (even on device stop)
- print device hardware/firmware versions during initialization
- image height increased with one - this is what the binary driver does; the image header contains meta-info which scan line is skipped, and it's now taken into account

Not implemented:
- AES based retrieval of the encryption key (seems to be unneeded; or could be oem specific thing)
- taking additional image in the "aux" mode (apparently to enhance the capture quality - not sure how to modify the image with it)
Comment 1 Bastien Nocera 2012-09-26 11:09:27 UTC
Comment on attachment 67713 [details] [review]
patch adding the above mentioned support

Review of attachment 67713 [details] [review]:
-----------------------------------------------------------------

No S-O-B in our commit messages.

The code looks fine, will have to test it out.

::: libfprint/fp_internal.h
@@ +28,4 @@
>  
>  #include <fprint.h>
>  
> +#define array_size(array) (sizeof(array) / sizeof(array[0]))

I would prefer array_n_elements() here
Comment 2 Bastien Nocera 2012-09-28 12:05:55 UTC
Seems to not break my URU4000. Is your patch missing the addition of new USB IDs?
Comment 3 Bastien Nocera 2012-09-28 12:06:55 UTC
Created attachment 67818 [details] [review]
patch
Comment 4 Timo Teräs 2012-09-28 13:12:19 UTC
(In reply to comment #2)
> Seems to not break my URU4000. Is your patch missing the addition of new USB
> IDs?

Possibly. However, I have a device sold as URU4500 for me, and it shows up with the old USB ID of 05ba:000a. I think the 4000B/4500 share the IDs and can be distinguished only by using the firmware/hardware versions numbers. Sounds to me the only real change in 4500 is that they made the firmware modification not doable.
Comment 5 Bastien Nocera 2012-11-05 17:40:20 UTC
commit d003f08855ba34be88775e4281e7f686b00f6d2f
Author: Timo Teräs <timo.teras@iki.fi>
Date:   Wed Sep 26 13:41:13 2012 +0300

    lib: Add support for DigitalPersona URU4500
    
    By adding native encryption support, rather than poking at
    the firmware to disable it.
    
    This also makes the URU4000B use native encryption.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=55351


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.