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

Another success using the manual method, appreciate you sharing this.

When folks are able to use it successfully - at this time, the results are still early, but overall it looks like there are some things to work through.

Hello there

I only just got my laptop yesterday. I followed the Ubuntu 22.04 install guide but I’m having no luck with the fingerprint sensor.

In the settings app where you’re supposed to register fingerprints it says: Failed to claim fingerprint device Goodix MOC Fingerprint Sensor: Failed to communicate with fingerprint reader

What puzzles me is that the fingerprint sensor is not listed in the output of fwupdmgr get-devices. It could be that it is just not labelled as such?

When I run lsusb I get:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 001 Device 002: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera
Bus 001 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And when I run fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3 I get:

fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Laptop (13th Gen Intel Core)
│
├─System Firmware:
│ │   Device ID:          a45df35ac0e948ee180fe216a5f703f32dda163f
│ │   Summary:            UEFI ESRT device
│ │   Current version:    772
│ │   Minimum Version:    1
│ │   Vendor:             Framework (DMI:INSYDE Corp.)
│ │   Update State:       Success
│ │   GUIDs:              13fd4ed2-cba9-50ba-bb91-aece0acb4cc3
│ │                       230c8b18-8d9b-53ec-838b-6cfc0383493a
│ │   Device Flags:       • Internal device
│ │                       • Updatable
│ │                       • System requires external power source
│ │                       • Needs a reboot after installation
│ │                       • Cryptographic hash verification is available
│ │                       • Device is usable for the duration of the update
│ │ 
│ └─UEFI dbx:
│       Device ID:        362301da643102b9f38477387e2193e57abaa590
│       Summary:          UEFI revocation database
│       Current version:  83
│       Minimum Version:  83
│       Vendor:           UEFI:Linux Foundation
│       Install Duration: 1 second
│       GUIDs:            c6682ade-b5ec-57c4-b687-676351208742
│                         f8ba2887-9411-5c36-9cee-88995bb39731
│                         c0f9e469-9ce5-5752-898d-7637faa819e1
│                         f35e120a-eb92-570d-8d38-78aa8ffdeebe
│       Device Flags:     • Internal device
│                         • Updatable
│                         • Needs a reboot after installation
│                         • Only version upgrades are allowed
│                         • Signed Payload
│     
├─UEFI Device Firmware:
│     Device ID:          349bb341230b1a86e5effe7dfe4337e1590227bd
│     Summary:            UEFI ESRT device
│     Current version:    2124
│     Minimum Version:    1000
│     Vendor:             DMI:INSYDE Corp.
│     Update State:       Success
│     GUID:               865d322c-6ac7-4734-b43e-55db5a557d63
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─UEFI Device Firmware:
│     Device ID:          2292ae5236790b47884e37cf162dcf23bfcd1c60
│     Summary:            UEFI ESRT device
│     Current version:    310
│     Vendor:             DMI:INSYDE Corp.
│     Update State:       Success
│     GUID:               0c42b824-818f-428f-8687-5efcaf059bea
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─UEFI Device Firmware:
│     Device ID:          f95c9218acd12697af946874bfe4239587209232
│     Summary:            UEFI ESRT device
│     Current version:    310
│     Vendor:             DMI:INSYDE Corp.
│     Update State:       Success
│     GUID:               268ccbde-e087-420b-bf82-2212bd3f9bfc
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
└─WD BLACK SN770 500GB:
      Device ID:          71b677ca0f1bc2c5b804fa1d59e52064ce589293
      Summary:            NVM Express solid state drive
      Current version:    731100WD
      Vendor:             Sandisk Corp (NVME:0x15B7)
      GUIDs:              9814a081-1232-5464-911f-8fe4b642d28b
                          87cfda90-ce08-52c3-9bb5-0e0718b7e57e
                          9c9fd14c-25fd-50c2-86c1-f7c08d1bcd04
                          1524d43d-ed91-5130-8cb6-8b8478508bae
                          008bacd9-329d-58e9-a092-c45170fa96b6
      Device Flags:       • Internal device
                          • Updatable
                          • System requires external power source
                          • Needs a reboot after installation
                          • Device is usable for the duration of the update

Looks like you followed the setup guide which at step 8, brought you to this thread. And from there, you attempted to follow the LVFS guide above? If you did and tried the LVFS guide above, please try the following:

  • Ignore the errors.

  • If the Users GUI for fingerprint reader section did not work after following the LVFS method step by step, please try this instead.

1 Like

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