Skip to content

Add driver for ELAN MoC 0c4c

Davide Depau requested to merge depau/libfprint:elanmoc2 into master

Closes #406

Currently this is an early draft, it doesn't build and even if it did it would probably crash and leak memory.

I'm opening this early to ask some early feedback on the following points:

  • Actions that need a finger verification

    It appears that this device, when listing fingerprints (which is required for list and clear_storage), randomly decides to keep its secrets until an enrolled fingerprint verification is performed.

    The list and clear_storage commands don't seem to offer for ways to report that a finger is needed, and the sensor on my laptop doesn't have an LED to draw attention. This would clearly cause confusion in the user if the UI doesn't handle this scenario.

    I'm using fpi_device_report_finger_status(dev, FP_FINGER_STATUS_NEEDED). However there seems to be no indication in the public API docs that devs should expect these commands to require physical interaction, so I'm not sure whether this is a valid workaround. I'm also not sure how the reported finger status is usually used in GUIs, does GNOME (for instance) show a shell window whenever a finger is needed?

    This may need some more reverse-engineering, since Windows seems to be perfectly able to wipe all the fingerprints it doesn't recognize when it starts (extremely annoying), regardless of whether I log in with the sensor or with another method.

  • Name

    As suggested here I wrote a new driver from scratch. Fantasy is not one of my talents so I named it elanmoc2 for now.

    I decided to not call it something like elanmoc0c4c since I'm trying to put some effort into making sure it can work with minor code changes with other similar devices.

    I was thinking of calling it nalemoc, shamelessly stealing the idea from etnaviv and lima in Mesa. What do you think?

Merge request reports