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

Thanks @Matt_Hartley ! I followed the LVFS guide and at the update step it said:

$ fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Devices with no available firmware updates: 
 • UEFI dbx
No updatable devices

I then tried the link in the second dot point, and at the checking step I got:

sudo fwupdtool get-devices --plugins goodixmoc
Loading…                 [***************************************]
No detected devices

I tried installing the update anyway and I got:

$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab
Loading…                 [-                                      ]00:40:10:0551 FuEngine             failed to get releases for UEFI dbx: No releases found: Not compatible with org.freedesktop.fwupd version 1.7.9, requires >= 1.9.1
00:40:10:0556 FuEngine             failed to get releases for UEFI dbx: No releases found: Not compatible with org.freedesktop.fwupd version 1.7.9, requires >= 1.9.1
00:40:11:0416 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Decompressing…           [***************************************]
No supported devices found

Should I open it up and check that the connector is connected properly? ¯\_(ツ)_/¯

You did the link, awesome, appreciate that. Now reboot, then try the GUI again completely ignoring the errors and the not found messaging. Sounds wrong, but try it. :slight_smile:

It works!

FWIW I did actually go all the way through the instructions in the link (including adding the quirk)

Thanks Matt! May you have a bountiful harvest!

2 Likes

Thank you! Delighted to hear the latter approach worked out.

Alright folks, I need a consensus. LVFS fail or success? I had some of you (myself included) using the cab file direct method due to LVFS challenges. What is the verdict?

Please respond with:

Fail/Success, if fail, link to your original post here where the fail is outlined.

Thanks

I’ve seen mostly negative results, so I need to hear from anyone who had success with LVFS please.

1 Like

I may be too late to this discussion, but I tried this on my new 13th Gen Framework 13 that I just got and it did NOT work for me. I am providing the output in case in helps:

$ fwupdmgr refresh --force
Updating lvfs-testing
Downloading…             [   -                                   ]Updating lvfs
Downloading…             [***************************************]
Downloading…             [***************************************]
Downloading…             [***************************************]
Successfully downloaded new metadata: 0 local devices supported
$ fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Laptop (13th Gen Intel Core)
│
├─Fingerprint Sensor:
│     Device ID:          4295296d98b3ba38c72f6baa33d24f03a1d428f6
│     Summary:            Match-On-Chip fingerprint sensor
│     Current version:    01000320
│     Vendor:             Goodix (USB:0x27C6)
│     Install Duration:   10 seconds
│     GUIDs:              34def4c7-9461-5a32-a945-5dde0ca57d88
│                         1e8c8470-a49c-571a-82fd-19c9fa32b8c3
│     Device Flags:       • Updatable
│                         • Device can recover flash failures
│                         • Signed Payload
$ fwupdmgr update 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Devices with no available firmware updates: 
 • Fingerprint Sensor
 • System Firmware
 • UEFI Device Firmware
 • UEFI Device Firmware
 • UEFI Device Firmware
 • WD BLACK SN770 2TB
No updatable devices
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
Bus 003 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Hope I provided the right output :slight_smile:

2 Likes

It is, thank you. Two things I’d like to check with you:

What is the output of:

fwupdmgr --version

and

You confirmed that despite the apparent fail to update, Fedora/Ubuntu Users, Fingerprint reader did not detect the hardware?

1 Like

Thank you for your time and effort!

$ fwupdmgr --version
runtime   org.freedesktop.fwupd         1.7.9
runtime   com.dell.libsmbios            2.4
compile   org.freedesktop.gusb          0.3.10
runtime   org.kernel                    6.2.0-34-generic
compile   com.hughsie.libjcat           0.1.9
compile   org.freedesktop.fwupd         1.7.9
runtime   org.freedesktop.gusb          0.3.10

Yes, the fingerprint sensor is still NOT working. The Users settings page displays the following error: Failed to claim fingerprint device Goodix MOC Fingerprint Sensor: Failed to communicate with the fingerprint reader.

Here is my Ubuntu version, in case it is of any importance:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

No problem, okay, this confirms that the lvsfs option is not a go at this time.

Please try this (as it has worked 95% of the time for those trying it). Ignore any errors, just follow along. Then report back.

2 Likes

I’ve already tried this before discovering this thread. I now went through it again to document the output:

sudo fwupdtool get-devices --plugins goodixmoc
Loading…                 [-                                      ]19:35:34:0157 FuEngine             failed to add device usb:03:00:09: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
Loading…                 [***************************************]
No detected devices
$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab
Loading…                 [-                                      ]19:36:52:0372 FuEngine             failed to add device usb:03:00:09: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
19:36:52:0545 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Decompressing…           [***************************************]
No supported devices found

Then I rebooted, still didn’t work.

fwupdmgr --version                                                                                                                      [21:41:02]
runtime   org.freedesktop.fwupd         1.7.9
runtime   com.dell.libsmbios            2.4
compile   org.freedesktop.gusb          0.3.10
runtime   org.kernel                    6.2.0-34-generic
compile   com.hughsie.libjcat           0.1.9
compile   org.freedesktop.fwupd         1.7.9
runtime   org.freedesktop.gusb          0.3.10

The version is older than 1.8.8 so I used the quirk described in the guide:

$ file="/usr/share/fwupd/quirks.d/goodixmoc.quirk"; sudo sed -i '/\[USB\\VID_27C6&PID_609C\]/d' "$file"; sudo sed -i '/Plugin = goodixmoc/d' "$file"; echo -e '[USB\VID_27C6&PID_609C]\nPlugin = goodixmoc' | sudo tee -a "$file" > /dev/null
$ sudo cat /usr/share/fwupd/quirks.d/goodixmoc.quirk
# Goodix Fingerprint sensor
[USB\VID_27C6&PID_60A2]
[USB\VID_27C6&PID_6384]
[USB\VID_27C6&PID_639C]
[USB\VID_27C6&PID_63AC]
[USB\VID_27C6&PID_6594]
[USB\VID_27C6&PID_6496]
[USB\VID_27C6&PID_609C]
Plugin = goodixmoc

Now I rebooted again.

$ sudo fwupdtool get-history
Loading…                 [-                                      ]19:48:01:0347 FuEngine             failed to add device usb:03:00:09: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
19:48:01:0530 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Laptop (13th Gen Intel Core)
│
└─Fingerprint Sensor:
  │   Device ID:          4295296d98b3ba38c72f6baa33d24f03a1d428f6
  │   Previous version:   01000320
  │   Update State:       Failed
  │   Update Error:       failed to write: failed to reply: transfer timed out
  │   Last modified:      2023-10-14 17:01
  │   GUID:               34def4c7-9461-5a32-a945-5dde0ca57d88
  │   Device Flags:       • Updatable
  │                       • Device can recover flash failures
  │ 
  └─  New version:      01000330
        License:          Unknown
        Description:      
        The vendor did not supply any release notes.

The new version indeed 01000330, but it still didn’t work.

$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab
Loading…                 [-                                      ]19:49:56:0499 FuEngine             failed to add device usb:03:00:09: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
19:49:56:0672 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Decompressing…           [***************************************]
No supported devices found

Rebooted, still the same error.

Hi Matt, just adding my post here to say that while the LVFS option failed (and even the .cab file option failed the first 2 or 3 times), I followed the “If it is not working, re-run the fwupdtool install command above again - make sure to reboot each time.” advice and eventually it updated to 01000330 and the GUI started working. Thank you so much! :raised_hands:

2 Likes

Let’s get this into a ticket and see what is going on from there, please link to this post in the ticket.

Delighted to hear this worked out! :raised_hands: :slightly_smiling_face:

1 Like

Ok, I’ve got an update. After reading @Agnes post, I tried to rerun the fwupdtool install ... command a couple of times, of course rebooting every time as discribed in the guide, and it actually worked. Although I did rerun the command once or twice, I didn’t think of further persuing that approach after that.

Here again is the output of one of the unsuccessful tries:

$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab
Loading…                 [-                                      ]19:49:56:0499 FuEngine             failed to add device usb:03:00:09: failed to claim interface 0x00: USB error on device 27c6:609c : Resource busy [-6]
19:49:56:0672 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Decompressing…           [***************************************]
No supported devices found

And here is what happened after trying it a couple of times (not 100% sure, but I think it was the 4th try):

$ sudo fwupdtool install --allow-reinstall --allow-older goodix-moc-609c-v01000330.cab
Loading…                 [-                                      ]11:55:00:0931 FuEngine             failed to add device /sys/devices/pci0000:00/0000:00:1f.5/spi_master/spi0/spi0.0/mtd/mtd0ro: attribute size returned no data
Loading…                 [***************************************]
Decompressing…           [***************************************]
Writing…                 [*************************************  ]11:55:10:0778 FuEngine             failed to update-cleanup after failed update: failed to get device before update cleanup: failed to wait for detach replug: device 4295296d98b3ba38c72f6baa33d24f03a1d428f6 did not come back
failed to write: failed to reply: transfer timed out

As said, now everything works!

Just some personal feedback: For people who don’t have a lot of knowledge in this area (like me :slight_smile:), it might be a good idea to add a short description to the re-run the fwupdtool install section, saying that the command might need to be run up to let’s say 5 times until it actually works.

I apologise for wasting your time, but I really tried to solve this on my own before bothering you.
Many thanks to @Matt_Hartley and @Agnes for helping me out!

1 Like

That’s not how it should work tbh, even on Linux :sweat_smile:
The fact that it does will surely be of relevance for fw’s engineers.

1 Like

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