python-validity: Exception: Failed: 04af
I am very new to GitHub,so I want to thank for everyone who contributes this program. Also, English is not my native language, I’m sorry for any misspelled words.
The program complains about 04af error when I was trying to factory resetting my fingerprint driver. Every time after I run the following code sudo python3 /usr/share/python-validity/playground/factory-reset.py -v (no log produced, sudo validity-sensors-firmware runned, python3-validity.service stopped), sudo systemctl status python3-validity.service complains about 04af error. See the attached file for journalctl -u python3-validity.service -b (very long!)
log.log
You can see it complains about Exception: Failed: 04afwhen I flashing the fingerprint driver. I can not know what the error code mean, and I hope you can troubleshoot the error.
Addition note: I also reset the fingerprint in bios, but it does not work. The fingerprint on ubuntu used to work about 7 months ago, with https://github.com/3v1n0/libfprint/ , but one day I found out it did not work. Until today, I can not figure out why it’s not working. I even reinstall ubuntu, switch to Arch linux and run this program, but still no luck.
The following include my hardware information: OS: ubuntu 20.04 Kernel: 5.13.0-48-generic Host: 20F9A043HH ThinkPad T460s Fingerprint: Bus 001 Device 011: ID 138a:0090 Validity Sensors, Inc. VFS7500 Touch Fingerprint Sensor (via lsusb) DE: Gnome 3.36.8
I thank for everyone who develop this program
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 45 (14 by maintainers)
Hey @udaemon , it is possible to use windows vm to pair with fingerprint, but it requires more work to finish. So, the problem with using windows vm is, the VM does not emulate the host BIOS information, so if pairing is occurred in VM, signature will be different than the host. To solve the problem, we need to emulate the host BIOS information.
Assume you are using VirtualBox and name your windows vm called “windows10”, follow these steps when you go into step 2 in above instruction.
sudo dmidecode. You will find it will output a lot of information, scoll up to session type 0.vboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/something" "something", make sure you do not input incorrect information, otherwise you have to reset fingerprint again and redo the step.If you input wrong, you would receive message when running VM.
To remove wrong data, input
vboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersio" ""# replace DmiSystemVersio with value to be removeOpen a new terminal and type:
vboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "LENOVO"# Should be same as mine… unless you are not using a lenovo laptopvboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "N1CET86W (1.54 )"#replace with your own valuevboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "12/06/2021"# replace with your own valuevboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "LENOVO"'# Should be same…vboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "20F9A043HH"# replace with yours if value is differentvboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "ThinkPad T460s"# replace with yours value if value is differentvboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "PC0E4WUK"# replace with your own valuevboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSKU" "LENOVO_MT_20F9_BU_Think_FM_ThinkPad T460s"# replace with your valuevboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "ThinkPad T460s"# replace with your value if differntvboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "b1b1abcc-328e-11b2-a85c-c86361a47c52"# replace with your valuevboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVendor" "LENOVO"vboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBoardProduct" "20F9A043HH"# replace with your value if differentvboxmanage setextradata windows10 "VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" "L1HF65W01H5"# replace with your own valueif you finish typing all these, congratulations you finish the difficult part.
Let me recall my memory what I do to get the fingerprint work on T460s… Here is a background information, the T460s has Windows preinstalled, so I shrink the windows partition and install a Ubuntu 20.04 alongside when I got the laptop.
Here what I do to get my fingerprint working on that time:
git clone https://github.com/uunicorn/python-validityand set up playgroundcd python-validity && sudo PYTHONPATH=scripts:. python3, in python terminal input:from prototype import *, then typeopen9x()open9x()return nothing about error, you have correctly set up the fingerprintcd ~, clone fork of 3v1no/linfprint (because the result is more accurate, thanks @Shade30 for your fork)git clone https://github.com/Shade30/libfprintmeson libfprint libfprint/_build && sudo ninja -C libfprint/_build installThe above instruction is what I do to get my fingerprint work. Hope it help in your case
That’s all right. This topic came up a few times and wanted to write everything up before I forget it.
To finish pairing, you can try this:
/usr/lib/python3/dist-packages/validitysensor/init_flash.py:journalctl -u python3-validity.service -b)python-validity,open-fprintdandfprintd-clientspackagesfprintdwith @3v1n0 'slibfprintfork