Re: [fprint] [Fwd: Re: Upek Eikon II]

2010-04-28 Thread Jorge Suárez de Lis
The upeksonly device seems to work *very* differently to the other two
devices. The upeksonly driver has not the same structure as the upekts
driver as well, and we should need to take a very deep look into its
code to do the matching. I mean, that would be a lot of hard work.

I like your idea, because that would fix the ids issue. But that's too
much work and I'm not very confident that merging two drivers that seem
so different would be the best solution. 

Comments about this would be very appreciated. I actually don't want to
do this if we are able to find a smarter solution.

-- 
Jorge Suárez de Lis y...@jorgesuarezdelis.name

___
fprint mailing list
fprint@reactivated.net
http://lists.reactivated.net/mailman/listinfo/fprint


Re: [fprint] [Fwd: Re: Upek Eikon II]

2010-04-27 Thread Alexia Death
 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.

I have an  upeksonly device. It must be possible to differentiate the
devices at runtime and merge the drivers so that while using one
driver, different code paths are followed. Ive posted several patches
to this list that for while made my upeksonly work quite decently but
after some kernel update something in the data transfer broke. Swiping
fast enough to get a print before a gap was detected became a chore. I
if you want to merge the only driver to upekts, I can provide testing
and diagnostics.



-- 
--Alexia
___
fprint mailing list
fprint@reactivated.net
http://lists.reactivated.net/mailman/listinfo/fprint


Re: [fprint] [Fwd: Re: Upek Eikon II]

2010-04-26 Thread David Hollis
On 04/26/2010 02:33 PM, Jorge Suárez de Lis wrote:
 That's weird. I've never received 2e. You should receive 0d, then 0e,
 then 26 and then 27. But not 2e.
 
 Is your device the same as mine? On the barcode it says TCRD4CA1H6A3.
 
 Try this, after line 1000 (case 0x27:) add this:


I can't check the barcode on the chip (built into my Lenovo T410 laptop)
but the lsusb output is:

Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip
Fingerprint Sensor

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.

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.  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?


___
fprint mailing list
fprint@reactivated.net
http://lists.reactivated.net/mailman/listinfo/fprint


Re: [fprint] [Fwd: Re: Upek Eikon II]

2010-04-26 Thread David Hollis
Full lsusb output:
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip
Fingerprint Sensor
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   1.01
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor   0x147e Upek
  idProduct  0x2016 Biometric Touchchip/Touchstrip Fingerprint
Sensor
  bcdDevice0.02
  iManufacturer   1 UPEK
  iProduct2 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
  bInterfaceNumber0
  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
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02  EP 2 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83  EP 3 IN
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0004  1x 4 bytes
bInterval  20
Device Status: 0x
  (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