Support FPC MOC fingerprint [10a5:d805]

Bug #2054538 reported by Bin Li
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
In Progress
High
Bin Li
libfprint (Ubuntu)
Fix Released
Undecided
Unassigned
Jammy
Fix Committed
Undecided
Unassigned

Bug Description

[Impact]
The FPC finger print device[10a5:d805] cannot work.

$ lsusb -s 003 -vv
Bus 003 Device 003: ID 10a5:d805 FPC FPC L:0002 FW:2127051
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 64
  idVendor 0x10a5
  idProduct 0xd805
  bcdDevice 0.51
  iManufacturer 1 FPC
  iProduct 2 FPC L:0002 FW:2127051
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 0x0019
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 4
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 5
      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 0

[Steps to reproduce]
Boot up the system, try to use the finger print related function.

[Expected result]
The FPR should work

[Actual result]
The FPR doesn't work

[Failure rate]
100%

[Additional information]
Ubuntu: 22.04
kernel-version: 6.5.0-1014-oem
libfprint-2-2: 1:1.94.3+tod1-0ubuntu2~22.04.07

[Test Plan]

 * Find a machine with this fingerprint device

 * Launch `settings` and enable `Fingerprint Login`

 * Enroll finger and then logout

 * Login system with enrolled finger

[Where problems could occur]

 * The patch is only for fpcmoc part which is backported from upstream , it should not affect the other devices.

Bin Li (binli)
tags: added: oem-priority originate-from-2054422 sutton
Revision history for this message
Bin Li (binli) wrote :

commit cca2b6a624a738e0334dfafee9426a594532c91c
Author: Haowei Lo <email address hidden>
Date: Mon Jul 25 15:12:11 2022 +0800

    fpcmoc: Support FPC moc devices

    Supported PID: 0xFFE0/A305/D805/DA04/D205

data/autosuspend.hwdb
libfprint/drivers/fpcmoc/fpc.c
libfprint/drivers/fpcmoc/fpc.h
libfprint/meson.build
meson.build
tests/fpcmoc/custom.pcapng
tests/fpcmoc/custom.py
tests/fpcmoc/device
tests/meson.build

Revision history for this message
Bin Li (binli) wrote (last edit ):

I found the commt/patch has binary pcapng file, the patch couldn't be applied and compiled deb package.

Applying patch patches/fpcmoc-Support-FPC-moc-devices.patch
patching file data/autosuspend.hwdb
patching file libfprint/drivers/fpcmoc/fpc.c
patching file libfprint/drivers/fpcmoc/fpc.h
patching file libfprint/meson.build
patching file meson.build
File tests/fpcmoc/custom.pcapng: git binary diffs are not supported.
patching file tests/fpcmoc/custom.py
patching file tests/fpcmoc/device
patching file tests/meson.build
Patch patches/fpcmoc-Support-FPC-moc-devices.patch does not apply (enforce with -f)

Revision history for this message
Bin Li (binli) wrote :

@3v1n0,

 Hi Marco, do you have any ideas to add the patch in libfprint? Thanks!

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

You mean change merged in https://gitlab.freedesktop.org/libfprint/libfprint/-/merge_requests/375?

It's in Ubuntu already, but you want to backport it?

Revision history for this message
Bin Li (binli) wrote :

@3v1n0,

 Yes, I want to backport it, tests/fpcmoc/custom.pcapng is bianry file, and git binary diffs are not supported.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

That's a test file so in theory can be avoided. But that's weird, they should work thought gpb?

If it doesn't, you can just apply the patch and then disable the test and remove the file for Ubuntu side.

Bin Li (binli)
Changed in oem-priority:
importance: Undecided → High
assignee: nobody → Bin Li (binli)
status: New → In Progress
Revision history for this message
Bin Li (binli) wrote :

@3v1n0,

 Yes, gpb works fine in my side. Another question, currently we have 4 bugs needed SRU, do you prefer one debdiff file or 4 separated debdiff files? Thanks!

https://code.launchpad.net/~binli/libfprint/+git/libfprint/+ref/ubuntu/jammy-devel-d805

d/p/fpcmoc-Support-FPC-moc-devices.patch (LP: #2054538)
https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/2054538

d/p/elanmoc-add-PID-0x0c8c-0x0c8d.patch (LP: #2058013)
https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/2058013

d/p/goodixmoc-add-PID-0x659A.patch (LP: #2058202)
https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/2058202

d/p/goodixmoc-Add-PID-0x6582.patch (LP: #2042394)
https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/2042394

Revision history for this message
Bin Li (binli) wrote :

For D805, another patch is needed.

From c782298ae49be33bc271476c4136cf8732b44436 Mon Sep 17 00:00:00 2001
From: haoweilo <email address hidden>
Date: Fri, 28 Oct 2022 15:47:43 +0800
Subject: [PATCH] fpcmoc: Ensure the current SSM is never overwritten

Revision history for this message
Bin Li (binli) wrote :
Revision history for this message
Bin Li (binli) wrote (last edit ):

D805 works fine with these two patches.

https://launchpad.net/~binli/+archive/ubuntu/ppa/+files/libfprint-2-2_1.94.3+tod1-0ubuntu2~22.04.07binli1_amd64.deb

  * d/p/fpcmoc-Support-FPC-moc-devices.patch (LP: #2054538)
    d/p/fpcmoc-Ensure-the-current-SSM-is-never-overwritten.patch

Revision history for this message
Bin Li (binli) wrote :

Our customer met an crash issue, we need another patch for this issue.

traps: fprintd[1445] general protection fault ip:7dd9fde85d26 sp:7ffc98ac2ec0 error:0 in libglib-2.0.so.0.7200.4[7dd 9fde2d000+8f000]

https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/526
https://gitlab.freedesktop.org/libfprint/libfprint/-/merge_requests/421

Revision history for this message
Bin Li (binli) wrote :
Bin Li (binli)
description: updated
Revision history for this message
Bin Li (binli) wrote :

In oracular/noble, these three patches for jammy are already included in latest libpfrint-2-2. Please just help upload them for jammy.

libfprint-2-2 1:1.94.7+tod1-0ubuntu5~24.04.1

d/p/fpcmoc-Support-FPC-moc-devices.patch
d/p/fpcmoc-Ensure-the-current-SSM-is-never-overwritten.patch
d/p/fpcmoc-fix-use-after-free-in-multiple-callbacks.patch

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

The patches should be already in the jammy queue, isn't it?

https://launchpad.net/ubuntu/jammy/+queue?queue_state=1&queue_text=libfprint

Timo Aaltonen (tjaalton)
Changed in libfprint (Ubuntu):
status: New → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Bin, or anyone else affected,

Accepted libfprint into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libfprint/1:1.94.3+tod1-0ubuntu2~22.04.08 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in libfprint (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed verification-needed-jammy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.