[fprint] elan patch + poc 0x903 and 0x0C03

Igor Filatov ia.filatov at gmail.com
Thu Jan 18 14:02:43 UTC 2018


> 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, <hdegoede at 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/blob/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 making 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/fprint/attachments/20180118/d46fe155/attachment.html>


More information about the fprint mailing list