[fprint] UareU 4000B DigitalPersona image encrypted

Kleyson de Sousa Rios kleyson-sr at segplan.go.gov.br
Thu Aug 23 13:19:31 UTC 2018


To test I'm basically using the examples/ tools, and seems that the drive_data has the correct value 5.

I've include the following debug code in the line https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/libfprint/drivers/uru4000.c#L1259

fp_dbg("------------------> dev_init() - drive_data value: %d", driver_data);

And I got:

(process:4545): libfprint-uru4000-DEBUG: 10:11:49.701: ------------------> dev_init() - drive_data value: 5


See the full log:

root at kleysonr-POS-PIQ77CL:~/libfprint/libfprint/builddir/examples# ./img_capture
(process:4545): libfprint-DEBUG: 10:11:49.696: 3225388671: ../libfprint/core.c:752
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver upekts
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver upektc
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver upeksonly
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver vcom5s
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver uru4000
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes1610
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes1660
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes2501
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes2550
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes2660
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes3500
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver aes4000
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver vfs101
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver vfs301
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver vfs5011
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver upektc_img
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver etes603
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver vfs0050
(process:4545): libfprint-DEBUG: 10:11:49.701: registered driver elan
(process:4545): libfprint-DEBUG: 10:11:49.701: driver uru4000 supports USB device 05ba:000a
(process:4545): libfprint-DEBUG: 10:11:49.701: selected driver uru4000 supports USB device 05ba:000a
Found device claimed by Digital Persona U.are.U 4000/4000B/4500 driver
(process:4545): libfprint-sync-DEBUG: 10:11:49.701: 3225394420: ../libfprint/sync.c:56
(process:4545): libfprint-async-DEBUG: 10:11:49.701: 3225394445: ../libfprint/async.c:59
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.701: ------------------> dev_init() - drive_data value: 5
(process:4545): libfprint-async-DEBUG: 10:11:49.703: status 0
(process:4545): libfprint-sync-DEBUG: 10:11:49.703: status 0
Opened device. It's now time to scan your finger.

(process:4545): libfprint-sync-DEBUG: 10:11:49.703: to be handled by uru4000
(process:4545): libfprint-async-DEBUG: 10:11:49.703: 3225395954: ../libfprint/async.c:526
(process:4545): libfprint-DEBUG: 10:11:49.703: action 4
(process:4545): libfprint-drv-DEBUG: 10:11:49.703: 0x55eb2072b460 entering state 0
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.703: read 1 regs at 7
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.703: reg value 5
(process:4545): libfprint-drv-DEBUG: 10:11:49.703: 0x55eb2072b460 entering state 1
(process:4545): libfprint-drv-DEBUG: 10:11:49.703: 0x55eb2072b460 entering state 3
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.703: set 85
(process:4545): libfprint-drv-DEBUG: 10:11:49.704: 0x55eb2072b460 entering state 4
(process:4545): libfprint-drv-DEBUG: 10:11:49.704: 0x55eb2072b7e0 entering state 0
(process:4545): libfprint-drv-DEBUG: 10:11:49.704: 0x55eb2072b7e0 entering state 1
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.704: set 05
(process:4545): libfprint-drv-DEBUG: 10:11:49.705: 0x55eb2072b7e0 entering state 2
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.705: read 1 regs at 7
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.705: reg value 0
(process:4545): libfprint-drv-DEBUG: 10:11:49.705: 0x55eb2072b7e0 entering state 3
(process:4545): libfprint-drv-DEBUG: 10:11:49.705: 0x55eb2072b7e0 completed with status 0
(process:4545): libfprint-drv-DEBUG: 10:11:49.705: 0x55eb2072b460 entering state 5
(process:4545): libfprint-poll-DEBUG: 10:11:49.705: in 300ms
(process:4545): libfprint-poll-DEBUG: 10:11:49.705: next timeout in 0.299998s
(process:4545): libfprint-poll-DEBUG: 10:11:49.705: next timeout in 0.299987s
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.714: recv irq type 56aa
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.714: late scanpwr interrupt
(process:4545): libfprint-drv-DEBUG: 10:11:49.714: 0x55eb2072b460 entering state 6
(process:4545): libfprint-poll-DEBUG: 10:11:49.714: 3225407164: ../libfprint/poll.c:133
(process:4545): libfprint-drv-DEBUG: 10:11:49.714: 0x55eb2072b460 entering state 7
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.714: read 16 regs at f0
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.715: reg value 45
(process:4545): libfprint-drv-DEBUG: 10:11:49.715: 0x55eb2072b460 entering state 8
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.715: Versions 0040 and 0014
(process:4545): libfprint-drv-DEBUG: 10:11:49.715: 0x55eb2072b460 completed with status 0
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.715: wait finger on
(process:4545): libfprint-DEBUG: 10:11:49.715: status 0
(process:4545): libfprint-async-DEBUG: 10:11:49.715: 3225407724: ../libfprint/async.c:547
(process:4545): libfprint-uru4000-DEBUG: 10:11:49.715: wait finger on


________________________________________
De: Bastien Nocera <hadess at hadess.net>
Enviado: quarta-feira, 22 de agosto de 2018 19:29
Para: Kleyson de Sousa Rios; fprint at lists.freedesktop.org
Assunto: Re: [fprint] UareU 4000B DigitalPersona image encrypted

On Wed, 2018-08-22 at 19:02 +0000, Kleyson de Sousa Rios wrote:
> Hi Bastien,
>
> I figured out that if I comment out the following "if statement", to
> force the execution of the respective code, I get a non-encrypted
> image.
>
>
https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/libfprint/drivers/uru4000.c#L723
>
> For the validation "if (!urudev->profile->encryption)" be true,
> should I set some flag/parameter for the driver on the Linux or is
> the urudev->profile->encryption calculated at run-time ?

It's supposed to be set here:
https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/libfprint/drivers/uru4000.c#L1328

and the "driver_data" value should be the one from this table:
https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/libfprint/drivers/uru4000.c#L1395

Can you please check what the value is for driver_data when dev_init()
is called? It should be 5.

What tool did you use for testing? It's possible that the tool has a
bug, and doesn't call fp_async_dev_open() or fp_dev_open() with a
correct value.

Cheers



More information about the fprint mailing list