libfprint
libfprint copied to clipboard
validity-sensors-tools.initializer Fails to run - Exception: Unexpected TLS version 4 0
apologies if this has already been answered I've been banging my head against this sensor for a few hours and need help.
when running the program this is the output I get
jmurphy@jmurphy:/tmp$ sudo validity-sensors-tools.initializer
Found device <DEVICE ID 138a:0097 on Bus 001 Address 004>
Downloading https://download.lenovo.com/pccbbs/mobiles/n1mgf03w.exe to extract 6_07f_lenovo_mis.xpfwext
Extracting "Synaptics Metallica MOC Touch Fingerprint Reader Driver for Windows 8.1 64-bit" - setup data version 5.5.0
- "app/WBF_Drivers/6_07f_lenovo_mis.xpfwext"
Done.
Found firmware at /tmp/tmpabf89xou/app/WBF_Drivers/6_07f_lenovo_mis.xpfwext
The device will be now reset to factory and associated to the current laptop.
Press Enter to continue (or Ctrl+C to cancel)...
Opening device 0x97
Factory reset...
Sleeping...
Pairing the sensor with device 20JES0S700
Opening device 0x97
Initializing flash...
Detected Flash IC: AT25SF081, 1048576 bytes
Sleeping...
Try 1 failed with error: Failed: 04af
Opening device 0x97
Initializing flash...
Sleeping...
Try 2 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 3 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 4 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 5 failed with error: Unexpected TLS version 4 0
Device didn't reply in time...
Traceback (most recent call last):
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 339, in <module>
vfs_tools.initialize(fwpath, args.calibration_data)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 249, in initialize
self.pair(fwpath, calib_data)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 220, in pair
self.retry_command(init_flash_command, max_retries=5)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 112, in retry_command
raise(err)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 103, in retry_command
command()
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 219, in init_flash_command
init_flash()
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/init_flash.py", line 97, in init_flash
partition_flash(flash_layout_hardcoded, client_public)
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/init_flash.py", line 70, in partition_flash
info = get_flash_info()
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/flash.py", line 28, in get_flash_info
rsp=tls.cmd(unhex('3e'))
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 104, in cmd
rsp=self.app(cmd)
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 138, in app
return self.parse_tls_response(self.usb.cmd(self.make_app_data(b)))
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 336, in parse_tls_response
raise Exception('Unexpected TLS version %d %d' % (mj, mn))
Exception: Unexpected TLS version 4 0
jmurphy@jmurphy:/tmp$
here's the usb information, I'm on a Lenovo x1 yoga gen2
jmurphy@jmurphy:/tmp$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 138a:0097 Validity Sensors, Inc.
Bus 001 Device 003: ID 13d3:5682 IMC Networks SunplusIT Integrated Camera
Bus 001 Device 005: ID 056a:50b8 Wacom Co., Ltd Pen and multitouch sensor
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jmurphy@jmurphy:/tmp$
I have the same problem on a lenovo T470s running the latest Fedora.
I have the same fingerprint reader.
Were you able to find a fix?
Thanks
Darren.
Yes, I have the same problem on a lenovo T470p with KUbuntu
Bus 001 Device 002: ID 138a:0097 Validity Sensors, Inc.
Found device <DEVICE ID 138a:0097 on Bus 001 Address 002>
Downloading https://download.lenovo.com/pccbbs/mobiles/n1mgf03w.exe to extract 6_07f_lenovo_mis.xpfwext
Extracting "Synaptics Metallica MOC Touch Fingerprint Reader Driver for Windows 8.1 64-bit" - setup data version 5.5.0
- "app/WBF_Drivers/6_07f_lenovo_mis.xpfwext"
Done.
Found firmware at /tmp/tmprrcgoxdz/app/WBF_Drivers/6_07f_lenovo_mis.xpfwext
The device will be now reset to factory and associated to the current laptop.
Press Enter to continue (or Ctrl+C to cancel)...
Opening device 0x97
Factory reset...
Sleeping...
Pairing the sensor with device 20J6003GRT
Opening device 0x97
Initializing flash...
Detected Flash IC: W25Q80B, 1048576 bytes
Sleeping...
Try 1 failed with error: Failed: 04af
Opening device 0x97
Initializing flash...
Sleeping...
Try 2 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 3 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 4 failed with error: Unexpected TLS version 4 0
Opening device 0x97
Initializing flash...
Sleeping...
Try 5 failed with error: Unexpected TLS version 4 0
Device didn't reply in time...
Traceback (most recent call last):
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 339, in <module>
vfs_tools.initialize(fwpath, args.calibration_data)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 249, in initialize
self.pair(fwpath, calib_data)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 220, in pair
self.retry_command(init_flash_command, max_retries=5)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 112, in retry_command
raise(err)
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 103, in retry_command
command()
File "/snap/validity-sensors-tools/65/vfs-tools/validity-sensors-tools.py", line 219, in init_flash_command
init_flash()
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/init_flash.py", line 97, in init_flash
partition_flash(flash_layout_hardcoded, client_public)
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/init_flash.py", line 70, in partition_flash
info = get_flash_info()
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/flash.py", line 28, in get_flash_info
rsp=tls.cmd(unhex('3e'))
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 104, in cmd
rsp=self.app(cmd)
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 138, in app
return self.parse_tls_response(self.usb.cmd(self.make_app_data(b)))
File "/snap/validity-sensors-tools/65/vfs-tools/proto9x/tls.py", line 336, in parse_tls_response
raise Exception('Unexpected TLS version %d %d' % (mj, mn))
Exception: Unexpected TLS version 4 0
As workaround, I'm use https://github.com/uunicorn/python-validity with custom driver url:
$ sudo systemctl stop python3-validity
$ sudo validity-sensors-firmware --driver-uri https://download.lenovo.com/pccbbs/mobiles/n1mgf03w.exe
$ sudo python3 /usr/share/python-validity/playground/factory-reset.py
$ sudo validity-sensors-firmware --driver-uri https://download.lenovo.com/pccbbs/mobiles/n1mgf03w.exe
This returns me with the following error:
Downloading https://download.lenovo.com/pccbbs/mobiles/n1mgf03w.exe to extract 6_07f_lenovo_mis_qm.xpfwext
Traceback (most recent call last):
File "/usr/bin/validity-sensors-firmware", line 101, in
@HatWearingMann the uunicorn/python-validity repo works since it uses open-fprintd instead of fprind, you don't need to install the firmware Just install the packages and you can do an enroll, however there is a warning for open-fprind on the readme https://github.com/uunicorn/open-fprintd#warning
@markododa
sudo dnf install open-fprintd fprintd-clients fprintd-clients-pam python3-validity
Last metadata expiration check: 1:11:28 ago on Sub 20 Jan 2024 18:22:57.
Package fprintd-clients-1:1.94.2-2.fc39.x86_64 is already installed.
Package fprintd-clients-pam-1:1.94.2-2.fc39.x86_64 is already installed.
Error:
Problem 1: conflicting requests
- nothing provides python(abi) = 3.11 needed by open-fprintd-0.6-7.fc39.noarch from copr:copr.fedorainfracloud.org:tigro:python-validity
Problem 2: conflicting requests
- nothing provides python(abi) = 3.11 needed by python3-validity-0.14-2.fc39.noarch from copr:copr.fedorainfracloud.org:tigro:python-validity
- nothing provides python3.11dist(cryptography) >= 2.1.4 needed by python3-validity-0.14-2.fc39.noarch from copr:copr.fedorainfracloud.org:tigro:python-validity
- nothing provides python3.11dist(pyusb) >= 1 needed by python3-validity-0.14-2.fc39.noarch from copr:copr.fedorainfracloud.org:tigro:python-validity
- nothing provides python3.11dist(pyyaml) >= 3.12 needed by python3-validity-0.14-2.fc39.noarch from copr:copr.fedorainfracloud.org:tigro:python-validity
(try to add '--skip-broken' to skip uninstallable packages)