[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