T480s(06cb:009a), factory reset failed.
I followed the instructions in the manual: after running yay -S python-validity, I entered sudo fprintd-enroll and saw list_devices failed:. Then I attempted a factory reset. When I ran the command sudo python3 /usr/share/python-validity/playground/factory-reset.py, it either returned a timeout or error code 0401, making it completely non-functional. Even resetting the fingerprint settings in BIOS didn't help. Here is the error message:
Traceback (most recent call last):
File "/usr/share/python-validity/playground/factory-reset.py", line 6, in
Or such a situation may occur:
Traceback (most recent call last):
File "/usr/share/python-validity/playground/factory-reset.py", line 6, in
same issue. which is weird because it was working before I did a reinstall. Only difference was switching from yay to paru.
EDIT(SOLVED): I have solved my issue. I believe I was removing my finger from the reader too quickly. I also was not using sudo command when running fprintd-enroll. These both solved my issue.
同样的问题。这很奇怪,因为在我重新安装之前它就已经工作了。唯一的区别是从 yay 切换到 paru。
Unfortunately, I have never succeeded from the very beginning. I once saw a method that was said to work, but it was too complicated, and I had no interest in trying it. Some people say that in a Windows and Linux dual-boot setup, you can install the fingerprint driver in Windows and register a fingerprint, then delete that fingerprint in Linux and re-register it to succeed.
Same model and same issue
Exactly the same issue here. Worked previously but fingerprints weren't recognised after enrollment. Reset the reader in BIOS and now I get this. Will try with an older snapshot to see if it's software related or somehow the reader is now broken.
EDIT After some investigating with old snapshots, I managed to get it working again doing the following:
- Obtained the firmware with
sudo validity-sensors-firmware - Copied the firmware from
/var/run/python-validity/6_07f_lenovo_mis_qm.xpfwextto somewhere safe (home directory in my case). - Uninstalled python-validity with
yay -R python-validity - Rebooted with
sudo systemctl reboot - Recreated the folder for the firmware with
sudo mkdir /var/run/python-validity. - Copied the firmware to that folder with
sudo cp $HOME/6_07f_lenovo_mis_qm.xpfwext /var/run/python-validity. - Reinstalled with
yay -S python-validity.
There seems to be some error with the flow of downloading the firmware and also re-initialising the device once the firmware upload or the unit start has failed (the reader seems to just throw those exceptions after that). Also disabling the unit somehow didn't work as it was re-enabled on reboot (?). So only the above procedure worked for me.
I don't have the time to pinpoint the exact problem but I hope the info above helps. Could be an issue with the AUR package and not python-validity maybe..?
Hey, I can confirm that @phtty suggestion works. If you factory reset your fingerprint reader in the BIOS or python util you need to first use windows to register one fingerprint, after that sudo fprintd-enroll works like a charm.
For my use case I don't dual boot windows/linux so I've inserted a windows 11 live usb stick (always good to have one at hand)
After registering the first fingerprint it's also required to remove it using the fingerprint manager, otherwise the verify will never succeed:
https://github.com/uunicorn/python-validity/issues/189#issuecomment-2294960949