Hi,

/examples/img_capture/ had the following output (I had to put my finger on it at some point of time):

   fp:debug [fp_init]
   fp:debug [register_driver] registered driver upekts
   fp:debug [register_driver] registered driver aes3500
   fp:debug [register_driver] registered driver aes4000
   fp:debug [register_driver] registered driver aes2501
   fp:debug [register_driver] registered driver aes2550
   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
   fp:debug [register_driver] registered driver aes1660
   fp:debug [register_driver] registered driver aes2660
   fp:debug [register_driver] registered driver vfs101
   fp:debug [register_driver] registered driver vfs301
   fp:debug [register_driver] registered driver vfs5011
   fp:debug [register_driver] registered driver upektc
   fp:debug [register_driver] registered driver upektc_img
   fp:debug [register_driver] registered driver etes603
   fp:debug [register_driver] registered driver vfs0050
   fp:debug [register_driver] registered driver elan
   fp:debug [find_supporting_driver] driver elan supports USB device
   04f3:0c1a
   fp:debug [find_supporting_driver] selected driver elan supports USB
   device 04f3:0c1a
   Found device claimed by ElanTech Fingerprint Sensor driver
   sync:debug [fp_dev_open]
   async:debug [fp_async_dev_open]
   elan:debug [dev_init]
   async:debug [fpi_drvcb_open_complete] status 0
   sync:debug [sync_open_cb] status 0
   Opened device. It's now time to scan your finger.

   sync:debug [fp_dev_img_capture] to be handled by elan
   async:debug [fp_async_capture_start]
   fp:debug [generic_acquire_start] action 4
   elan:debug [elan_reset_sensor]
   elan:debug [elan_dev_reset]
   drv:debug [__ssm_call_handler] 0x5618b98974b0 entering state 0
   elan:debug [elan_run_cmd] 4011
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_read] skipping read, not expecting anything
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b98974b0 entering state 1
   poll:debug [fpi_timeout_add] in 5ms
   poll:debug [get_next_timeout_expiry] next timeout in 0.004979s
   poll:debug [get_next_timeout_expiry] next timeout in 0.004964s
   poll:debug [get_next_timeout_expiry] first timeout already expired
   poll:debug [handle_timeout]
   drv:debug [__ssm_call_handler] 0x5618b98974b0 entering state 2
   elan:debug [elan_run_cmd] 4014
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_read] skipping read, not expecting anything
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b98974b0 entering state 3
   elan:debug [elan_run_cmd] 4013
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [fpi_ssm_mark_completed] 0x5618b98974b0 completed with
   status 0
   elan:debug [reset_sensor_complete]
   elan:debug [elan_activate]
   elan:debug [elan_dev_reset]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 0
   elan:debug [activate_run_state]
   elan:debug [elan_run_cmd] 4019
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 1
   elan:debug [activate_run_state]
   elan:debug [activate_run_state] FW ver 1.66
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 2
   elan:debug [activate_run_state]
   elan:debug [elan_run_cmd] 000c
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 3
   elan:debug [activate_run_state]
   elan:debug [activate_run_state] sensor dimensions, WxH: 144x64
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 4
   elan:debug [activate_run_state]
   elan:debug [elan_run_cmd] 402a
   elan:debug [elan_run_cmd] skipping for this device
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 5
   elan:debug [activate_run_state]
   elan:debug [elan_run_cmd] 0009
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 6
   elan:debug [activate_run_state]
   elan:debug [elan_save_frame]
   drv:debug [__ssm_call_handler] 0x5618b988e110 entering state 7
   elan:debug [activate_run_state]
   elan:debug [elan_run_cmd] 4024
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [fpi_ssm_mark_completed] 0x5618b988e110 completed with
   status 0
   elan:debug [activate_complete]
   elan:debug [elan_need_calibration]
   elan:debug [elan_need_calibration] calibration mean: 7533, bg mean:
   7483, delta: 50
   fp:debug [fpi_imgdev_activate_complete] status 0
   async:debug [fpi_drvcb_capture_started]
   elan:debug [elan_capture]
   elan:debug [elan_dev_reset]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 0
   elan:debug [elan_run_cmd] 4031
   elan:debug [elan_run_cmd] skipping for this device
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 1
   elan:debug [elan_run_cmd] 403f
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 2
   fp:debug [fpi_imgdev_report_finger_status] finger on sensor
   elan:debug [elan_run_cmd] 0009
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 3
   elan:debug [elan_save_frame]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 1
   elan:debug [elan_run_cmd] 403f
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 2
   fp:debug [fpi_imgdev_report_finger_status] finger on sensor
   fp:debug [fpi_imgdev_report_finger_status] ignoring status report
   elan:debug [elan_run_cmd] 0009
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_done]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 3
   elan:debug [elan_save_frame]
   drv:debug [__ssm_call_handler] 0x5618b988dc70 entering state 1
   elan:debug [elan_run_cmd] 403f
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_cb] transfer timed out
   drv:debug [fpi_ssm_mark_aborted] error -110 from state 1
   drv:debug [fpi_ssm_mark_completed] 0x5618b988dc70 completed with
   status -110
   elan:debug [capture_complete]
   fp:debug [fpi_imgdev_session_error] error 101
   async:debug [fpi_drvcb_report_capture_result] result 101
   sync:error [fp_dev_img_capture] unrecognised return code 101
   sync:debug [fp_dev_img_capture] ending capture
   async:debug [fp_async_capture_stop]
   elan:debug [elan_deactivate]
   elan:debug [elan_dev_reset]
   drv:debug [__ssm_call_handler] 0x5618b9897610 entering state 0
   elan:debug [deactivate_run_state]
   elan:debug [elan_run_cmd] 000b
   elan:debug [elan_cmd_cb]
   elan:debug [elan_cmd_read]
   elan:debug [elan_cmd_read] skipping read, not expecting anything
   elan:debug [elan_cmd_done]
   drv:debug [fpi_ssm_mark_completed] 0x5618b9897610 completed with
   status 0
   elan:debug [deactivate_complete]
   fp:debug [fpi_imgdev_deactivate_complete]
   async:debug [fpi_drvcb_capture_stopped]
   sync:debug [capture_stop_cb]
   image capture failed, code -22
   sync:debug [fp_dev_close]
   elan:debug [dev_deinit]
   elan:debug [elan_dev_reset]
   async:debug [fpi_drvcb_close_complete]
   sync:debug [sync_close_cb]
   fp:debug [fp_exit]

I guess this means that it works?

/elanfp.c/ however had the output (after I properly installed / executed it):

    Device with vid 4f3 pid c1a found.
    Error 5

Which seems to mean, that the reader couldn't be opened?


Regards

Timo


On 27.01.2018 08:47, Igor Filatov wrote:

Hi Timo,

Please post the output of the command(s) that fail(s). For the driver please run ./autogen.sh, then make, then examples/img_capture.


On Sat, 27 Jan 2018, 02:32 TeEmZe, <t...@teemze.de <mailto:t...@teemze.de>> wrote:

    Hi,

    I tried running elanfp.c to get the device specifications Igor
    wanted, however I got back a /Segmentation fault /signal. Is it me
    who’s doing something wrong there?

    I also tried compiling / installing the driver from GitHub.
    However, when I run /./configure/ I get back the message /No such
    file or directory/. How should I compile this project?

    I’d love to test the current state of the driver, but I’ll need
    some advice here.

    Regards,

    Timo

    *From:*Igor Filatov [mailto:ia.fila...@gmail.com
    <mailto:ia.fila...@gmail.com>]
    *Sent:* Tuesday, 23 January 2018 22:59
    *To:* Hans de Goede <hdego...@redhat.com
    <mailto:hdego...@redhat.com>>; konachan....@gmail.com
    <mailto:konachan....@gmail.com>; Sebastien Bechet
    <sebastien.bec...@osinix.com
    <mailto:sebastien.bec...@osinix.com>>; TeEmZe <t...@teemze.de
    <mailto:t...@teemze.de>>
    *Cc:* fprint@lists.freedesktop.org
    <mailto:fprint@lists.freedesktop.org>


    *Subject:* Re: [fprint] elan patch + poc 0x903 and 0x0C03

    I've updated the driver to support the devices known so far.
    Please see if it works for you. Please send me your logs if not.
    I've enabled all commands for all devices (except 0x4031 which
    I've enabled only on my 0x0907 -- no idea what it does, but the
    response is 0x01).

    There's a bit mask in each command which you can use to
    enable/disable commands for a particular device.

    As for calibration, the driver doesn't expect 0x03 because not all
    devices seem to return 0x03 or 0x01. Instead it will retry *only*
    if the response is 0x03 and until it's different.

    I've enabled reset & fuse load for my device. Although I haven't
    seen it done by the original driver, it doesn't seem to hurt. So
    please see if it cause problems for you. Let's disable it only for
    devices where it does.

    https://github.com/iafilatov/libfprint

    On Fri, Jan 19, 2018 at 3:33 PM TeEmZe <t...@teemze.de
    <mailto:t...@teemze.de>> wrote:

        Hi,

        Sadly I won't be able to get the data until next week, as I
        currently don't have access to the Laptop. I'll notify you as
        soon as I manage to get the data.

        Regards,

        Timo

        -----Original Message-----
        From: Hans de Goede [mailto:hdego...@redhat.com
        <mailto:hdego...@redhat.com>]
        Sent: Thursday, 18 January 2018 16:14
        To: Sebastien Bechet <sebastien.bec...@osinix.com
        <mailto:sebastien.bec...@osinix.com>>; Igor Filatov
        <ia.fila...@gmail.com <mailto:ia.fila...@gmail.com>>
        Cc: TeEmZe <t...@teemze.de <mailto:t...@teemze.de>>;
        konachan....@gmail.com <mailto:konachan....@gmail.com>;
        fprint@lists.freedesktop.org <mailto:fprint@lists.freedesktop.org>
        Subject: Re: [fprint] elan patch + poc 0x903 and 0x0C03

        Hi,

        On 18-01-18 16:03, Sebastien Bechet wrote:
        > Thank you Igor. Hans, you can try again with last version.

        Not tested, but looking at the code, it will loop in the
        calibration, my 2 devices both need a:

        if (result == 0x03) break;

        Directly after the:

        printf("Calibration Status: 0x%x\n", result);

        Line, currently the code only checks for result == 0x03 for
        the result of the get_cmd_status command, while it should
        check (for my devices) the result of the get_cmd_calibration
        command.

        Regards,

        Hans



        >
        > I also tried to remove reset+fuseload then calibration not
        working
        > anymore for 0x0903. It seems it is a part for calibration
        (same pdf
        > file for reset _and_ calibration or .... reset _then_
        calibration?).
        >
        > https://github.com/sbechet/elanfp
        >
        > Konata and timo, can you give us width, height, firmware
        version and
        > calibration status using elanfp.c please?


        >
        >
        >
        > Le jeudi 18 janvier 2018 à 14:02 +0000, Igor Filatov a écrit :
        >>> square and seems to contain the image 3 times
        >> Could be because convert is hardcoded at 96x96.
        >>
        >> On Thu, 18 Jan 2018, 12:04 Hans de Goede,
        <hdego...@redhat.com <mailto:hdego...@redhat.com>>
        >> wrote:
        >>> Hi,
        >>>
        >>> On 18-01-18 10:48, Sébastien Béchet wrote:
        >>>> On 17-01-18 19:21, Igor Filatov wrote:
        >>>>> We didn't have the spec before so I had no idea how
        different
        >>> devices worked. Especially given that some commands which
        worked
        >>> fine for me produced errors one other devices. Now that we
        have the
        >>> docs I'll work on adapting the driver. Naturally, any info
        you have
        >>> is welcome and so is any help with testing.
        >>>>
        >>>> I have done the
        [synthesis](https://github.com/sbechet/elanfp/blo
        >>> b/master/README.md) about all informations we have a prepare
        >>> questions for KT.
        >>>
        >>> My 0x0c16 id reader has firmware version 1.56, resolution
        96x96
        >>>
        >>> I also have bought a stand-alone USB reader for when I
        would find
        >>> time to work on this, this has an usb-id of: 0x0c26.
        >>>
        >>> After aking these changes:
        >>>
        >>> --- elanfp.c~   2018-01-18 10:58:59.919912347 +0100
        >>> +++ elanfp.c    2018-01-18 11:01:50.346280668 +0100
        >>> @@ -71,7 +71,8 @@
        >>> (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0903) ||
        >>> (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0907) ||
        >>> (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0c03) ||
        >>> - (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0c16) ) {
        >>> + (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0c16) ||
        >>> + (desc.idVendor == 0x04f3) && (desc.idProduct ==
        >>> 0x0c26) ) {
        >>>                    r0 = 0;
        >>> printf("Device with vid %x pid %x found.\n",
        >>> desc.idVendor, desc.idProduct);
        >>>                    break;
        >>> @@ -156,7 +157,7 @@
        >>>            printf("CMD Get Image Size sent\n");
        >>>        }
        >>>        r0 = libusb_bulk_transfer(handle, BULK_EP3_IN,
        img_buf, 4,
        >>> &transferred, 0);
        >>> -    printf("Width x height = %dx%d\n", img_buf[0],
        img_buf[2]);
        >>> +    printf("Width x height = %dx%d\n", (unsigned
        char)img_buf[0],
        >>> (unsigned char)img_buf[2]);
        >>>
        >>>        /* calibration */
        >>>
        >>> @@ -180,6 +181,7 @@
        >>>            }
        >>>            r0 = libusb_bulk_transfer(handle, BULK_EP3_IN,
        &result,
        >>> 1, &transferred, 0);
        >>> printf("Calibration Status: 0x%x\n", result);
        >>> +        if (result == 0x03) break;
        >>>
        >>>            r0 = libusb_bulk_transfer(handle, BULK_EP1_OUT,
        >>> get_cmd_status, 2, &transferred, 0);
        >>>            if((r0 == 0) && (transferred == 2)) {
        >>>
        >>> This one works with the POC too, although for some reason the
        >>> generated out.png is square and seems to contain the image
        3 times?
        >>>
        >>> This one has firmware version 1.64, resolution 64x144 and
        as shown
        >>> in the necessary changes this one does report a
        calibration status
        >>> of 0x03 when it is done with the calibration, I think we
        should add
        >>> an extra column for this to the hardware report table.
        >>>
        >>> Regards,
        >>>
        >>> Hans


_______________________________________________
fprint mailing list
fprint@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/fprint

Reply via email to