<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;color:#0b5394">Hello,</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;color:#0b5394">I do have a Xiaomi laptop which use Elantech device, currently its not working even though it on supported device list. I can help to test new driver.</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><b><font face="tahoma, sans-serif"><font color="#0000ff">--</font><br><font color="#666666">Best Regards,</font><br></font></b><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-size:11pt;color:rgb(0,128,128)"><font face="tahoma, sans-serif"><b>Mozammel Hossain</b></font></span></p><p style="margin:0px;text-indent:0px"><font face="tahoma, sans-serif"><b>M: +95 9786256424</b></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:tahoma,sans-serif"><span style="font-size:11pt;font-weight:600;color:#008080"></span></span><span style="font-family:georgia,serif"></span></p></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 12, 2019 at 7:28 PM Benjamin Berg <<a href="mailto:benjamin@sipsolutions.net">benjamin@sipsolutions.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I am wrapping up the libfprint update, and I am also adding automated<br>
tests using umockdev. In the future, it will be mandatory for drivers<br>
to ship a simple umockdev based test case.<br>
<br>
This is something where I would really appreciate help. If anyone has a<br>
device, please have a look at the test/README-umockdev and submit a new<br>
test for it.<br>
<br>
Please note, that umockdev currently has a bug, this may cause random<br>
test failures. So if the created test fails sometimes, this is to be<br>
expected:<br>
  <a href="https://github.com/martinpitt/umockdev/pull/92" rel="noreferrer" target="_blank">https://github.com/martinpitt/umockdev/pull/92</a><br>
<br>
<br>
At this point all drivers are ported. A lot of them have not been<br>
tested though, so any help here is still appreciated (also, see above<br>
for submitting automated tests).<br>
<br>
Known to be working:<br>
 * vfs101<br>
 * upektc_img<br>
 * aes2660 and aes1660<br>
 * aes2550<br>
 * synaptics (new)<br>
<br>
Known to have issues:<br>
 * etes603<br>
<br>
I should have an elan device soon, but if anyone can test it, that<br>
would be useful.<br>
<br>
Benjamin<br>
<br>
On Wed, 2019-07-10 at 14:09 +0200, Benjamin Berg wrote:<br>
> so, I have worked on this for a while now, and I pushed my changes to<br>
> the<br>
>   <a href="https://gitlab.freedesktop.org/libfprint/libfprint/commits/wip/benzea/v2" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/libfprint/libfprint/commits/wip/benzea/v2</a><br>
> branch.<br>
> <br>
> This is not yet quite complete. Some changes are more invasive,<br>
> others<br>
> are less so. Most drivers have been ported at this point (fixing a<br>
> number of issues in the process). Unfortunately, I have only been<br>
> able<br>
> to test two of the drivers on real hardware.<br>
> <br>
> It would be great if people could take a look and test this. For<br>
> testing, you have two ways:<br>
>  * Grab the git repository and build locally<br>
>    - Run demo/gtk-libfprint-test as root from the build directory<br>
>  * Grab the flatpak from the CI pipeline, then:<br>
>    - Add e.g. the flathub repository (by going to <a href="http://flathub.org" rel="noreferrer" target="_blank">flathub.org</a>)<br>
>    - flatpak install org.gnome.Platform/x86_64/3.32<br>
>    - flatpak install --no-deps --bundle DOWNLOADED_FLATPAK<br>
>    - Make sure your user can access the USB device in /dev/bus/usb<br>
>    - flatpak run org.freedesktop.libfprint.Demo<br>
> <br>
> When testing, please watch out for warnings that may need to be<br>
> fixed.<br>
> <br>
> I am planning in adding a way to record a trace of the USB traffic.<br>
> The<br>
> idea is that we can run a basic simulation as a CI test. But I am not<br>
> sure how this will look like in the end.<br>
> <br>
> Some of the highlights:<br>
>  * Working CI using a new virtual image driver<br>
>  * Generation of GIR data (i.e. various language bindings)<br>
>  * More convenient USB API for drivers<br>
> <br>
> From the user perspective, the API changes in the following ways:<br>
>  * Use of GLib style asynchronous API with cancellation handling<br>
>  * A new FpContext object, that handles enumeration and hotplugging<br>
>  * FpPrint (was struct fp_print) can now stores some more metadata:<br>
>    - Username<br>
>    - Description<br>
>    - Enroll Date<br>
>  * The enroll call now takes a template print, this is so that the<br>
>    driver could make use of the above metadata.<br>
>  * Retry conditions are just errors, but they are in the<br>
>    FP_DEVICE_RETRY error domain.<br>
>  * New "list" and "delete" commands (not quite there but this is<br>
> purely<br>
>    something for the drivers to handle).<br>
>  * Requires GLib mainloop<br>
> <br>
> On the drivers side, the API has not changed as much. There are a<br>
> number of changes in the boilerplate code though and changed function<br>
> names. Other than that:<br>
>  * Updated custom USB transfer API (no libusb anymore)<br>
>    - Starting a transfer always succeeds (simplified error handling)<br>
>    - More convenient parameters for the callback function<br>
>  * Changed error reporting (GError instead of pure integer)<br>
> <br>
> Comments and feedback are welcome!<br>
> <br>
> Benjamin<br>
> <br>
> On Tue, 2019-06-18 at 10:48 +0200, Benjamin Berg wrote:<br>
> > I realised that I only had talked to a few individuals about this,<br>
> > so<br>
> > it seems like a good idea to inform the ML about some of the ideas.<br>
> > <br>
> > The current situation is that we are looking at adding support for<br>
> > devices that store the print data in the sensor. With these<br>
> > devices,<br>
> > a<br>
> > few new operations will be necessary:<br>
> > <br>
> >  * Deleting prints from the device when deleting them from the host<br>
> >    <br>
> > <a href="https://gitlab.freedesktop.org/libfprint/libfprint/merge_requests/54" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/libfprint/libfprint/merge_requests/54</a><br>
> >  * Garbage collecting old prints<br>
> >    (e.g. left over from e.g. old installations)<br>
> >    - Listing prints from the device<br>
> >    - Deleting prints that are unknown on the host<br>
> > <br>
> > Another important change is to support non-USB devices. My main<br>
> > motivation for this right now is adding virtual devices for testing<br>
> >   <br>
> > <a href="https://gitlab.freedesktop.org/libfprint/libfprint/merge_requests/53" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/libfprint/libfprint/merge_requests/53</a><br>
> > <br>
> > <br>
> > After some discussions, the idea is to bump the soname/version of<br>
> > libfprint and then add the required API for the mentioned sensors.<br>
> > Doing so also gives us the chance to clean up the external API.<br>
> > <br>
> > I am currently looking into this, considering the following:<br>
> >  * A GLib based external (and internal API)<br>
> >    - Allows proper async operations and cancellation<br>
> >    - Use GError for error reporting; so that applications don't<br>
> >      need to assume libusb error codes<br>
> >    - Removes the need for custom mainloop code<br>
> >  * Possibly port libfprint to libgusb rather than libusb<br>
> >    - Hopefully easier integration with the above changes<br>
> >  * Dropping the special fp_dscv_dev and just having an fp_dev<br>
> >    that needs to be opened/closed.<br>
> >  * Handling fp_imgdev as a "subclass" (i.e. with the fp_dev struct<br>
> >    embedded at the start). Maybe even as a GObject.<br>
> > <br>
> > This will to result in a lot of collateral changes in all drivers.<br>
> > <br>
> > Benjamin<br>
> > _______________________________________________<br>
> > fprint mailing list<br>
> > <a href="mailto:fprint@lists.freedesktop.org" target="_blank">fprint@lists.freedesktop.org</a><br>
> > <a href="https://lists.freedesktop.org/mailman/listinfo/fprint" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/fprint</a><br>
> <br>
> _______________________________________________<br>
> fprint mailing list<br>
> <a href="mailto:fprint@lists.freedesktop.org" target="_blank">fprint@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/fprint" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/fprint</a><br>
<br>
<br>
_______________________________________________<br>
fprint mailing list<br>
<a href="mailto:fprint@lists.freedesktop.org" target="_blank">fprint@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/fprint" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/fprint</a></blockquote></div>