question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Working with 06cb:009a Synaptics, Inc.

See original GitHub issue

Hi there, I’m trying to make work this fp.

I saw that there are blobs_90.py are blobs_97.py . Are these binary blobs taken from the firmware extracted from the windows installer?

How can I know which one is init_hardcoded , init_hardcoded_clean_slate, etc ?

Thanks for your reply

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:21
  • Comments:426 (176 by maintainers)

github_iconTop GitHub Comments

13reactions
tanabocommented, Jul 10, 2020

Hello @uunicorn, I succeeded to authenticate through pam_fprintd.so with your two repos, open-fprintd and python-validity. My hardware is 06cb:009a (thinkpad x1 carbon gen6) and os is ubuntu 20.04. My configuration procedure is below. Sorry for my bad english.

[Histories] 07/08/2020 : first version. 07/09/2020 : @uunicorn has released “open-fprintd” and “fprintd-clients”, so I have updated the following instructions.

  1. open-fprintd and fprintd-clients installation:
    $ sudo apt remove fprintd
    $ sudo add-apt-repository ppa:uunicorn/open-fprintd

   #  [note]
   # If you're ubuntu 20.04 user,  please edit "focal" to "bionic" in /etc/apt/sources.list.d/uunicorn-ubuntu-open-fprintd-focal.list
   # because this repository does not have focal packages.
   ======
   deb http://ppa.launchpad.net/uunicorn/open-fprintd/ubuntu bionic main
   ======

    $ sudo apt-get update
    $ sudo apt install open-fprintd fprintd-clients
  1. register open-fprintd to systemctl.
    # create /etc/systemd/system/open-fprintd.service, and contents is below.
    =======
    [Unit]
    Description=open-fprintd daemon
    
    [Service]
    Type=simple
    ExecStart=/usr/lib/open-fprintd/open-fprintd
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    =======
    # start open-fprintd daemon.
    $ sudo systemctl enable open-fprintd
    $ sudo systemctl start open-fprintd
  1. pull python-validity(arbitrary directory, my case was /opt.):
    $ git pull https://github.com/uunicorn/python-validity
    
    # install relevant python packages:
    $ sudo apt install libgmp3-dev
    $ sudo pip3 install pyusb
    $ sudo pip3 install fastecdsa
    # download firmware, and factory-reset and pairing.
    # (refer to python-validity's readme)
    $ cd /opt/python-validity
    $ sudo python3 factory-reset.py
    $ sudo python3 pair.py
    # create script for systemctl daemon.
    $ vim /opt/python-validity/start_dbus.sh
    
    # contents in /opt/python-validity/start_dbus.sh is below:
    ======
    #!/bin/bash
    
    cd /opt/python-validity
    export PYTHONPATH=$PYTHONPATH:/opt/python-validity
    python3 dbus-service.py
    ======
    $ chmod 755 /opt/python-validity/start_dbus.sh
    # create DBus service file for dbus-service.py.
    sudo vim /usr/share/dbus-1/system-services/io.github.uunicorn.Fprint.service
    
    # contents in /usr/share/dbus-1/system-services/io.github.uunicorn.Fprint.service is below:
    ======
    [D-BUS Service]
    Name=io.github.uunicorn.Fprint
    Exec=/opt/python-validity/start_dbus.sh
    User=root
    ======
    # create DBus conf file for dbus-service.py.
    sudo vim /usr/share/dbus-1/system.d/io.github.uunicorn.Fprint.conf
    
    # contents in /usr/share/dbus-1/system.d/io.github.uunicorn.Fprint.conf is below:
    ======
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
                                "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
    <busconfig>
        <policy user="root">
            <allow own="io.github.uunicorn.Fprint"/>
        </policy>
    
        <policy context="default">
        </policy>
    </busconfig>
    ======
    # register /opt/python-validity/dbus-service.py to systemctl.
    # create /etc/systemd/system/python-validity.service, and contents is below.
    =======
    [Unit]
    Description=python-validity dbus service
    
    [Service]
    Type=simple
    ExecStart=/opt/python-validity/start_dbus.sh
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    =======
    # start python-validity daemon.
    $ sudo systemctl enable python-validity
    $ sudo systemctl start python-validity
  1. execute fprintd-enroll command.
    $ fprintd-enroll
  1. pam configuration to enable fingerprint authentication :
    $ sudo pam-auth-update
    # And, modify /etc/pam.d/common-auth
    auth    sufficient      pam_fprintd.so max_tries=1 timeout=10 # debug
    auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass

That’s all ! You’ll be able to login by fingerprint reader.

Very very appreciate to your great work! Thank you!

6reactions
uunicorncommented, Jun 28, 2020

Got all the parts right except for the last one, will continue tomorrow.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Linux fingerprint sensor support for Synaptics 06cb:009a ...
Technically it worked for me, although it took about 5 tries to login successfully. On login though, I still had to enter my...
Read more >
T480s-Synaptics-Metallica-MIS-Fingerprint-Reader-Linux ...
If the website doesn't work properly without JavaScript enabled. Please enable it to continue. Linux Operating SystemsFedora. Reply. Topic Options.
Read more >
driver for Synaptics, Inc. 06cb:009a Fingerprint reader
My device Lenovo Thinkpad P52 is running ubuntu 18.04. The OS is not recognising Synaptics, Inc. 06cb:009a Fingerprint reader.
Read more >
Synaptics Metallica MIS Touch Fingerprint Reader
Device 'Synaptics Metallica MIS Touch Fingerprint Reader'. ID, USB 06cb:009a. Class, ff-00-00. Type, fingerprint reader ».
Read more >
Validity90/Lobby - Gitter
I have a ThinkPad A485 with a 06cb:009a and am happy to assist with ... Bus 001 Device 004: ID 06cb:009a Synaptics, Inc....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found