Full lsusb output:
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip
Fingerprint Sensor
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.01
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x147e Upek
idProduct 0x2016 Biometric Touchchip/Touchstrip Fingerprint
Sensor
bcdDevice 0.02
iManufacturer 1 UPEK
iProduct 2 Biometric Coprocessor
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 20
Device Status: 0x0000
(Bus Powered)
Debug output from enrollment:
fp:debug [fp_init]
fp:debug [register_driver] registered driver upekts
fp:debug [register_driver] registered driver aes4000
fp:debug [register_driver] registered driver aes2501
fp:debug [register_driver] registered driver uru4000
fp:debug [register_driver] registered driver vcom5s
fp:debug [register_driver] registered driver upeksonly
fp:debug [register_driver] registered driver aes1610
Launching FprintObject
fp:debug [find_supporting_driver] driver upekts supports USB device
147e:2016
** Message: D-Bus service launched with name: net.reactivated.Fprint
** Message: entering main loop
** Message: user 'dhollis' claiming the device: 0
async:debug [fp_async_dev_open]
** Message: now monitoring fd 8
async:debug [fpi_drvcb_open_complete] status 0
** Message: device 0 claim status 0
** Message: start enrollment device 0 finger 7
async:debug [fp_async_enroll_start] starting enrollment
drv:debug [__ssm_call_handler] 0x2516bd0 entering state 0
drv:debug [__ssm_call_handler] 0x2527a50 entering state 0
drv:debug [__ssm_call_handler] 0x2527a50 entering state 1
upekts:debug [__handle_incoming_msg] A=03 B=00 len=5
upekts:debug [__handle_incoming_msg] cmd 3 from device to driver
drv:debug [__ssm_call_handler] 0x2527a50 entering state 2
upekts:debug [alloc_send_cmdresponse_transfer] seq=04 len=8
upekts:debug [initsm_send_msg_cb] state 2 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 3
upekts:debug [__handle_incoming_msg] A=05 B=00 len=1
upekts:debug [__handle_incoming_msg] cmd 5 from device to driver
drv:debug [__ssm_call_handler] 0x2527a50 entering state 4
upekts:debug [alloc_send_cmd28_transfer] seq=00 subcmd=06 with 1 bytes
of data
upekts:debug [initsm_send_msg_cb] state 4 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 5
upekts:debug [__handle_incoming_msg] A=00 B=00 len=55
upekts:debug [__handle_incoming_msg] device responds to subcmd 6 with 49
bytes
upekts:debug [initsm_read_msg_response_cb] state 5 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 6
upekts:debug [alloc_send_cmd28_transfer] seq=10 subcmd=51 with 5 bytes
of data
upekts:debug [initsm_send_msg_cb] state 6 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 7
upekts:debug [__handle_incoming_msg] A=00 B=10 len=27
upekts:debug [__handle_incoming_msg] device responds to subcmd 51 with
21 bytes
upekts:debug [initsm_read_msg_response_cb] state 7 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 8
upekts:debug [alloc_send_cmd28_transfer] seq=20 subcmd=07 with 5 bytes
of data
upekts:debug [initsm_send_msg_cb] state 8 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 9
upekts:debug [__handle_incoming_msg] A=00 B=20 len=39
upekts:debug [__handle_incoming_msg] device responds to subcmd 7 with 33
bytes
upekts:debug [initsm_read_msg_response_cb] state 9 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 10
upekts:debug [alloc_send_cmd28_transfer] seq=30 subcmd=08 with 99 bytes
of data
upekts:debug [initsm_send_msg_cb] state 10 completed
drv:debug [__ssm_call_handler] 0x2527a50 entering state 11
upekts:debug [__handle_incoming_msg] A=00 B=30 len=7
upekts:debug [__handle_incoming_msg] non-zero bytes in cmd response
upekts:debug [__handle_incoming_msg] device responds to subcmd 8 with 1
bytes
upekts:debug [initsm_read_msg_response_cb] state 11 completed
drv:debug [fpi_ssm_mark_completed] 0x2527a50 completed with status 0
drv:debug [__ssm_call_handler] 0x2516bd0 entering state 1
upekts:debug [alloc_send_cmd28_transfer] seq=40 subcmd=02 with 8 bytes
of data
drv:debug [__ssm_call_handler] 0x2516bd0 entering state 2
upekts:debug [__handle_incoming_msg] A=00 B=40 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
drv:debug [fpi_ssm_mark_completed] 0x2516bd0 completed with status 0
async:debug [fpi_drvcb_enroll_started] status 0
upekts:debug [alloc_send_cmd28_transfer] seq=50 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=50 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=60 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=60 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=70 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=70 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=80 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=80 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=90 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=90 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=a0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=08 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 8 from device to driver
upekts:debug [__handle_incoming_msg] device busy, send busy-ack
upekts:debug [alloc_send_cmdresponse_transfer] seq=09 len=0
upekts:debug [__handle_incoming_msg] A=00 B=a0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 20
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=b0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=b0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 2e
async:debug [fpi_drvcb_enroll_stage_completed] result 3
** Message: enroll_stage_cb: result 3
upekts:debug [e_handle_resp00] fuck yeah!!
upekts:debug [alloc_send_cmd28_transfer] seq=c0 subcmd=00 with 2 bytes
of data
upekts:debug [e_handle_resp00] doh!!
upekts:debug [__handle_incoming_msg] A=00 B=c0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=d0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=d0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=e0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=e0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=f0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=f0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=00 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=00 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=10 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=10 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=20 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=20 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=30 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=30 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=40 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=08 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 8 from device to driver
upekts:debug [__handle_incoming_msg] device busy, send busy-ack
upekts:debug [alloc_send_cmdresponse_transfer] seq=09 len=0
upekts:debug [__handle_incoming_msg] A=00 B=40 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 20
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=50 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=50 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 2e
async:debug [fpi_drvcb_enroll_stage_completed] result 3
** Message: enroll_stage_cb: result 3
upekts:debug [e_handle_resp00] fuck yeah!!
upekts:debug [alloc_send_cmd28_transfer] seq=60 subcmd=00 with 2 bytes
of data
upekts:debug [e_handle_resp00] doh!!
upekts:debug [__handle_incoming_msg] A=00 B=60 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=70 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=70 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=80 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=80 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=90 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=90 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=a0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=08 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 8 from device to driver
upekts:debug [__handle_incoming_msg] device busy, send busy-ack
upekts:debug [alloc_send_cmdresponse_transfer] seq=09 len=0
upekts:debug [__handle_incoming_msg] A=00 B=a0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 20
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=b0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=b0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 2e
async:debug [fpi_drvcb_enroll_stage_completed] result 3
** Message: enroll_stage_cb: result 3
upekts:debug [e_handle_resp00] fuck yeah!!
upekts:debug [alloc_send_cmd28_transfer] seq=c0 subcmd=00 with 2 bytes
of data
upekts:debug [e_handle_resp00] doh!!
upekts:debug [__handle_incoming_msg] A=00 B=c0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=d0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=d0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=e0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=e0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=f0 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=f0 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=00 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=08 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 8 from device to driver
upekts:debug [__handle_incoming_msg] device busy, send busy-ack
upekts:debug [alloc_send_cmdresponse_transfer] seq=09 len=0
upekts:debug [__handle_incoming_msg] A=00 B=00 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 20
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=10 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=10 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 2e
async:debug [fpi_drvcb_enroll_stage_completed] result 3
** Message: enroll_stage_cb: result 3
upekts:debug [e_handle_resp00] fuck yeah!!
upekts:debug [alloc_send_cmd28_transfer] seq=20 subcmd=00 with 2 bytes
of data
upekts:debug [e_handle_resp00] doh!!
upekts:debug [__handle_incoming_msg] A=00 B=20 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=30 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=30 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=40 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=40 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=50 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=50 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 0c
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=60 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=00 B=60 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 20
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=70 subcmd=00 with 2 bytes
of data
upekts:debug [__handle_incoming_msg] A=08 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 8 from device to driver
upekts:debug [__handle_incoming_msg] device busy, send busy-ack
upekts:debug [alloc_send_cmdresponse_transfer] seq=09 len=0
upekts:debug [__handle_incoming_msg] A=00 B=70 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 2e
async:debug [fpi_drvcb_enroll_stage_completed] result 3
** Message: enroll_stage_cb: result 3
upekts:debug [e_handle_resp00] fuck yeah!!
upekts:debug [alloc_send_cmd28_transfer] seq=80 subcmd=00 with 2 bytes
of data
upekts:debug [e_handle_resp00] doh!!
upekts:debug [__handle_incoming_msg] A=00 B=80 len=20
upekts:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
bytes
upekts:debug [e_handle_resp00] poll result = 00
upekts:debug [e_handle_resp00] huh?!
upekts:debug [alloc_send_cmd28_transfer] seq=90 subcmd=00 with 2 bytes
of data
upekts:debug [read_msg_cb] didn't fit in buffer, need to extend by 1324
bytes
upekts:debug [__handle_incoming_msg] A=00 B=90 len=1379
upekts:debug [__handle_incoming_msg] device responds to subcmd 2 with
1373 bytes
fp:debug [print_data_new] length=1368 driver=01 devtype=0000
async:debug [fpi_drvcb_enroll_stage_completed] result 1
** Message: enroll_stage_cb: result 1
fp:debug [fp_print_data_get_data]
async:debug [fp_async_enroll_stop]
drv:debug [__ssm_call_handler] 0x2528890 entering state 0
upekts:debug [alloc_send_cmdresponse_transfer] seq=07 len=1
drv:debug [__ssm_call_handler] 0x2528890 entering state 1
upekts:debug [__handle_incoming_msg] A=01 B=00 len=0
upekts:debug [__handle_incoming_msg] cmd 1 from device to driver
drv:debug [fpi_ssm_mark_completed] 0x2528890 completed with status 0
async:debug [fpi_drvcb_enroll_stopped]
async:debug [fpi_drvcb_close_complete]
** Message: no longer monitoring fd 8
** Message: released device 0
On 04/26/2010 05:19 PM, Jorge Suárez de Lis wrote:
>> Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip
>> Fingerprint Sensor
>
> The name is actually given by the Linux kernel. What actually matters is
> just the IDs. And it seems these IDs are very popular amongst these
> readers.
>
>> I added the case 'case 0x2e' part and it actually will enroll my
>> fingerprint! I just checked the enrollment with fprintd-verify and it
>> verified with no problems.
>
> Good news! =) I'd appreciate a debug output of the full enrollment
> process, to see what's going on with your device.
>
>> So the current downside is that the 0483:2016 device no longer works
>> with this code so it'd really be best to get the upekts.c driver to work
>> properly with both devices.
>
> Ok, I'll try to make a patch for tomorrow so upekts will support the
> original reader, your reader and mine.
>
>> Are there multiple devices matching
>> 147e:2016 that would need to be addressed somehow so that upeksonly
>> could still service the 'old' device and upekts could service the 'new'
>> version? Any idea if there is any way to differentiate?
>
> I don't think there's any way to do this on fprint. I still have to take
> a better look at the code, but it seems that the drivers just register
> themselves as "I am ready to support the device with these IDs, so I'll
> do the job".
>
> Can you also post the relevant output of the command "lsusb -vvv"? Do it
> as root, please.
>
> Thank you!
>
_______________________________________________
fprint mailing list
[email protected]
http://lists.reactivated.net/mailman/listinfo/fprint