[GUIDE] LVFS Fingerprint Reader Firmware for Framework Laptop 13, 13th Gen Intel Core & AMD 7040 Series fingerprint reader on Fedora 39 and Ubuntu 22.04

EDIT: Switching this into as guide. Will mirror it on the Knowledge Base article as well. Ideally, this is supposed to be done before you get the input cover, but for the those kits still in the wild, this is the approach.


Today, I would like to ask for community help sharing you experiences in using LVFS to update the firmware on your fingerprint reader.

Before you all rush out and try doing this, please hold up.

There are key things that need to be recognized that I feel were missed in our previous attempts.

  • Ubuntu 22.04 and Fedora 39 GNOME, installed and fully updated - not Arch, Debian or etc. This is where I need testing. This is due to making sure we can match the fwupd versioning we tested against and also we have a fluid experience for our supported distros.

(If you want to help, but use another distro, please grab a spare drive and install/update Ubuntu 22.04 and Fedora 39 please. I will explain more shortly)

  • Please do not, repeat, do not skip steps listed here or bounce over to fwupd documentation or other forum posts, we need to test the steps outlined here please.

  • While this is marked as beta, it is on track to becoming our default method to getting your fingerprint reader into a compatible state with all distros. But as stated above, please do so using the steps I will be outlining on Ubuntu 22.04 and Fedora 39 GNOME.


Using Users in GNOME on Ubuntu 22.04 and Fedora 39 Shows an error

Now before we continue, I want to let you know if you are getting an error that looks like this:

If you’re seeing this when you try to register your fingerprint reader using our guides, then you are a candidate for the fingerprint reader firmware update.

If you are NOT seeing this error, your firmware is likely already up to date.


Continued in the next post below.

1 Like

NOTE: Folks, if you find you’re on FP reader firmware 01000248, you do not need to do anything. This is for those on 01000320 as we need to get you to 01000330.

Updating firmware on Ubuntu 22.04

You will be tempted to try using Ubuntu 23.10 - please don’t. I need to match what I am about to do below for Ubuntu 22.04 and this is where I need additional user feedback.

It’s worth noting that for Ubuntu 22.04 uses an older version of fwupd. This is where following this guide is so important.

  • Disable Secure Boot before you update your fingerprint firmware.

  • Install Ubuntu 22.04.3, using apt, get it fully up to date. This means install it and sudo apt update && sudo apt upgrade -y and then rebooting.

  • Open a terminal, follow these directions exactly.

sudo apt remove fwupd

Reboot

snap install fwupd

Reboot

fwupdmgr enable-remote lvfs-testing

  • You will be asked to confirm with Y once, and then once again.

  • You will then see “Successfully enabled and refreshed remote.”

  • Now that you have the more current version of fwupd installed after rebooting as instructed above. We’ll run the next steps:

fwupdmgr refresh --force

  • then run

fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

  • You should be looking at this, note the older firmware version:

If you are NOT seeing this, you will need to retrace your steps above including re-checking what Users, fingerprint reader looks like in GNOME and if it’s really matching my above image. Again, if you DO NOT see this above, revisit steps and ask for help. Do not just continue hoping for the best please.

  • Okay, now we have successfully setup the fwupd snap and the appropriate remote for LVFS. Let’s move onto the next step.

  • In the terminal, we will now paste this next command and run it.

fwupdmgr get-updates 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

  • then run

fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

NOTE: You will absolutely see this error:

failed to write: failed to reply: transfer time out

  • This is fine. Give it two minutes, then I want you to reboot using this command:

sudo systemctl reboot -i

What is happening is fwupd is still “running”, however, the update is done, so we’re forcing the issue.

  • Once you log back in, your installation will be complete and you will be able to enroll fingerprints using Users in the settings.

Fedora is next.

1 Like

NOTE: Folks, if you find you’re on FP reader firmware 01000248, you do not need to do anything. This is for those on 01000320 as we need to get you to 01000330.

Updating firmware on Fedora 39

In this instance, we’re going to be overcoming an issue where as the latest version of fwupd is looking for meta data not present in our existing lvfs cab file for the fingerprint reader. It pre-dates this change to fwupd, therefore we will be doing the following. Again, this was tested by me and worked very smoothly.

  • Disable Secure Boot before you update your fingerprint firmware.

  • Install Fedora 39, run your updates. Reboot.

  • Open a terminal, follow these directions exactly.

sudo dnf --disablerepo updates distro-sync fwupd*

Reboot

  • Next we’ll want to do the following:

fwupdmgr enable-remote lvfs-testing

  • You will be asked to confirm with Y once, and then once again.

  • You will then see “Successfully enabled and refreshed remote.”

  • Next, you will want to refresh.

fwupdmgr refresh --force

  • then run

fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

If you are NOT seeing this, you will need to retrace your steps above including re-checking what Users, fingerprint reader looks like in GNOME and if it’s really matching my above image. Again, if you DO NOT see this above, revisit steps and ask for help. Do not just continue hoping for the best please.

  • Next, you will run:

fwupdmgr get-updates 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

then lastly

fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

  • This should complete, then you will choose to reboot.

Reboot

  • Once you log back in, your installation will be complete and you will be able to enroll fingerprints using Users in the settings.

  • Once we know your fingerprint reader is working, let’s get fwupd back to current.

sudo dnf update fwupd*

Reboot

2 Likes

Just tested with a Framework 13 7840U running Fedora 39. Had a keyboard issue that needed to be RMA’d and new keyboard was experiencing the failed to claim issue after installation. Followed the steps in the guide and was able to update the firmware with a few minor issues. Firmware was initally 01000320 and firmware was upgraded to 01000330.

  1. Was using zsh as my shell so the dnf disable repo command required me to escape the *
  2. Had a communication timeout error during the firmware update which resulted in a failed update and bug report being sent. After restarting the machine the firmware was up to date on the fingerprint sensor and validated it’s functionality in Fedora.

Will keep an eye on things but aside from the hickups seems to be working. Let me know if this was the wrong spot to post this or if additional info would be helpful!

This is immensely helpful! Thank you! :slight_smile:

I thought I had followed the instructions correctly but I still see the original error message (Failed to claim fingerprint device Goodix MOC Fingerprint sensor…). New (batch 9) machine assembled yesterday.

Framework Laptop 13 AMD Ryzen 7040Series
AMD® Ryzen 5 7640u w/ radeon 760m graphics × 12
Ubuntu 22.04.3 LTS

All steps followed and feedback matched the post above except for the final screenshot. My version had an extra line: Device requests: Image.

Afterwards I was notified of more software updates and saw the following error.

Hi @Matt_Hartley :wave:

Batch 9 DIY (assembled yesterday)
AMD Ryzen 5 7640
Fedora 39

So I rode the trying-to-enrol-a-fingerprint rollercoaster yesterday. Fingerprint setup wasn’t prompted during the Fedora installation process, and when I went to my User settings, I was greeted with the “Failed to claim fingerprint…” alert. Went through the guide you linked above, which led to the firmware upgrade (and rollback for me, as I was apparently on 1.9.10). All was going well until I reached:

fwupdtool get-history

This wouldn’t work without a sudo command appended (run as-is above, I got a massively long list of permission denied responses). With sudo, it returned:

Loading… [******* ]07:04:08.092 FuEngine failed to add device usb:01:00:04: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
Loading… [************************************** ]
No history

Checked the forums and r/framework again, found multiple users saying they’d had success running the firmware update/rollback while booting in recovery mode, but it was late and I was worried I’d doze off and make a stupid mistake.

Fast forward to just now, checked the forums and lo and behold, this thread showed up (not sure why it didn’t yesterday - used the same search terms). Followed your Fedora guide, and all was going well until I reached:

then lastly
fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
This should complete, then you will choose to reboot.

It didn’t complete. It returned:

failed to write: failed to reply: transfer time out

Luckily, I scrolled up and noticed this was apparently normal for Ubuntu, so I rolled the dice and rebooted.

The fingerprint scanner worked! :confetti_ball:

I entered my prints and locked the screen to test. Prints failed. Logged in with password.

Went back to Settings > Users and was greeted with the dreaded “Failed to claim fingerprint device…” alert again :sob:

So… back to square one. Any ideas? Feel like repeating the cycle again might not be the way to go :thinking:

Hi! @Matt_Hartley!
Your procedure worked for my FW 13 R5 7640 Batch 10 with Fedora 39 Kernel 6.6.6-200!
Thank you so much! :clap:

1 Like

This worked for me too under Fedora 39 Linux 6.6.6-200.fc39.x86_64 on the 13" AMD 7040 Series Framework, Batch 11. Thank you for the clear instructions!

1 Like

I believe it won’t work with secure boot, i had all these issues when i first tried to do anything with the update tool…

My new Framework 13 AMD arrived today (Ubuntu 22.04.3 LTS) and I’m struggling to get the fingerprint reader working. I worked through the official guide, and it was still reporting “Failed to claim fingerprint device…”

I tried the above guide (a few times), and my experience starts to differ when running:

name@name-framework:~$ fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Selected device: Fingerprint Sensor
Framework Laptop 13 (AMD Ryzen 7040Series)
│
└─Fingerprint Sensor:
      Device ID:          23ec719b6aabc2d2dac5176c232f0da7a21881b0
      Summary:            Match-On-Chip fingerprint sensor
      Current version:    01000320
      Vendor:             Goodix (USB:0x27C6)
      Install Duration:   10 seconds
      Serial Number:      UIDXXXXXXXX_XXXX_MOC_B0
      GUID:               1e8c8470-a49c-571a-82fd-19c9fa32b8c3 ← USB\VID_27C6&PID_609C
      Device Flags:       • Updatable
                          • Device can recover flash failures
                          • Signed Payload
      Device Requests:    • Image
    
name@name-framework:~$ fwupdmgr get-updates 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Selected device: Fingerprint Sensor
Devices with no available firmware updates: 
 • Fingerprint Sensor
No updatable devices
name@name-framework:~$ fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Devices with no available firmware updates: 
 • Fingerprint Sensor
 • WD BLACK SN770 500GB
No updatable devices


The only other error I noticed, not sure if it’s helpful, was here:

name@name-framework:~$ fwupdmgr enable-remote lvfs-testing
╔══════════════════════════════════════════════════════════════════════════════╗
║ Enable new remote?                                                           ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ The LVFS is a free service that operates as an independent legal entity and  ║
║ has no connection with Ubuntu. Your distributor may not have verified any    ║
║ of the firmware updates for compatibility with your system or connected      ║
║ devices. All firmware is provided only by the original equipment             ║
║ manufacturer.                                                                ║
║                                                                              ║
║ This remote contains firmware which is not embargoed, but is still being     ║
║ tested by the hardware vendor. You should ensure you have a way to manually  ║
║ downgrade the firmware if the firmware update fails.                         ║
║                                                                              ║
║ Enabling this functionality is done at your own risk, which means you have   ║
║ to contact your original equipment manufacturer regarding any problems       ║
║ caused by these updates. Only problems with the update process itself        ║
║ should be filed at https://bugs.launchpad.net/ubuntu/.                       ║
╚══════════════════════════════════════════════════════════════════════════════╝
Agree and enable the remote? [Y|n]: y
Authenticating…          [               /                       ]
Do you want to refresh this remote now? (Requires internet connection) [Y|n]: y
Downloading…             [         |                             ]
(/snap/fwupd/5438/bin/fwupdmgr:3471): Fwupd-CRITICAL **: 12:32:54.454: fwupd_checksum_guess_kind: assertion 'checksum != NULL' failed
Downloading…             [*********************************      ]
Successfully enabled and refreshed remote

Correct, from the instructions above for Ubuntu and Fedora, disable secure boot. :slight_smile:

Confirming you did remove fwupd via apt and install the snap?

sudo apt remove fwupd

Reboot

snap install fwupd

Reboot

fwupdmgr enable-remote lvfs-testing

  • You will be asked to confirm with Y once, and then once again.
  • You will then see “Successfully enabled and refreshed remote.”
  • Now that you have the more current version of fwupd installed after rebooting as instructed above. We’ll run the next steps:

fwupdmgr refresh --force

  • then run

fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

Also

NOTE: You will absolutely see this error:

failed to write: failed to reply: transfer time out

  • This is fine. Give it two minutes, then I want you to reboot using this command:

sudo systemctl reboot -i

What is happening is fwupd is still “running”, however, the update is done, so we’re forcing the issue.

  • Once you log back in, your installation will be complete and you will be able to enroll fingerprints using Users in the settings.

Please run the steps again. But, this time I’d start off with this, no software center whatsoever please:

sudo apt update && sudo apt upgrade -y && snap refresh

Then rerun the steps. Please screenshot the results of the follow with the bullet points:

  • sudo apt update && sudo apt upgrade -y && snap refresh

Reboot

  • sudo apt remove fwupd (even if it’s removed, run again anyway)

  • snap install fwupd (even if it’s installed, run again anyway)

Reboot

  • fwupdmgr enable-remote lvfs-testing
  • You will be asked to confirm with Y once, and then once again.
  • You will then see “Successfully enabled and refreshed remote.”
  • Now that you have the more current version of fwupd installed after rebooting as instructed above. We’ll run the next steps:
  • fwupdmgr refresh --force

then run

  • fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

This shows the older firmware as expected.

  • fwupdmgr get-updates 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

then run

  • fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

NOTE: You will absolutely see this error:

failed to write: failed to reply: transfer time out

This is fine. Give it two minutes, then I want you to reboot using this command:

  • sudo systemctl reboot -i

After rebooting again:

  • fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3

And this will be the final screenshot.

This is a lot of screenshots, but, it will show me specifically where things are falling off.

Test this again after a few reboots.

Sorry @Matt_Hartley I had to end up installing Windows. I had a deadline at work : )

Thank you for following up.

1 Like

Hi @Matt_Hartley , I am new to Linux, but here’s my attempt:

Framework Laptop 13 AMD Ryzen 7040Series
Ubuntu 22.04.3 LTS
BIOS: 03.03
Just set computer up today and did all the updates.

Before finding this thread, I followed these steps:

but it didn’t work for me. I then tried the steps above and got the same results as JT_TurtleOnABike. I followed the steps in your reply to them, including the reboots. Since I’m a new user I can only attach two pictures at a time, but here are the first two: