-
Notifications
You must be signed in to change notification settings - Fork 94
Description
I've been using my fingerprint sensor (Validity 138a:0097) for a while with no issues. It worked well under KDE, and I was able to use it to unlock my laptop regularly.
Yesterday, I noticed that the KDE lock screen no longer prompted for fingerprint input. I started troubleshooting and realized:
- The fingerprint reader doesn't respond to LED dance or factory reset commands.
- I'm consistently getting timeouts or error 0401.
Running led dances or factory resets lead to either a 0401 error or a timeout as seen here down below:
sudo python3 /usr/share/python-validity/playground/factory-reset.py
Traceback (most recent call last):
File "/usr/share/python-validity/playground/factory-reset.py", line 6, in
factory_reset()
~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/sensor.py", line 86, in factory_reset
assert_status(usb.cmd(reset_blob))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/validitysensor/util.py", line 12, in assert_status
raise Exception('Failed: %04x' % s)
Exception: Failed: 0401
sudo validity-led-dance
Traceback (most recent call last):
File "/usr/bin/validity-led-dance", line 16, in
init.open()
~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init.py", line 50, in open
open_common()
~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init.py", line 31, in open_common
init_flash()
~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init_flash.py", line 122, in init_flash
info = get_flash_info()
File "/usr/lib/python3.13/site-packages/validitysensor/flash.py", line 40, in get_flash_info
rsp = tls.cmd(unhex('3e'))
File "/usr/lib/python3.13/site-packages/validitysensor/tls.py", line 124, in cmd
rsp = self.usb.cmd(cmd)
File "/usr/lib/python3.13/site-packages/validitysensor/usb.py", line 105, in cmd
resp = self.dev.read(129, 100 * 1024)
File "/usr/lib/python3.13/site-packages/usb/core.py", line 1043, in read
ret = fn(
self._ctx.handle,
...<2 lines>...
buff,
self.__get_timeout(timeout))
File "/usr/lib/python3.13/site-packages/usb/backend/libusb1.py", line 850, in bulk_read
return self.__read(self.lib.libusb_bulk_transfer,
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dev_handle,
^^^^^^^^^^^
...<2 lines>...
buff,
^^^^^
timeout)
^^^^^^^^
File "/usr/lib/python3.13/site-packages/usb/backend/libusb1.py", line 958, in __read
_check(retval)
~~~~~~^^^^^^^^
File "/usr/lib/python3.13/site-packages/usb/backend/libusb1.py", line 602, in _check
raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
sudo validity-led-dance
Traceback (most recent call last):
File "/usr/bin/validity-led-dance", line 16, in
init.open()
~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init.py", line 50, in open
open_common()
~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init.py", line 31, in open_common
init_flash()
~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/validitysensor/init_flash.py", line 122, in init_flash
info = get_flash_info()
File "/usr/lib/python3.13/site-packages/validitysensor/flash.py", line 41, in get_flash_info
assert_status(rsp)
~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/site-packages/validitysensor/util.py", line 12, in assert_status
raise Exception('Failed: %04x' % s)
Exception: Failed: 0401
I tested the same thing on an Arch Linux VM (same 0401 error), a Windows VM (it DOES work there) and pretty much, no luck so far
Has anyone experienced this behavior before? Any steps I can try to reinitialize or recover the sensor?