<p dir="ltr">Hi Timo,</p>
<p dir="ltr">Please post the output of the command(s) that fail(s). For the driver please run ./autogen.sh, then make, then examples/img_capture.</p>
<br><div class="gmail_quote"><div dir="ltr">On Sat, 27 Jan 2018, 02:32 TeEmZe, <<a href="mailto:timo@teemze.de">timo@teemze.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="en-DE" link="blue" vlink="purple"><div class="m_-3557579776953783527WordSection1"><p class="MsoNormal"><span lang="EN-GB">Hi,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I tried running elanfp.c to get the device specifications Igor wanted, however I got back a <i>Segmentation fault </i>signal. Is it me who’s doing something wrong there?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I also tried compiling / installing the driver from GitHub. However, when I run <i>./configure</i> I get back the message <i>No such file or directory</i>. How should I compile this project?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I’d love to test the current state of the driver, but I’ll need some advice here.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Timo<u></u><u></u></span></p><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Igor Filatov [mailto:<a href="mailto:ia.filatov@gmail.com" target="_blank">ia.filatov@gmail.com</a>] <br><b>Sent:</b> Tuesday, 23 January 2018 22:59<br><b>To:</b> Hans de Goede <<a href="mailto:hdegoede@redhat.com" target="_blank">hdegoede@redhat.com</a>>; <a href="mailto:konachan.700@gmail.com" target="_blank">konachan.700@gmail.com</a>; Sebastien Bechet <<a href="mailto:sebastien.bechet@osinix.com" target="_blank">sebastien.bechet@osinix.com</a>>; TeEmZe <<a href="mailto:timo@teemze.de" target="_blank">timo@teemze.de</a>><br><b>Cc:</b> <a href="mailto:fprint@lists.freedesktop.org" target="_blank">fprint@lists.freedesktop.org</a></span></p></div></div><div lang="en-DE" link="blue" vlink="purple"><div class="m_-3557579776953783527WordSection1"><p class="MsoNormal"><span lang="EN-US"><br><b>Subject:</b> Re: [fprint] elan patch + poc 0x903 and 0x0C03<u></u><u></u></span></p></div></div><div lang="en-DE" link="blue" vlink="purple"><div class="m_-3557579776953783527WordSection1"><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p><div><p class="MsoNormal"><span lang="en-DE">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). <u></u><u></u></span></p><div><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="en-DE">There's a bit mask in each command which you can use to enable/disable commands for a particular device.<u></u><u></u></span></p><div><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="en-DE">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.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="en-DE">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.<u></u><u></u></span></p><div><p class="MsoNormal"><span lang="en-DE"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="en-DE"><a href="https://github.com/iafilatov/libfprint" target="_blank">https://github.com/iafilatov/libfprint</a><u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="en-DE"><u></u> <u></u></span></p><div><div><p class="MsoNormal"><span lang="en-DE">On Fri, Jan 19, 2018 at 3:33 PM TeEmZe <<a href="mailto:timo@teemze.de" target="_blank">timo@teemze.de</a>> wrote:<u></u><u></u></span></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt"><p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="en-DE">Hi,<br><br>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.<br><br>Regards,<br><br>Timo<br><br>-----Original Message-----<br>From: Hans de Goede [mailto:<a href="mailto:hdegoede@redhat.com" target="_blank">hdegoede@redhat.com</a>]<br>Sent: Thursday, 18 January 2018 16:14<br>To: Sebastien Bechet <<a href="mailto:sebastien.bechet@osinix.com" target="_blank">sebastien.bechet@osinix.com</a>>; Igor Filatov <<a href="mailto:ia.filatov@gmail.com" target="_blank">ia.filatov@gmail.com</a>><br>Cc: TeEmZe <<a href="mailto:timo@teemze.de" target="_blank">timo@teemze.de</a>>; <a href="mailto:konachan.700@gmail.com" target="_blank">konachan.700@gmail.com</a>; <a href="mailto:fprint@lists.freedesktop.org" target="_blank">fprint@lists.freedesktop.org</a><br>Subject: Re: [fprint] elan patch + poc 0x903 and 0x0C03<br><br>Hi,<br><br>On 18-01-18 16:03, Sebastien Bechet wrote:<br>> Thank you Igor. Hans, you can try again with last version.<br><br>Not tested, but looking at the code, it will loop in the calibration, my 2 devices both need a:<br><br>if (result == 0x03) break;<br><br>Directly after the:<br><br>printf("Calibration Status: 0x%x\n", result);<br><br>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.<br><br>Regards,<br><br>Hans<br><br><br><br>><br>> I also tried to remove reset+fuseload then calibration not working<br>> anymore for 0x0903. It seems it is a part for calibration (same pdf<br>> file for reset _and_ calibration or .... reset _then_ calibration?).<br>><br>> <a href="https://github.com/sbechet/elanfp" target="_blank">https://github.com/sbechet/elanfp</a><br>><br>> Konata and timo, can you give us width, height, firmware version and<br>> calibration status using elanfp.c please?<br><br><br>><br>><br>><br>> Le jeudi 18 janvier 2018 à 14:02 +0000, Igor Filatov a écrit :<br>>>> square and seems to contain the image 3 times<br>>> Could be because convert is hardcoded at 96x96.<br>>><br>>> On Thu, 18 Jan 2018, 12:04 Hans de Goede, <<a href="mailto:hdegoede@redhat.com" target="_blank">hdegoede@redhat.com</a>><br>>> wrote:<br>>>> Hi,<br>>>><br>>>> On 18-01-18 10:48, Sébastien Béchet wrote:<br>>>>> On 17-01-18 19:21, Igor Filatov wrote:<br>>>>>> We didn't have the spec before so I had no idea how different<br>>>> devices worked. Especially given that some commands which worked<br>>>> fine for me produced errors one other devices. Now that we have the<br>>>> docs I'll work on adapting the driver. Naturally, any info you have<br>>>> is welcome and so is any help with testing.<br>>>>><br>>>>> I have done the [synthesis](<a href="https://github.com/sbechet/elanfp/blo" target="_blank">https://github.com/sbechet/elanfp/blo</a><br>>>> b/master/README.md) about all informations we have a prepare<br>>>> questions for KT.<br>>>><br>>>> My 0x0c16 id reader has firmware version 1.56, resolution 96x96<br>>>><br>>>> I also have bought a stand-alone USB reader for when I would find<br>>>> time to work on this, this has an usb-id of: 0x0c26.<br>>>><br>>>> After aking these changes:<br>>>><br>>>> --- elanfp.c~   2018-01-18 10:58:59.919912347 +0100<br>>>> +++ elanfp.c    2018-01-18 11:01:50.346280668 +0100<br>>>> @@ -71,7 +71,8 @@<br>>>>                    (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0903) ||<br>>>>                    (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0907) ||<br>>>>                    (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0c03) ||<br>>>> -                (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0c16) ) {<br>>>> +                (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0c16) ||<br>>>> +                (desc.idVendor == 0x04f3) && (desc.idProduct ==<br>>>> 0x0c26) ) {<br>>>>                    r0 = 0;<br>>>>                    printf("Device with vid %x pid %x found.\n",<br>>>> desc.idVendor, desc.idProduct);<br>>>>                    break;<br>>>> @@ -156,7 +157,7 @@<br>>>>            printf("CMD Get Image Size sent\n");<br>>>>        }<br>>>>        r0 = libusb_bulk_transfer(handle, BULK_EP3_IN, img_buf, 4,<br>>>> &transferred, 0);<br>>>> -    printf("Width x height = %dx%d\n", img_buf[0], img_buf[2]);<br>>>> +    printf("Width x height = %dx%d\n", (unsigned char)img_buf[0],<br>>>> (unsigned char)img_buf[2]);<br>>>><br>>>>        /* calibration */<br>>>><br>>>> @@ -180,6 +181,7 @@<br>>>>            }<br>>>>            r0 = libusb_bulk_transfer(handle, BULK_EP3_IN, &result,<br>>>> 1, &transferred, 0);<br>>>>            printf("Calibration Status: 0x%x\n", result);<br>>>> +        if (result == 0x03) break;<br>>>><br>>>>            r0 = libusb_bulk_transfer(handle, BULK_EP1_OUT,<br>>>> get_cmd_status, 2, &transferred, 0);<br>>>>            if((r0 == 0) && (transferred == 2)) {<br>>>><br>>>> This one works with the POC too, although for some reason the<br>>>> generated out.png is square and seems to contain the image 3 times?<br>>>><br>>>> This one has firmware version 1.64, resolution 64x144 and as shown<br>>>> in the necessary changes this one does report a calibration status<br>>>> of 0x03 when it is done with the calibration, I think we should add<br>>>> an extra column for this to the hardware report table.<br>>>><br>>>> Regards,<br>>>><br>>>> Hans<u></u><u></u></span></p></blockquote></div></div></div></div></div></div></div></blockquote></div>