Automated post-install setup of Ubuntu 20.04 and 22.04 on the Framework

That’s good to know. Thanks again for Your help.

I’m pleased to report that after suspending - and hibernating - for 10 hrs, battery use was only 4%.

2 Likes

All packages look right. My guess is something else went wrong, unrelated to the formula. I would try to delete all fingerprints and re-add them. You can use the community tool installed by the formula:

sudo libfprint_delete_device_prints.py -d

The startup time optimization you see in the doc is a very specific case where the GRUB boot menu stays open and waits for input for 30 seconds. That’s reduced to 1 second. Also that’s only when your boot volume is on LVM which is a non-standard setup that I happen to use.

This number should decrease further with the upcoming BIOS 3.08.

So, I’ve never heard of Salt before.

I looked at the initial bootstrapping script, and it looks like a number of things fetch scripts which are then executed with root permissions.

How do I found out what all is happening / how can I trust this way of fixing things?

Just like all the rest of open source software you’ve given root to. You either read its source and decide if it’s safe, or you trust that someone else has read it and not raised an alarm, or you trust that others have tested it and not raised an alarm, and so on depending on your risk tolerance. All the scripts are fetched from GitHub so you can inspect what’s fetched before doing so. I think SaltStack’s source is there too. Its API documentation is spectacular as well. The Salt code of the formula is there too.

1 Like

Thanks!

I ran the script – output looked good :upside_down_face:

but, the script left me in the same state before I started looking into how to fix the fingerprint reader (and post 22.04 upgrade).

Anything that requires sudo now tries to interact with the fingerprint reader (expected), but times out (unexpected), and locks up the auth process until that timeout.

So, for example, on the Settings → Users → me screen, I can’t click “Unlock” until “something times out”, and then the fingerprint option under “Authentication and Login” is removed.

Here is my output of:

time sudo apt policy \
  libfprint-2-2 fprintd \
  libpam-fprintd gir1.2-fprint-2.0 \
  fprintd-doc libfprint-2-doc


[sudo] password for nullvoxpopuli: 
libfprint-2-2:
  Installed: 1:1.94.3+tod1-0ubuntu1
  Candidate: 1:1.94.3+tod1-0ubuntu1
  Version table:
 *** 1:1.94.3+tod1-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status
fprintd:
  Installed: 1.94.2-1
  Candidate: 1.94.2-1
  Version table:
 *** 1.94.2-1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status
libpam-fprintd:
  Installed: 1.94.2-1
  Candidate: 1.94.2-1
  Version table:
 *** 1.94.2-1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status
gir1.2-fprint-2.0:
  Installed: 1:1.94.3+tod1-0ubuntu1
  Candidate: 1:1.94.3+tod1-0ubuntu1
  Version table:
 *** 1:1.94.3+tod1-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status
fprintd-doc:
  Installed: 1.94.2-1
  Candidate: 1.94.2-1
  Version table:
 *** 1.94.2-1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
        100 /var/lib/dpkg/status
libfprint-2-doc:
  Installed: 1:1.94.3+tod1-0ubuntu1
  Candidate: 1:1.94.3+tod1-0ubuntu1
  Version table:
 *** 1:1.94.3+tod1-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
        100 /var/lib/dpkg/status

real	0m28.357s
user	0m0.013s
sys	0m0.020s

The daemon has an error – I did some light googling, but the only answer I found wasn’t for Ubuntu, and the solution was “downgrade” – which doesn’t seem quite right

❯  sudo service fprintd status
× fprintd.service - Fingerprint Authentication Daemon
     Loaded: loaded (/lib/systemd/system/fprintd.service; static)
     Active: failed (Result: exit-code) since Mon 2022-05-02 12:36:28 EDT; 57s ago
       Docs: man:fprintd(1)
    Process: 16467 ExecStart=/usr/libexec/fprintd (code=exited, status=127)
   Main PID: 16467 (code=exited, status=127)
        CPU: 83ms

May 02 12:36:27 hephaestus systemd[1]: Starting Fingerprint Authentication Daemon...
May 02 12:36:28 hephaestus fprintd[16467]: /usr/libexec/fprintd: symbol lookup error: /usr/libexec/fprintd: undefined symbol: fp_>
May 02 12:36:28 hephaestus systemd[1]: fprintd.service: Main process exited, code=exited, status=127/n/a
May 02 12:36:28 hephaestus systemd[1]: fprintd.service: Failed with result 'exit-code'.
May 02 12:36:28 hephaestus systemd[1]: Failed to start Fingerprint Authentication Daemon.
lines 1-13/13 (END)

Well this is interesting. All the packages are the correct ones, from Ubuntu’s repos so that’s good. I’m not sure this is my fault given that, but I’d try to help anyways. Do you have the output from original post-upgrade run of the script?

Oh you most certainly are not at fault – this is 22.04 upgrade from 21.10 issue :upside_down_face: (likely?)

If there is a better place to post, I can do that.

I do not – I’ve rebooted since running the script

Also can you get the full output of that error in fprintd.service ? Use the arrow keys to scroll to the right to reveal the rest of it.

yeah, here’s the full thing

× fprintd.service - Fingerprint Authentication Daemon
     Loaded: loaded (/lib/systemd/system/fprintd.service; static)
     Active: failed (Result: exit-code) since Mon 2022-05-02 12:36:28 EDT; 57s ago
       Docs: man:fprintd(1)
    Process: 16467 ExecStart=/usr/libexec/fprintd (code=exited, status=127)
   Main PID: 16467 (code=exited, status=127)
        CPU: 83ms

May 02 12:36:27 hephaestus systemd[1]: Starting Fingerprint Authentication Daemon...
May 02 12:36:28 hephaestus fprintd[16467]: /usr/libexec/fprintd: symbol lookup error: /usr/libexec/fprintd: undefined symbol: fp_device_suspend_finish, version LIBFPRINT_2.0.0
May 02 12:36:28 hephaestus systemd[1]: fprintd.service: Main process exited, code=exited, status=127/n/a
May 02 12:36:28 hephaestus systemd[1]: fprintd.service: Failed with result 'exit-code'.
May 02 12:36:28 hephaestus systemd[1]: Failed to start Fingerprint Authentication Daemon.

Sounds like fprintd can’t load libfprint. Do:

ls -la /usr/lib/x86_64-linux-gnu/libfprint-2.so.2
ls -la /usr/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0

and post the output.

EDIT: Discourse isn’t allowing me to post the commands for some reasons. Trying to find a way to put them in. :sweat_smile:
E2: Blockquote worked.

1 Like

ls -la /usr/lib/x86_64-linux-gnu/libfprint-2.so.2
ls -la /usr/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0
Permissions Size User Date Modified Name
lrwxrwxrwx 20 root 27 Mar 17:48 /usr/lib/x86_64-linux-gnu/libfprint-2.so.2 -> libfprint-2.so.2.0.0
Permissions Size User Date Modified Name
.rw-r--r-- 746k root 27 Mar 17:48 /usr/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0

:thinking:

I had to do the same thing :upside_down_face: weird

nm -gD /usr/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0 | grep fp_device_suspend_finish
❯ nm -gD /usr/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0 | grep fp_device_suspend_finish
0000000000016d50 T fp_device_suspend_finish@@LIBFPRINT_2.0.0

It looks right but something’s amiss. Let’s try to speculatively reinstall all the components:

sudo apt-get --reinstall install fprintd libfprint-2-2 libfprint-2-tod1 gir1.2-fprint-2.0 libpam-fprintd

Reboot for a good measure after that and check if fprintd.service can start.

1 Like

cool, yeah, I re-installed all that stuff with that command, rebooted, and the service is still struggling

× fprintd.service - Fingerprint Authentication Daemon
     Loaded: loaded (/lib/systemd/system/fprintd.service; static)
     Active: failed (Result: exit-code) since Mon 2022-05-02 14:07:05 EDT; 1min 10s ago
       Docs: man:fprintd(1)
    Process: 15613 ExecStart=/usr/libexec/fprintd (code=exited, status=127)
   Main PID: 15613 (code=exited, status=127)
        CPU: 83ms

May 02 14:07:04 hephaestus systemd[1]: Starting Fingerprint Authentication Daemon...
May 02 14:07:05 hephaestus fprintd[15613]: /usr/libexec/fprintd: symbol lookup error: /usr/libexec/fprintd: undefined symbol: fp_device_suspend_finish, version LIBFPRINT_2.0.0
May 02 14:07:05 hephaestus systemd[1]: fprintd.service: Main process exited, code=exited, status=127/n/a
May 02 14:07:05 hephaestus systemd[1]: fprintd.service: Failed with result 'exit-code'.
May 02 14:07:05 hephaestus systemd[1]: Failed to start Fingerprint Authentication Daemon.
~
sudo find / -name "libfprint*so*"
ldd /usr/libexec/fprintd
sudo systemctl cat fprintd.service

You can put the results in the other thread if you like.

yeah let’s move over there – I’ve copied the output of those 3 commands to here: Upgrading to Ububtu 22.04 -- issues, etc

Apologies for the extremely delayed response. I tried this and it seems to have deleted the prints just fine. But now I having problems re-adding. Every time I run fprintd-enroll or sudo fprintd-enroll I get the following error message:
Failed to get Fprintd manager: Error calling StartServiceByName for net.reactivated.Fprint: Failed to activate service ‘net.reactivated.Fprint’: timed out (service_start_timeout=25000ms)
Any idea of how to get around this?

What’s the status of fprintd.service?