Nixos - Upgrade to AMD Motherboard Fingerprint not found

Recently upgraded from a gen 11 intel motherboard to the Ryzen™ 5 7640U motherboard. Everything seems to work fine except for the fingerprint reader which I can’t even see when calling lsusb.

See output:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0e8d:e616 MediaTek Inc. Wireless_Device
Bus 001 Device 008: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 13fe:6500 Phison Electronics Corp. USB DISK 3.2
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 004: ID 090c:3350 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) USB DISK
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

And here lspci

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e8
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 14e9
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14ea
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14ea
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14ee
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14ee
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14ea
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14ea
00:04.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14ea
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14eb
00:08.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14eb
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14eb
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 71)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14f7
01:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
02:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN750 / PC SN730 / Red SN700 NVMe SSD
c1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev cb)
c1:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
c1:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 19h (Model 74h) CCP/PSP 3.0 Device
c1:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15b9
c1:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15ba
c1:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 63)
c1:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
c2:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 14ec
c2:00.1 Signal processing controller: Advanced Micro Devices, Inc. [AMD] AMD IPU Device
c3:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 14ec
c3:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15c0
c3:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15c1
c3:00.5 USB controller: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #1
c3:00.6 USB controller: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #2

I installed the fprint driver and tried setting it up with this

services.fprintd = {
    enable = true;
    tod.enable = true;
    tod.driver = pkgs.libfprint-2-tod1-vfs0090;
  } 

OS: Nixos
Laptop: Framework 13 with AMD Motherboard

Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC is the fingerprint sensor device. For it to work you might need to update its firmware, see https://github.com/NixOS/nixos-hardware/tree/master/framework/13-inch/7040-amd#getting-the-fingerprint-sensor-to-work.

thank you so much for a quick reply!

so this lead me to get some different error now

Using device /net/reactivated/Fprint/Device/0
failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.Internal: Open failed with error: Corrupted message header received

I can however list fingerprints

fprintd-list $USER
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
User root has no fingers enrolled for Goodix MOC Fingerprint Sensor.

Something strange i noticed with dmesg is that when I run fprint-enroll the log shows up around 2-3s after the error message:

[ 2530.991039] usb 1-4: reset full-speed USB device number 9 using xhci_hcd
[ 2535.170410] usb 1-4: USB disconnect, device number 9
[ 2535.513043] usb 1-4: new full-speed USB device number 10 using xhci_hcd
[ 2535.670560] usb 1-4: New USB device found, idVendor=27c6, idProduct=609c, bcdDevice= 1.00
[ 2535.670566] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2535.670567] usb 1-4: Product: Goodix USB2.0 MISC
[ 2535.670568] usb 1-4: Manufacturer: Goodix Technology Co., Ltd.
[ 2535.670569] usb 1-4: SerialNumber: UID90F83144_XXXX_MOC_B0
[ 2535.797331] usb 1-4: reset full-speed USB device number 10 using xhci_hcd

basically what I did is follow the guide on adding the hardware channel and importing <nixos-hardware/framework/13-inch/7040-amd> to my configuration. Then I followed the instructions on updating the firmware, I got the same output as mentioned in the repo.

Using the fwupdmgr get-devices I can confirm this

├─Fingerprint Sensor:
│     Device ID:          23ec719b6aabc2d2dac5176c232f0da7a21881b0
│     Summary:            Match-On-Chip fingerprint sensor
│     Current version:    01000330
│     Vendor:             Goodix (USB:0x27C6)
│     Install Duration:   10 seconds
│     Serial Number:      UID90F83144_XXXX_MOC_B0
│     GUID:               1e8c8470-a49c-571a-82fd-19c9fa32b8c3 ← USB\VID

Try removing this part? I’m not using these vendor drivers.

I did actually. When I had these drivers enabled it was causing some other problems. I’ve disabled them since I didn’t see them on that github repo.

OK, so I found another error when looking at journalctl, this is what happens when I try to add a finger print

Jan 13 16:02:13 fwbook sudo[4362]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-enroll ari
Jan 13 16:02:14 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:14 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:14 fwbook fprintd[4270]: Template storage appears to have been corrupted! Error was: Corrupted message header received
Jan 13 16:02:14 fwbook fprintd[4270]: A known reason for this to happen is a firmware bug triggered by another storage area being initialized.
Jan 13 16:02:14 fwbook fprintd[4270]: Resetting device storage, you will need to enroll all prints again!
Jan 13 16:02:14 fwbook fprintd[4270]: Reset failed: Corrupted message header received
Jan 13 16:02:18 fwbook sudo[4378]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-enroll vita
Jan 13 16:02:18 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:19 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:19 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:22 fwbook sudo[4395]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-enroll vita
Jan 13 16:02:22 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:22 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:22 fwbook fprintd[4270]: Template storage appears to have been corrupted! Error was: Corrupted message header received
Jan 13 16:02:22 fwbook fprintd[4270]: A known reason for this to happen is a firmware bug triggered by another storage area being initialized.
Jan 13 16:02:22 fwbook fprintd[4270]: Resetting device storage, you will need to enroll all prints again!
Jan 13 16:02:22 fwbook fprintd[4270]: Reset failed: Corrupted message header received
Jan 13 16:02:24 fwbook sudo[4403]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-enroll vita
Jan 13 16:02:27 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:27 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:27 fwbook fprintd[4270]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:02:56 fwbook systemd[1]: fprintd.service: Deactivated successfully.
Jan 13 16:19:36 fwbook dbus-daemon[1186]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.71' (uid=1000 pid=2441 comm="/nix/store/43b2ds7d1kr54vxxv3inz6xqw6sp8r9n-gnome-" label="kernel")
Jan 13 16:19:37 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:37 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:52 fwbook sudo[5804]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-enroll ari
Jan 13 16:19:53 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:53 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:53 fwbook fprintd[5652]: Template storage appears to have been corrupted! Error was: Corrupted message header received
Jan 13 16:19:53 fwbook fprintd[5652]: A known reason for this to happen is a firmware bug triggered by another storage area being initialized.
Jan 13 16:19:53 fwbook fprintd[5652]: Resetting device storage, you will need to enroll all prints again!
Jan 13 16:19:53 fwbook fprintd[5652]: Reset failed: Corrupted message header received
Jan 13 16:19:57 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:58 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:19:58 fwbook fprintd[5652]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:20:27 fwbook systemd[1]: fprintd.service: Deactivated successfully.

and this is what happens on delete

Jan 13 16:20:44 fwbook sudo[5870]:      ari : TTY=pts/1 ; PWD=/home/ari ; USER=root ; COMMAND=/run/current-system/sw/bin/fprintd-delete ari
Jan 13 16:20:44 fwbook dbus-daemon[1186]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.196' (uid=0 pid=5872 comm="fprintd-delete ari" label="kernel")
Jan 13 16:20:45 fwbook fprintd[5876]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:20:45 fwbook fprintd[5876]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:20:45 fwbook fprintd[5876]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:20:45 fwbook fprintd[5876]: libusb: error [udev_hotplug_event] ignoring udev action change
Jan 13 16:20:45 fwbook fprintd[5876]: Template storage appears to have been corrupted! Error was: Corrupted message header received
Jan 13 16:20:45 fwbook fprintd[5876]: A known reason for this to happen is a firmware bug triggered by another storage area being initialized.
Jan 13 16:20:45 fwbook fprintd[5876]: Resetting device storage, you will need to enroll all prints again!
Jan 13 16:20:45 fwbook fprintd[5876]: Reset failed: Corrupted message header received

Seems to be related to this Sign in · GitLab

I tried running the appimage with appimage-run but I keep getting this error

fprint-clear-storage-0.0.1-x86_64.AppImage installed in /home/ari/.cache/appimage-run/37c76599dfd360e357479a297efd5a53bac83cbcf32ee716c57b3a92d400388d

** (process:41374): WARNING **: 16:32:59.259: Failed to load shared library 'libfprint-2.so.2' referenced by the typelib: libgudev-1.0.so.0: cannot open shared object file: No such file or directory
/home/ari/.cache/appimage-run/37c76599dfd360e357479a297efd5a53bac83cbcf32ee716c57b3a92d400388d//opt/fprint_clear_storage.py:7: Warning: cannot retrieve class for invalid (unclassed) type 'void'
  ctx = FPrint.Context()
Traceback (most recent call last):
  File "/home/ari/.cache/appimage-run/37c76599dfd360e357479a297efd5a53bac83cbcf32ee716c57b3a92d400388d//opt/fprint_clear_storage.py", line 7, in <module>
    ctx = FPrint.Context()
TypeError: could not get a reference to type class

I tried building the relevant shell for the appimage with this shell.nix, can’t seem to get the right binary into it.

{ pkgs ? import <nixpkgs> {} }:
  pkgs.mkShell {
    nativeBuildInputs = with pkgs.buildPackages; [ 
      libfprint
      libfprint-tod
      fprintd
      fprintd-tod
      appimage-run
    ];
}

I have no idea. Do you happen to be dual booting with windows? Some says it can cause issues: Synaptics (06cb:00bd) fails to initialise on warm reboot (Device responded with error 789) (#292) · Issues · libfprint / libfprint · GitLab

Nope just the 1 OS