[04f3:0903] Elan Microelectronics Corp fingerprint reader not recognised

Bug #1641290 reported by Barry Price on 2016-11-12
680
This bug affects 130 people
Affects Status Importance Assigned to Milestone
libfprint
New
Undecided
Unassigned
libfprint (Debian)
New
Undecided
Unassigned
libfprint (Ubuntu)
Undecided
Unassigned

Bug Description

Running "fprint-demo" with this hardware installed reports "No devices found".

This is the integrated reader in new ASUS ZenBook UX390UA laptops.

lsusb -v output here: http://paste.ubuntu.com/23464942/

ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: libfprint0 1:0.6.0-2
ProcVersionSignature: Ubuntu 4.8.0-27.29-generic 4.8.1
Uname: Linux 4.8.0-27-generic x86_64
NonfreeKernelModules: zfs zunicode zcommon znvpair zavl
ApportVersion: 2.20.3-0ubuntu8
Architecture: amd64
CurrentDesktop: Unity
Date: Sat Nov 12 15:59:17 2016
InstallationDate: Installed on 2016-11-08 (3 days ago)
InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.2)
SourcePackage: libfprint
UpgradeStatus: No upgrade log present (probably fresh install)

Barry Price (barryprice) wrote :
Nuno (nmrcardoso) wrote :

Same here but with ASUS ux360uak and "Bus 001 Device 005: ID 04f3:0903 Elan Microelectronics Corp"
Not recognized either.

Nuno (nmrcardoso) wrote :

Here is my output for that device:
Bus 001 Device 005: ID 04f3:0903 Elan Microelectronics Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x04f3 Elan Microelectronics Corp.
  idProduct 0x0903
  bcdDevice 1.35
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 5
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 0
      bInterfaceProtocol 0
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 15 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x03 EP 3 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libfprint (Ubuntu):
status: New → Confirmed
Dmitry Korotovsky (rmpic30) wrote :

Same issue.

$ sudo fprintd-enroll
list_devices failed: No devices available

lshw:

              *-usb:2 UNCLAIMED
                   description: Generic USB device
                   product: ELAN:Fingerprint
                   vendor: ELAN
                   physical id: 9
                   bus info: usb@1:9
                   version: 1.35
                   capabilities: usb-2.00
                   configuration: maxpower=100mA speed=12Mbit/s

Dmitry Korotovsky (rmpic30) wrote :

ASUS ZenBook UX390UA

$ uname -a
Linux korotovskii 4.8.6-040806-generic #201610310831 SMP Mon Oct 31 12:33:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial

Corentin Dancette (cdancette) wrote :

Same here with ubuntu 17.04, Asus ZenBook UX360UAK

$ uname -a
Linux zenbook 4.10.4-041004-generic #201703180831 SMP Sat Mar 18 12:34:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Aless Jeant (aless-jeant) wrote :
Download full text (3.2 KiB)

Same here,

~ uname -a
Linux Zenbook3 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

~lsusb -v
Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x04f3 Elan Microelectronics Corp.
  idProduct 0x0903
  bcdDevice 1.35
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 5
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 0
      bInterfaceProtocol 0
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 15 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x03 EP 3 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Typ...

Read more...

William Elliott (willdorf) wrote :

Same here with Asus ZenBook UX330UA

gerrit (gerrit-damen) wrote :

Can confirm this problem with ASUS Zenbook 3 UX390UA-GS042T

$ uname -a
Linux zenx 4.8.0-46-generic #49-Ubuntu SMP Fri Mar 31 13:57:14 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ sudo lsusb -v is attached

Patrick Hofmann (pahofmann) wrote :

Can confirm on UX330UA.

$lsusb

Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x04f3 Elan Microelectronics Corp.
  idProduct 0x0903
  bcdDevice 1.35
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 5
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 0
      bInterfaceProtocol 0
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 15 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x03 EP 3 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1

Isaac Emesowum (iemesowum) wrote :

Confirmed on UX390U.

This bug should actually be a feature request. There is currently no support for elantech fingerprint scanners in libfprint. Someone needs to write a driver for it. It's proprietary, so that might be tricky.

Yep, same here:

Asus Zenbook UX430U

Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x04f3 Elan Microelectronics Corp.
  idProduct 0x0903
  bcdDevice 1.35
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 5
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 0
      bInterfaceProtocol 0
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 15 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x03 EP 3 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1

Tony Tascioglu (tonytash) wrote :
Download full text (3.2 KiB)

Fingerprint scanner on Asus UX330UA running Ubuntu 17.04 and Linux Mint 18.2 not working either.

Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x04f3 Elan Microelectronics Corp.
  idProduct 0x0903
  bcdDevice 1.35
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 5
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 0
      bInterfaceProtocol 0
      iInterface 0
      ** UNRECOGNIZED: 09 21 10 01 00 01 22 15 00
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x03 EP 3 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize ...

Read more...

Tony Tascioglu (tonytash) wrote :

If it helps, I have attached the driver provided by ASUS for Windows 10 from their website.

http://dlcdnet.asus.com/pub/ASUS/nb/DriversForWin10/Fingerprint/Fingerprint_ELAN_Win10_64_VER15012.zip

rhY (rhy) wrote :

Yep. Same issue. UX330U :( WAUGH!!!

Arash (ara4sh) wrote :

Same issue Asus UX490

Casey Salvador (csalvador) wrote :

I'm having the same issue with Asus UX430UA as well.

Dylan Borg (borgdylan) wrote :

The same device i on the Zenbook Pro UX550 as well.

Dmitry Korotovsky (rmpic30) wrote :

Looks like I would change my laptop a way faster than Ubuntu team would fix this bug =/

Manuel Matas (manuelmatas) wrote :

Same issue with Asus UX550VE. No devices found on Fingerprint GUI 1.09.

Toky RALALA (ralala-toky) wrote :

I'm confirming the same issue on ASUS UX530UX too

skilo (ramskilo) wrote :

Same here with Zenbook UX430UN.
There's a kernel module named elan_i2c that makes me wonder:
modinfo elan_i2c
filename: /lib/modules/4.10.0-xxxx/kernel/drivers/input/mouse/elan_i2c.ko
version: 1.6.2
license: GPL
description: Elan I2C/SMBus Touchpad driver
author: Duson Lin <email address hidden>
srcversion: 775624509AF59206724C275
alias: i2c:elan_i2c
alias: acpi*:ELAN1000:*
alias: acpi*:ELAN0608:*
alias: acpi*:ELAN0605:*
alias: acpi*:ELAN0600:*
alias: acpi*:ELAN0100:*
alias: acpi*:ELAN0000:*
depends:
intree: Y
vermagic: 4.10.0-38-generic SMP mod_unload

Since the fingerprint sensor is part of the touchpad, it could be managed by this module (?). But in my configuration this is not loaded by default, and it is loaded instead hid_multitouch.ko.
Unfortunately neither load this manually and remove hid_multitouch resolves.

Hope this helps

Dani (dtalens) wrote :

I'm confirming the same issue on Xiaomi Air 13 2017

lsusb -v output here: http://paste.ubuntu.com/25923923/

Linux 4.13.0-16-generic #19-Ubuntu SMP Wed Oct 11 18:35:14 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 17.10
Release: 17.10
Codename: artful

yanqian (yanqian) wrote :

same issue on ASUS UX310UAK.

Bus 001 Device 005: ID 04f3:0903 Elan Microelectronics Corp.

Jerome B (revv-k) wrote :

Same here, with ASUS UX430UA

Alberto Martino (malbertom) wrote :

Same here, with ASUS UX430UA

Alberto Martino (malbertom) wrote :

Seems that someone is working on that:
https://<email address hidden>/msg00873.html

last message 08-11-2017

Andrea Nisticò (andrean.pk) wrote :

Did someone try this libfprint's branch with 04f3:0903 (ELAN on Asus UX530UX)?

I gave it a try with 04f3:0903:

"This program will enroll your right index finger, unconditionally
overwriting any right-index print that was enrolled previously. If you want
to continue, press enter, otherwise hit Ctrl+C

Found device claimed by ElanTech Fingerprint Sensor driver
Opened device. It's now time to enroll your finger.

You will need to successfully scan your finger 5 times to complete the
process.

Scan your finger now.
async:error [fpi_drvcb_enroll_stage_completed] BUG at async.c:161
sync:error [fp_enroll_finger_img] unrecognised return code -71"

I used the 'enroll' example binary after building the code at that
location. It's not a device file permission issue. Has this worked for
anyone else?

Isaac

On Nov 28, 2017 13:31, "Andrea Nisticò" <email address hidden> wrote:

Did someone try this libfprint's branch with 04f3:0903 (ELAN on Asus
UX530UX)?

--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1641290

Title:
  [04f3:0903] Elan Microelectronics Corp fingerprint reader not
  recognised

Status in libfprint package in Ubuntu:
  Confirmed

Bug description:
  Running "fprint-demo" with this hardware installed reports "No devices
  found".

  This is the integrated reader in new ASUS ZenBook UX390UA laptops.

  lsusb -v output here: http://paste.ubuntu.com/23464942/

  ProblemType: Bug
  DistroRelease: Ubuntu 16.10
  Package: libfprint0 1:0.6.0-2
  ProcVersionSignature: Ubuntu 4.8.0-27.29-generic 4.8.1
  Uname: Linux 4.8.0-27-generic x86_64
  NonfreeKernelModules: zfs zunicode zcommon znvpair zavl
  ApportVersion: 2.20.3-0ubuntu8
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Sat Nov 12 15:59:17 2016
  InstallationDate: Installed on 2016-11-08 (3 days ago)
  InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.2)
  SourcePackage: libfprint
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/164
1290/+subscriptions

JM (josemesnaola) wrote :

I also gave it a try with 04f3:0903 in ASUS UX490UA.

Unfortunately I obtain the same results as Isaac Emesowum (iemesowum).

Once compiled and installed I'm able to execute fprint_demo (as superuser) and when I try to enroll I get the following errors (I enabled debugging):

elan:debug [elan_cmd_cb] unexpected transfer length
drv:debug [fpi_ssm_mark_aborted] error -71 from state 0
drv:debug [fpi_ssm_mark_completed] 0x55fae265b840 completed with status -71
elan:debug [init_complete]
fp:debug [fpi_imgdev_session_error] error -71
async:error [fpi_drvcb_enroll_stage_completed] BUG at async.c:161
async:debug [fpi_drvcb_enroll_stage_completed] result -71
async:debug [fp_async_enroll_stop]
elan:debug [dev_deactivate]

I also executed enroll (in examples folder) with the same result.
I don't know anything about lsusb so I didn't manage to understand what was going on.

Alberto Martino (malbertom) wrote :

The branch sbechet/libfprint is only a "first try"
the developer hasn't figured out yet how to make elan work.

At the moment the device is only added to be a "supported device" but the code on the file

https://github.com/sbechet/libfprint/blob/elan/libfprint/drivers/elan.c

throws an error (-71) on this method:

static void elan_cmd_cb(struct libusb_transfer *transfer)

on line 197 -> else if (transfer->length != transfer->actual_length) //throws the error -71

I'm reporting here the message from Igor Filatov to Sébastien Béchet

> With these devices the scanned area is so small that not many minutiae can
> be found there. I got like 5 o so with my finger and that's what I can
> visually confirm looking at the scanned images. It's not about image
> quality. I think original drivers could be using a different algorithm.
>
> Looks like your device doesn't react normally to 402a (not unexpected). It's
> the third init command in elan.h. Try removing it. Actually, you can try
> removing all commands not found in you traces. Just don't remove the arrays
> with commands for now, leave empty if needed.
>
> It doesn't seem to complicated to adapt the driver based on your traces but
> don't think I'll have any time for it soon…

January 2018 still not working for 04f3:0c1a on Xiaomi notebook Pro

Lord_JABA (lordjaba) wrote :

Same on 2017 xiomi notebook air 13.
lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 04f3:0c1a Elan Microelectronics Corp.
Bus 001 Device 002: ID 04f2:b5a3 Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

uname -a:
Linux slider 4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Timur Celik (clktmr) wrote :

Current official master branch works for me (UX430UA [04f3:0903]).

The only change I made was adding my device to the driver:

@@ -608,6 +608,7 @@ static void dev_deactivate(struct fp_img_dev *dev)

 static const struct usb_id id_table[] = {
  {.vendor = 0x04f3,.product = 0x0907},
+ {.vendor = 0x04f3,.product = 0x0903},
  {0, 0, 0,},
 };

1 comments hidden view all 142 comments
Timur Celik (clktmr) wrote :

I added that line to drivers/elan.c. However, after some testing it's not working reliably for me. My fingerprint is recognized in about 1 out of 10 cases only. libfprint doesn't seem to like the images provided by the sensor. Possibly some improvement in the image processing is necessary. I will look into this if I find the time.

SN (sigma343) wrote :

where did you find the source code? all the downloads I have seen dont have a elan.c file in the drivers folder.

62 comments hidden view all 142 comments
Igor Filatov (iafilatov) wrote :

I've changed the order of commands a bit and it may fix the 0903 lock-up issue. It's still a shot in the dark though. If anyone is willing to test (run enroll a few times in a row to see) I'd appreciate it. Thanks!
https://github.com/iafilatov/libfprint/tree/elan-try-fix-0903

james (whitehat-hazard) wrote :

I tried this - Asus Q505UA 2-in-1. I managed to get this built and working to capture images/verify. Enrollment succeeds, but verification does not.

Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp.

james (whitehat-hazard) wrote :

^meaning i built from your tree Igor. Let me know if I can try anything else to aid in getting this figured out

Guntis (gunchs) wrote :

Tried this on Xiaomi Air 13.
I was able to example/img_capture nad example/enroll.
Images where captured.

John Doe (jdoeqqqw) wrote :

Hello Igor,

I have a 0903 and tried your branch that tries to fix its issues, here are some logs :

1) https://pastebin.com/xugAj0db : First try, with the build etc. Unfortunately when I tried to enroll my finger touched the touchpad and put the terminal in background, and I thought that was what made the enroll freeze.

2) https://pastebin.com/UpVh0wXT : I thought first try was a mistake but the script seems to freeze everytime. It freeze automatically, even if I launch the enroll and don't touch the reader, it'll return that 110 error code after 5 seconds. Is this what you call "lock up" ?

For your information, before collecting those logs, I tried the img_capture and it "worked" (an image was generated etc), then I tried enroll and got the same error than in the logs (it seems it locked itself between img_capture and enroll).

Let me know if there is any way I can help you on this

John Doe (jdoeqqqw) wrote :

Being the idiot that I am I proved you logs for the master branch... Since the scanner seemed locked up I rebooted, and retried using the right branch, unfortunately it didn't seem to work :

https://pastebin.com/GtbsWzTT

Is there any way to unlock the fingerprint sensor manually ?

John Doe (jdoeqqqw) wrote :

Alright, for the sake of science I shut the computer off, turned it on and the sensor was unlocked. So I did a final test : https://pastebin.com/4H1WRDKh

When I look at the images from img_capture, I can understand why libfprint doesn't manage to make them match. Maybe I wasn't swiping my finger the right way... It's a shame Elan didn't provide open source drivers. At least I hope these logs will help you somehow...

John Doe (jdoeqqqw) wrote :

Doesn't seem like there is an edit button, you asked for some enrolments : https://pastebin.com/M6wqBp0A

Igor Filatov (iafilatov) wrote :

@John

Thank you very much for your investigation! A shame that you can't get a match on your reader. The good news is that the fix for 0903 seems to work and I can merge it into main branch. As for why it doesn't match, according to logs, you aren't getting enough minutiae and the image is too small. I can't say more without the actual image but you should have the idea what to do when you look at it. If you don't mind, you can send me a couple of images and I'll take a look.

ocarios (ocarios) wrote :

@Igor,

Hi,

Is it possible to get libfprint (with correct version support elan fingerprint) from a repo without have to build etc ?

Igor Filatov (iafilatov) wrote :

linfprint 0.8.3 will have Elan driver. Once it's out, check your repos.

Ares (aresaguilarsotos) wrote :

@Igor,

Hi,
Do you know if it is possible to install libfprint 0.8.3 on Ubuntu 18.10? I would love to try the driver on my ZenBook.

Igor Filatov (iafilatov) wrote :

@Ares

0.8.3 is not in the Ubuntu package repos yet so the only way is to install from source https://gitlab.freedesktop.org/libfprint/libfprint

Angel (4ng3ll) wrote :
Download full text (6.0 KiB)

Hello, I followed all the instructions and apparently I could install fprint correctly. However when I run sudo ./img_capture I got an error message. Also is not possible to enroll and fprint_demo cannot fing any device.
I tried to look for the error 903 but the github page is no longer available
I'm running it in ubuntu 18.10 if that helps.
I hope anyone can help me out
The error message is:

(process:3360): libfprint-DEBUG: 20:49:10.427: 161437947: ../libfprint/fpi-core.c:743
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver upekts
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver upektc
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver upeksonly
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver vcom5s
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver uru4000
(process:3360): libfprint-DEBUG: 20:49:10.432: registered driver aes1610
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes1660
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes2501
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes2550
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes2660
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes3500
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver aes4000
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver vfs101
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver vfs301
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver vfs5011
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver upektc_img
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver etes603
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver vfs0050
(process:3360): libfprint-DEBUG: 20:49:10.433: registered driver elan
(process:3360): libfprint-DEBUG: 20:49:10.433: driver elan supports USB device 04f3:0c10
(process:3360): libfprint-DEBUG: 20:49:10.433: selected driver elan supports USB device 04f3:0c10
Found device claimed by ElanTech Fingerprint Sensor driver
(process:3360): libfprint-sync-DEBUG: 20:49:10.433: 161443813: ../libfprint/fpi-sync.c:57
(process:3360): libfprint-async-DEBUG: 20:49:10.433: 161443841: ../libfprint/fpi-async.c:77
(process:3360): libfprint-elan-DEBUG: 20:49:10.546: 161556427: ../libfprint/drivers/elan.c:801
(process:3360): libfprint-async-DEBUG: 20:49:10.546: status 0
(process:3360): libfprint-sync-DEBUG: 20:49:10.546: status 0
Opened device. It's now time to scan your finger.

(process:3360): libfprint-sync-DEBUG: 20:49:10.546: to be handled by elan
(process:3360): libfprint-async-DEBUG: 20:49:10.546: 161556723: ../libfprint/fpi-async.c:577
(process:3360): libfprint-DEBUG: 20:49:10.546: action 4
(process:3360): libfprint-elan-DEBUG: 20:49:10.546: 161556774: ../libfprint/drivers/elan.c:849
(process:3360): libfprint-elan-DEBUG: 20:49:10.546: 161556801: ../libfprint/drivers/elan.c:788
(process:3360): libfprint-elan-DEBUG: 20:49:10.546: 161556825: ../libfprint/drivers/elan.c:101
(process:3360): libfprint-drv-DEBUG: 20:49:10.546: 0x55677d4c12f0 entering state 0
(process:3360): libfprint-elan-DEBUG: 20:49:1...

Read more...

Igor Filatov (iafilatov) wrote :

@Angel

> (process:3360): libfprint-poll-CRITICAL **: 20:49:10.548: fpi_timeout_add: assertion 'fpi_poll_is_setup()' failed

It appears that you have libfprint with a bug that's been fixed some time ago. It looks like an unstable version could've appeared in repos due to misunderstanding of some sort (see https://gitlab.freedesktop.org/libfprint/libfprint/issues/143 for more info). You can try a newer git master, downgrade or wait till your pakage source (ppa? because ubuntu repos still have an older version) gets an update.

My Device is AsusPro B9440UA, with the same driver:

Bus 001 Device 003: ID 04f3:0903 Elan Microelectronics Corp.

Unfortunately not supported yet

Rafik Farhad (rafikfarhad) wrote :

Same for Ausu Vivobook S15 S530UN

uname -a:
Linux epicalypto 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 13d3:56c1 IMC Networks
Bus 001 Device 002: ID 25a7:fa61
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Changed in libfprint (Ubuntu):
status: Confirmed → Invalid
status: Invalid → Incomplete
1 comments hidden view all 142 comments

I'm having the same issue with Asus UX430UA as well.

Changed in libfprint (Ubuntu):
status: Incomplete → Confirmed
status: Confirmed → Incomplete

Here i have the same issue, and plus the right touchpad button doesn`t work too.

I`m using ubuntu 19.04 in a Notebook xiaomi air 13 (2017).

Bus 001 Device 004: ID 04f3:0c1a Elan Microelectronics Corp

:~$ fprintd-enroll
list_devices failed: No devices available

I experience the same issue. Problem is that even the most recent libfprint does not support i2c devices yet (only USB)

KozArt (kozart) wrote :

The same here...

Asus Vivobook S15 S510UN

Fingerprint not found

Nikhil (nikhil2110) wrote :

Same not working Goodix Fingerprint Sensor in Ubuntu 18.04 LTS.

rustyx (rustyx2) wrote :

FWIW, the 04f3:0903 ELAN device stops working in Windows 10 too, if I touch it too much and/or at the wrong moment. But in Windows I don't have to swipe it at all, it somehow works by touch. Also during enrollment.

Hayden (duckduckgo) wrote :

ASUS Vivobook S13 ASUS S330UA

Running "fprint-demo" reports "No devices found".

Edyta (edytka) wrote :

ASUS VIvobook S14 S410UA the same problem

Gonçalo (gmatosferreira) wrote :

VivoBook_ASUSLaptop X530FN_S530FN the same problem

Ethan Walker (ethanmwalker) wrote :

I'm having the same issue on an ASUS ZenBook S UX391UA in ubuntu 19.10, kernel version 5.4.2-050402-generic

hurelhuyag (hurelhuyag) wrote :

I have Vivobook F510UA laptop. Yes this affecting me too.

Gabriel Cabana (cabg2101) wrote :

Asus Zenbook Flip 14 (UX461UA). Affected by the problem as well. Ubuntu 18.04, kernel 5.0.0-37-generic.

Coder Dmitry (webocoders) wrote :

I'm having the same issue on an Asus Zenbook UX391U
Linux mint 19.3
kernel version 5.3.0-24

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 27c6:5201
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 13d3:56b9 IMC Networks
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lspci

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D4E (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
6d:00.0 Non-Volatile memory controller: Toshiba America Info Systems NVMe Controller (rev 01)

dpcat237 (denys) wrote :

I have Asus UX331UN laptop and this affects me too.

Psenik1 (psenik1) wrote :

Affects me too.
I have ASUS UX 331UA

Charls P John (charlspjohn) wrote :

Issue on asus vivobook 14 x412ua

Saket Singh (sakets542) wrote :

I have asus vivobook s14 s430 and i have the same issue.

I am facing the same issue. Tried on 18.04lts and 20.04lts. I have asus vivobook x507uf.

Sebastien Bacher (seb128) wrote :

Could anyone still having an issue on the newest focal LTS open a new report using
$ ubuntu-bug libfprint
the fingerprint stack has quite some work this cycle and having decide specifics is needed

@Sebastien Bacher, I filed a new bug at https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1876502 using ubuntu-bug libfprint-2-2

Trayan (trayan) wrote :

Same Here, Asus VivoBook N580v. Please fix

David Olthaar (imdavid) wrote :

Also for me for Asus Vivobook 15:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 13d3:56dd IMC Networks
Bus 001 Device 003: ID 13d3:3491 IMC Networks
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Displaying first 40 and last 40 comments. View all 142 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers