Skip to content

[BUG]: Elan Fingerprint Reader 04f3:0c00 not detected on Ubuntu 24.04 #235

@gandinistefano7-netizen

Description

  1. Bug Description
    My Elan fingerprint reader with USB ID 04f3:0c00 is not being detected by the python-validity driver. The installation seems to complete, but the service fails to start because it cannot find a supported device. Commands like fprintd-enroll and validity-sensors-firmware both fail.

  2. System Details
    • Fingerprint Reader: Elan Microelectronics Corp. ELAN:ARM-M4
    • USB ID: 04f3:0c00
    • Operating System: Ubuntu 24.04 LTS "Noble Numbat"
    • Driver Source: PPA ppa:uunicorn/open-fprintd
    • Installed Packages:
    code Code
    downloadcontent_copy
    expand_less
    rc fprintd 1.94.2-2 amd64 D-Bus daemon for fingerprint reader access
    ii fprintd-clients 1.90.1-1ubuntu5 amd64 PAM module for fingerprint authentication through fprintd
    ii open-fprintd 0.7ppa2 all Open fprintd DBus service.
    ii python3-validity 0.15
    ppa2 all Validity Fingerprint Sensor DBus Driver

    • Kernel Version:
    code Code
    downloadcontent_copy
    expand_less
    Linux ubuntu-desktop 6.8.0-85-generic Add pod2man as a dependency #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

  3. Steps to Reproduce

    1. Add the ppa:uunicorn/open-fprintd repository.
    2. Run sudo apt update and sudo apt install open-fprintd fprintd-clients python3-validity.
    3. The installation of python3-validity fails during the post-installation script with the error: Exception: No supported validity device found.
    4. Any attempt to enroll a fingerprint fails with list_devices failed:.
  4. Diagnostic Logs
    Service Status Log:
    code Code
    downloadcontent_copy
    expand_less
    ott 15 18:06:24 ubuntu-desktop systemd[1]: Started python3-validity.s>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: Traceback (most re>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: File "/usr/lib/p>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: main()
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: File "/usr/lib/p>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: init.open()
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: File "/usr/lib/p>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: usb.open()
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: File "/usr/lib/p>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: self.open_dev(>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: File "/usr/lib/p>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: raise Exceptio>
    ott 15 18:06:27 ubuntu-desktop dbus-service[1443]: Exception: No matc>
    ott 15 18:06:27 ubuntu-desktop systemd[1]: python3-validity.service: >
    ott 15 18:06:27 ubuntu-desktop systemd[1]: python3-validity.service: >
    ott 15 18:06:27 ubuntu-desktop systemd[1]: python3-validity.service: >
    ott 15 18:12:38 ubuntu-desktop systemd[1]: Started python3-validity.s>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: Traceback (most re>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: File "/usr/lib/p>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: main()
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: File "/usr/lib/p>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: init.open()
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: File "/usr/lib/p>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: usb.open()
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: File "/usr/lib/p>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: self.open_dev(>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: File "/usr/lib/p>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: raise Exceptio>
    ott 15 18:12:40 ubuntu-desktop dbus-service[6227]: Exception: No matc>
    ott 15 18:12:40 ubuntu-desktop systemd[1]: python3-validity.service: >
    ott 15 18:12:40 ubuntu-desktop systemd[1]: python3-validity.service: >
    ott 15 18:12:40 ubuntu-desktop systemd[1]: python3-validity.service: >

Verbose USB Device Information:
code Code
downloadcontent_copy
expand_less
Bus 003 Device 003: ID 04f3:0c00 Elan Microelectronics Corp. ELAN:ARM-M4
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04f3 Elan Microelectronics Corp.
idProduct 0x0c00 ELAN:ARM-M4
bcdDevice 2.83
iManufacturer 1 ELAN
iProduct 2 ELAN:ARM-M4
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0053
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 8
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0 [unknown]
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 0x02 EP 2 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 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
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 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 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)

  1. Additional Information
    The issue persists after a full system reboot. A custom udev rule was also tested to ensure correct permissions, but it did not solve the problem. Further logs can be provided if required. Thank you for your work on this project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions