[TRACKING] Fingerprint reader failing to register on 13th gen

I suggest to run fprintd in the terminal and see what messages it spawns.

Nice idea.

$ fprintd-list me

found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
User me has no fingers enrolled for Goodix MOC Fingerprint Sensor.

$ fprintd-enroll me

Using device /net/reactivated/Fprint/Device/0
failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.Internal: Open failed with error: Please update firmware using fwupd

@Matt_Hartley Hiya Matt. Do you know if thereā€™s any action on the fingerprint firmware issue? I know FWā€™s had a lot going on, but I do miss my fingerprint reader.

Hi Richard,

Just wanted to make sure you understand, not a firmware issue with officially supported distros. :slight_smile:

It can be an issue with community supported distros and Manjaro is among them.

At some point as we grow our team, I hope to have resources to dig into rolling releases (which evolve daily) like Manjaro, but at this time, weā€™re heavily focused on keeping things humming along with Fedora and Ubuntu.

The error itself: Open failed with error: Please update firmware using fwupd

Is not happening on any of the Framework laptops I have with Fedora or Ubuntu.

You can give this AppImage a shot, but the error may be with whatever Manjaro has been releasing as of late.

Normally when seeing that error, youā€™d:

fwupdmgr get-devices
fwupdmgr refresh --force
fwupdmgr update

Then try again, but I suspect this is not going to help. Iā€™d confirm the reader is working by testing an install of Ubuntu 22.04 if you have a spare Nvme drive handy - if it tests fine, then itā€™s going to be on Manjaro. If it also fails, then the reader may be having issues at the hardware level.

@Matt_Hartley - I apologize for sticking my nose in here, but I have been following this. If I am understanding it correctly, the issue is that the new fingerprint readers in the marketplace have a firmware version that is not recognized by the fingerprint software. Are you able to obtain and install that hardware, and confirm that there are no issues with it in Fedora or Ubuntu? I apologize if you already have done so and I missed it.

Thank you for all of your help, Iā€™m learning a lot from you and from the community.

Have a great day.

@lbkNhubert @Matt_Hartley

Nose appropriately stuck in.

If you check my note from Feb 23 youā€™ll see that I

  1. checked for firmware updates (there were none)
  2. tested on Ubuntu (supported) and received the same failure (I keep an Ubuntu partition handy for just this sort of debugging).

I just repeated both of those steps with the same results.

The reader worked perfectly for months until I replaced my fingerprint reader with a new one. Previous posts on this thread indicate this is likely a problem with firmware on the new fingerprint reader not supporting linux at all. If you think this might be a hardware issue, Iā€™m certainly up for swapping out the reader, provided FW is kind enough to send me a replacement to test.

2 Likes

Ah, fair point.

@Richard_Tango-Lowy letā€™s see what weā€™re working with, please paste back the output of:

lsusb -v -d 27c6:5395

You can check for the device ID with lsusb (itā€™ll be Goodix)

I can then take this and send it upstream to the hardware team.

@Matt_Hartley Here you go!


Bus 003 Device 002: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x27c6 Shenzhen Goodix Technology Co.,Ltd.
  idProduct          0x609c 
  bcdDevice            1.00
  iManufacturer           1 Goodix Technology Co., Ltd.
  iProduct                2 Goodix USB2.0 MISC
  iSerial                 3 UIDXXXXXXXX_XXXX_MOC_B0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          3 UIDXXXXXXXX_XXXX_MOC_B0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              4 MISC Data
      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               0
      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               0
Device Status:     0x0000
  (Bus Powered)

Looks like we have reached out to Goodix previously on this.

Whatā€™s interesting is that my output matches this exactly and my fingerprint reader works fine on Fedora.

If this is happening on Manjaro, the firmware error may in fact be wrong. I say this as I go through the past posts from Feb. Fedora is one of our supported distros and my config for the reader matches yours perfectly, using our Fedora guide for setting up the reader, I have it working great.

Not ideal, but Iā€™d confirm this in Fedora and then make sure to follow the steps in the gist file exactly. I am not convinced this is firmware - if we can duplicate it on Fedora, then itā€™s an issue.

@Matt_Hartley

Thanks for checking, Matt. Iā€™ve confirmed the failure under Ubuntu, which is officially supported by Framework. Is someone there able to test under Ubuntu?

Iā€™ll be traveling for a bit, but can try to burn a Fedora live USB for further testing. If it still fails, should we assume I have a bad reader?

Yeah, if you followed the guide for Ubuntu 22.04 and itā€™s still failing, even if youā€™ve tried this previously, try this here (scroll down to the link under Linux to clear enrolled fingerprints). I have not seen a firmware error for previous enrollment myself, just failure to enroll, but itā€™s worth a try.

I am suggesting this as your output matched mine exactly, which makes me think the fprint-clear-storage tool is going to be worth trying.

sudo ./fprint-clear-storage-0.0.1-x86_64.AppImage                                                  ī‚² 1 āœ˜ ī‚² 4s ļ‰’ 
Looking for fingerprint devices.
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
<__gi__.FpiDeviceGoodixMoc object at 0x7f6172c8c640 (FpiDeviceGoodixMoc at 0x55a3479801e0)>
goodixmoc
UIDXXXXXXXX_XXXX_MOC_B0
libusb: error [udev_hotplug_event] ignoring udev action change
Traceback (most recent call last):
  File "/tmp/.mount_fprintdtD47C//opt/fprint_clear_storage.py", line 18, in <module>
    dev.open_sync()
gi.repository.GLib.Error: fp - device - error - quark: Please update firmware using fwupd (1)
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: warning [libusb_exit] application left some devices open

Poking my nose back in again. @Matt_Hartley, it looks like some of the fingerprint readers have a firmware version of 01000320 and type of MT_EVK rather than 01000248 and APP. Please see @ShatteredScales posts at the top of the thread, specifically 1 and 3. In @Richard_Tango-Lowyā€™s post on 2/22 it shows that his replacement fingerprint reader has the newer firmware version. Elsewhere in the thread @ShatteredScales noted that he was able to revert the firmware by running a windows vm, passing through the fingerprint reader, and running the windows driver installer. He also noted that he did not expect the firmware to roll back.

So, from my outside perspective, it looks like some or all of the fingerprint readers in the marketplace have a firmware version that will not work on linux until either the fprint project updates their code, or the drivers are rolled back via the method above. Iā€™m not sure if there is any means to roll the firmware back natively in linux, or if goodix would be willing to supply such a tool.

Have a good evening.

3 Likes

@lbkNhubert Your nose is still completely welcome. And youā€™ve summarized the situation perfectly. Unfortunately (fortunately), thereā€™s no Windows anywhere on or near my Framework, so I canā€™t use that method to roll back the firmware.

(Typing from a hotel somewhere in Paris. Frameworkā€™s on the road, as usual.)

2 Likes

@Richard_Tango-Lowy, if you just want to get the device working, you could set up a temporary windows vm, pass through the fingerprint reader to it, then try to roll back the firmware. Once done, you could then delete the windows vm. I donā€™t use it often but I do have windows on an expansion card in case there is something that requires it.

Have a great day, enjoy Paris!

@lbkNhubert Thought about it, but havenā€™t had the time. Anyway, Iā€™d have to come up with a Windows image somewhere, and all my machines run linux.

Re Paris. Iā€™d forgotten how much I enjoy this city.

1 Like

You can download an iso here for setting up a temporary VM: https://www.microsoft.com/en-us/software-download/windows10ISO

Donā€™t waste your time in Paris doing that, though! It has been many years since I was there, hopefully I will get back some time soon.

2 Likes

@lbkNhubert Hey, thanks! Yeah, not doing that here. Most of my time is booked up teaching. The rest is eating and exploring. Right now Iā€™m resting between the above.

Will give it a try when I get back to the States.

1 Like

@Matt_Hartley @lbkNhubert I finally got around to

  1. running Boxes,
  2. installing Windows 10, and
  3. running the Framework driver bundle.

It was a complete pain, but my fingerprint reader now works again on Linux.

And it validates the OPā€™s hypothesis:
firmware on newer fingerprint readers breaks on Linux.

Good to have my fingerprint reader back.

1 Like

@Richard_Tango-Lowy Glad to see you were able to get it working the same way I did.
That confirms that the firmware version 01000320 thatā€™s shipping on replacement modules is not compatible with the current (v1.94.5) or older libfprint versions.

Goodix seems at least semi-active on the libfprint repo, last contributing some new PIDs ~4 months ago, so I think itā€™s a possibility to get them involved (goodixmoc: Add PID 0x6092 (6ed1b707) Ā· Commits Ā· libfprint / libfprint Ā· GitLab)

@Matt_Hartley Are you able to test a fresh replacement module from the inventory that would be shipped from the Marketplace?
Also, a small cosmetic issue I mentioned above that may have gotten missed in the noise is that the link on the parts for the fingerprint readers (https://fr.mw/FRANBFJY) does not work.

(I also stand by my opinion that the Windows driver installer should not be messing with firmware on machine devices without informing the user)
2 Likes