python-validity: `open-fprintd-resume.service` fails to start after resuming from suspend
It is fixed upon restarting, but fails upon resuming from suspend again. This is on Arch Linux with the python-validity-git AUR package, and my FPR is 06cb:009a Synaptics, Inc. Metallica MIS Touch Fingerprint Reader.
Output of systemctl status open-fprintd-resume.service:
× open-fprintd-resume.service - Restart devices after resume
Loaded: loaded (/usr/lib/systemd/system/open-fprintd-resume.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-01-07 13:12:24 IST; 13s ago
Process: 38590 ExecStart=/usr/lib/open-fprintd/resume.py (code=exited, status=1/FAILURE)
Main PID: 38590 (code=exited, status=1/FAILURE)
CPU: 39ms
Jan 07 13:12:24 haruki resume.py[38590]: File "/usr/lib/python3.10/site-packages/validitysensor/init_flash.py", line 113, in init_flash
Jan 07 13:12:24 haruki resume.py[38590]: info = get_flash_info()
Jan 07 13:12:24 haruki resume.py[38590]: File "/usr/lib/python3.10/site-packages/validitysensor/flash.py", line 41, in get_flash_info
Jan 07 13:12:24 haruki resume.py[38590]: assert_status(rsp)
Jan 07 13:12:24 haruki resume.py[38590]: File "/usr/lib/python3.10/site-packages/validitysensor/util.py", line 12, in assert_status
Jan 07 13:12:24 haruki resume.py[38590]: raise Exception('Failed: %04x' % s)
Jan 07 13:12:24 haruki resume.py[38590]: Exception: Failed: 0315
Jan 07 13:12:24 haruki systemd[1]: open-fprintd-resume.service: Main process exited, code=exited, status=1/FAILURE
Jan 07 13:12:24 haruki systemd[1]: open-fprintd-resume.service: Failed with result 'exit-code'.
Jan 07 13:12:24 haruki systemd[1]: Failed to start Restart devices after resume.
Output of sudo systemctl start open-fprintd-resume.service:
Job for open-fprintd-resume.service failed because the control process exited with error code.
See "systemctl status open-fprintd-resume.service" and "journalctl -xeu open-fprintd-resume.service" for details.
Output of journalctl -xeu open-fprintd-resume.service:
Jan 07 13:12:24 haruki systemd[1]: open-fprintd-resume.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit open-fprintd-resume.service has entered the 'failed' state with result 'exit-code'.
Jan 07 13:12:24 haruki systemd[1]: Failed to start Restart devices after resume.
░░ Subject: A start job for unit open-fprintd-resume.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit open-fprintd-resume.service has finished with a failure.
░░
░░ The job identifier is 3350 and the job result is failed.
Jan 07 13:14:00 haruki systemd[1]: Starting Restart devices after resume...
░░ Subject: A start job for unit open-fprintd-resume.service has begun execution
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit open-fprintd-resume.service has begun execution.
░░
░░ The job identifier is 3432.
Jan 07 13:14:00 haruki resume.py[38872]: Traceback (most recent call last):
Jan 07 13:14:00 haruki resume.py[38872]: File "/usr/lib/open-fprintd/resume.py", line 11, in <module>
Jan 07 13:14:00 haruki resume.py[38872]: o.Resume()
Jan 07 13:14:00 haruki resume.py[38872]: File "/usr/lib/python3.10/site-packages/dbus/proxies.py", line 141, in __call__
Jan 07 13:14:00 haruki resume.py[38872]: return self._connection.call_blocking(self._named_service,
Jan 07 13:14:00 haruki resume.py[38872]: File "/usr/lib/python3.10/site-packages/dbus/connection.py", line 652, in call_blocking
Jan 07 13:14:00 haruki resume.py[38872]: reply_message = self.send_message_with_reply_and_block(
Jan 07 13:14:00 haruki resume.py[38872]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.22 was not provided by any .service files
Jan 07 13:14:00 haruki systemd[1]: open-fprintd-resume.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit open-fprintd-resume.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Jan 07 13:14:00 haruki systemd[1]: open-fprintd-resume.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit open-fprintd-resume.service has entered the 'failed' state with result 'exit-code'.
Jan 07 13:14:00 haruki systemd[1]: Failed to start Restart devices after resume.
░░ Subject: A start job for unit open-fprintd-resume.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit open-fprintd-resume.service has finished with a failure.
░░
░░ The job identifier is 3432 and the job result is failed.
I also tried it with the regular python-validity AUR package (which doesn’t seem to have been updated to 0.13 yet?), but that also caused the service with a different error – I’ll post the details in a follow-up comment.
Edit: I’m unable to reproduce that error anymore, it was a USBError from pyusb stating that the device couldn’t be found and that it may have been disconnected. Now, both the -git and normal versions report the same error.
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 3
- Comments: 19
Commits related to this issue
- Add service to restart python-validity after suspend This is a workaround for uunicorn/python-validity#106 — committed to scottbot95/nixos-config by scottbot95 2 years ago
- 299777: python-validity-0.12-alt0.3 - Create -resume unit for -validity service to fix non-working sensor after resume (see https://github.com/uunicorn/python-validity/issues/106). — committed to altlinux/specs by LAKostis 2 years ago
I have the same issue as the one described above. I have solved it by writing a service that runs after resume and restarts open-fprintd and python3-validity services It’s a quick and easy fix until a permanent fix is found I’ll leave the code for this service below for anyone who might need it.
This worked perfectly for me on a Lenovo T480s running Fedora 36