[Beta] LVFS update for Framework Laptop 13, 13th Gen Intel Core & AMD 7040 Series fingerprint reader on Linux

I successfully updated to 01000330 and used it for several days.

It now is massively hot (171F/77C) and no longer shows up if in lsusb or the fwupd tools.

The extreme heat has me afraid to use my laptop.

Edit: this is on a new 13th gen 1370 if that makes a difference. Also, I suspect the temps fried the chip.

Please open a support ticket as this sounds like something has gone sideways. Also, this is with Fedora 38/39 or Ubuntu 22.04.3?

Folks, I believe I have a better handle on where things were falling down. I reproduced this on my own reader. This is a far clearer and improved guide for getting this set up:

3 Likes

Hey,

i recently had to move from win 11 to the newest linux mint because bitlocker ate my recovery keys…at least i wasnt able to unlock the drive with the keys.

The system runs so smooth and the fans arent audible, even if i charge the device…thats been an issue on the windows system. totally annoying. nevermind

Everything is working except the fw-fanctrl and the fingerprint sensor… i was able to get the firmware of the fingerprint sensor to the new version 01000330 and fprintd-enroll my fingerprints in the terminal. i just cant use it somehow when i need to use my password. is there something like a gui? in the user accounts setting theres only me and not many options…

hope someone can help, im trying to get the logs as you need them like on this thread. thanks

I got

failed to get device before update reload: failed to wait for device: device 23ec719b6aabc2d2dac5176c232f0da7a21881b0 did not come back

at

fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab

step in the guide. fwupd version is 1.9.7. Secure boot is disabled. I have a 7040 series motherboard.

Welcome back to the community!

Confirming this is Ubuntu 22.04.3 or Fedora 38/39?

Based on this:

I am assuming you did not see the KB article linked in the guides for Fedora or Ubuntu 22.04 - are you using another distro/desktop environment?

1 Like

Hmmm, let’s see here.

What is the output of: fwupdmgr --version

If it’s older than 1.8.17, then what is the output of:

sudo cat /usr/share/fwupd/quirks.d/goodixmoc.quirk`

If it is not older. What is your output of:

sudo fwupdtool get-history

I’m on a FW 13 AMD. I previously had everything working with the 01000330 firmware, but had to get a replacement input cover due to receiving a defective keyboard. Unfortunately, I am unable to get the fingerprint reader to work.

it appears that this input cover shipped with the 01000320 firmware:

$ 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

I am running a newer version of fwupd (1.9.8)

$ fwupdmgr --version
compile   com.hughsie.libxmlb           0.3.14
compile   org.freedesktop.Passim        0.1.4
compile   com.hughsie.libjcat           0.1.14
compile   org.freedesktop.fwupd         1.9.8
runtime   org.freedesktop.fwupd-efi     1.4
compile   org.freedesktop.gusb          0.4.7
runtime   org.freedesktop.Passim        0.1.4
runtime   org.freedesktop.gusb          0.4.7
runtime   com.hughsie.libjcat           0.1.14
runtime   org.kernel                    6.6.1-arch1-1
runtime   org.freedesktop.fwupd         1.9.8

Attempting to enroll fails:

$ fprintd-enroll $USER                                                                 
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

Trying to join lvfs-testing fails with a strange error (this worked when I upgraded to the 3.0.3 firmware, so I don’t know what changed):

$ fwupdmgr refresh --force
Updating lvfs-testing
Downloading…             [          |                            ]
Failed to download metadata for lvfs-testing: Failed to download, server response was 404: vendor with access token testing not found

Attempting to flash the cab file returns an inscruitable error:

$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab 
Decompressing…           [ -                                     ]
generic GUID requires a CHID, child, parent or sibling requirement

And, finally, running the fprint-clear-storage tool yields:

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 0x7f6e04f56880 (FpiDeviceGoodixMoc at 0x563c8f4921e0)>
goodixmoc
UIDXXXXXXXX_XXXX_MOC_B0
Traceback (most recent call last):
  File "/tmp/.mount_fprintyQJ7ap//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: error [udev_hotplug_event] ignoring udev action change
libusb: warning [libusb_exit] application left some devices open

IIRC mine also came with 01000320. I deviated a bit from the download-and-local-install method from the knowledgebase and just ran a simpler:

sudo fwupdtool install goodix-moc-609c-v01000330.cab

It complained about something, can’t remember the verbiage, but I remember that afterwards the device was not showing up in fwupdmgr get-devices. It seems that was a side effect of the update itself. After a reboot the device shows up in get-devices with fw version 01000330.

Side issue but probably worth a PSA: fwupd 1.9.8 build in Fedora updates-testing is bugged.

Upstream, fix should be incoming in a new build:

Affected my AMD FW too (get-devices hang).

I ran dnf distro-sync fwupd* back to 1.9.7 and all’s good.

1 Like

Really strange. It showed failed to update but now the fwupdmgr shows the version is 330. Previously it was 248.

Thanks for sharing! This was exactly my issue. I resolved things by:

  1. Downgrading to fwupd 1.9.7 (Arch: sudo downgrade fwupd)
  2. Running sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab. This succeeded this time (or rather, gave one of the “ignorable” errors)
  3. Tried enrolling fingerprints and succeeded.
1 Like

Hey Matt, thanks for the reply. Im using Linux Mint Cinnamon with the recommended Ubuntu kernel.
The installation went smooth with the Linux Mint Knowledge base topic and the bightness keys work flawlessly. the fingerprint sensor also! had to do the installation part again and it works now. thanks.

still the fancontrol applet is missing files somehow. im reading through if i did something wrong with wget on github but its no dealbreaker not to have it working.

but somehow the Framework System Details wont work for me. nothing happens if i click it

Fedora users, I updated the guide, see TROUBLESHOOTING fwupd is NEWER than 1.9.7 section of Updating Fingerprint Reader Firmware on Linux for 13th Gen and AMD Ryzen 7040 Series Laptops


Haven’t had time to vet Mint recently, so something may have changed. Instead of System Details, let’s use:

sudo apt install lshw dmidecode -y && sudo dmidecode | grep -A3 'Vendor:\|Product:' && sudo lshw -C cpu | grep -A3 'product:\|vendor:'

Hi there

On a AMD model I received yesterday (batch 7), installed with fedora 39, it was impossible to install the firmware with the fwupd provided (1.9.9) even after several reboots
Eventually I was able to downgrade to version 1.9.5 with

sudo dnf downgrade fwupd

then it was possible to this point to upgrade the goodix firmware using the provided command

sudo fwupdtool install --allow-reinstall --allow-older ~goodix-moc-609c-v01000330.cab
# an error I disregarded though
failed to write: failed to reply: transfer timed out

sudo fwupdtool get-devices --plugins goodixmoc
...
      Current version:    01000330
...

I don’t know if the version 1.9.5 will remain available and if all people using Fedora 39 can downgrade to this version, but at least it worked for me.

Thanks

2 Likes

Back when my Batch 3 arrived I used the methods described in the guide posted by Matt_Hartley on 10/26 (updated 11/27/23). It installed in one go and reader has worked perfectly ever since.

.cab installation instructions for people who can’t downgrade fwupd

If you follow the guide ( Updating Fingerprint Reader Firmware on Linux for 13th Gen and AMD Ryzen 7040 Series Laptops ), you’ll probably run into this issue because the cab file has invalid metadata that newer fwupdtool rejects: generic GUID requires a CHID, child, parent or sibling requirement

To fix this, you need to do the following steps:

  1. cabextract goodix-moc-609c-v01000330.cab
  2. Edit goodix.metainfo.xml and add the following before the </compoment> block:
  <requires>
    <id compare="ge" version="1.0.1">org.freedesktop.fwupd</id>
    <hardware>2185e781-ed4b-5fc2-8839-b5ddb1e7d649</hardware>
  </requires>

This HWID was obtained from fwupdtool hwids and is specific only to Framework manufacturer
3. Create a new cab. I removed the original and created a new one like so: rm goodix-moc-609c-v01000330.cab && gcab -c -v goodix-moc-609c-v01000330.cab APP_GF5288_01000330_PID_609C.bin APP_GF5288_01000330_PID_609C.bin.asc firmware.jcat goodix.metainfo.xml README.txt
4. Install the new cab as explained in the guide. You will likely see a different error message AFTER it’s done writing, you’re supposed to ignore it and reboot after the command finishes.
5. Your fingerprint reader should now work

I very recently bought a new framework laptop and it had this firmware issue. The lvfs-testing update method would not work for me, and manually installing it wouldn’t work due that error message. I’m somewhat disappointed Framework’s solution for this has been to just tell people to downgrade fwupd. Downgrading should be considered a last resort, and on some distros like Arch it’s not easy, recommendedable, or in many cases it’s simply impossible without downgrading the rest of the system with it. Hopefully the above information is helpful to anybody struggling as I was.

5 Likes

Appreciate this. We’re working on a solution with the appropriate developer as 1.9.7+ (applies to 1.9.9) changed the game a bit. We’re working on it now.

3 Likes

Looking for beta testers - Ubuntu 22.04 and Fedora 39 only please. Reasons are shown in the link for these distros.