In search of contributors to a Linux Chromebook fingerprint PAM module

I saved a new seed, then went through the enrollment steps to 100%, and then:

hum on ultramarine crosec-rs on  more-commands via 🦀 v1.78.0 took 3s 
❯ sudo ./target/debug/ectool fp-download template 0
�#�&��?�5����
��7�ҡ+Lo     ��+Z�m���-�~f|�@�a��3�e1o��̛O���p���
a��֕ �P+2B&|�ǶUJ���>�U�V_2��$������"�e�F��f�%:$��VfH���ђC�]�f�#���cZ��}u�{��I��� ڊ
                               �[��3vj�zd��Y!���(�)��y��8!E���]��^��z���W<�θ�^1�;y���Fǘ�Wt���
˘l��߫��!1��Ҙg�
��<��4[�"\���y�r��`����,'��>jh��j���?<pv=~���;.R<|������S�[�5[�vBտ!�?n�)Iu�ڬ�k��٢��:Pq0�L���=��>��
                                                                                         ��|k�9P$�WU'S�"�K�nS�C�eoL�U��o��iV.hR
��
  `���$��pv~::�)~��CN3m�u�▒;�档4��¢pR��4�=5K�
                                             �T�T�C�+(�Z�*2��ۋvoRy<����H]��'
                                                                            R"�`�xE"�'��؈bUv6ڰ���|m�ym�y5\�V�8�$f)ep+�
                                                                                                                      ƆR�@OR�h-y�e��'����▒��L�x��z�(����4"n��/��Rg㒠�C"A}%~�rRK��~<mr=�~F����Ԇ���+��.▒����,��=e,ő����Å_@�6=>>�~��RT��iZ
�cd�~{����!�
            �a▒�E���'m�Vd�}L�<z����h�^�<0� ��8���▒ۃd�
                                                      u"��P��]TP���d�y�S����h~Z�{Dv�tH���,���S_H��`�a����ܯg(K
                                                                                                             �X�����+���c�ya�^�6\?y����(*<��1��/����������{
;�Xf��x�������Lyv�q���C�QU���ʣ���y�k&���]o��Ԯ
���5�>���9��!Np�g\���
                     @�w���
                           ��݃G����;>�°&v����X|,a6逅����|        �^�r���
                                                                       [>`���9�u�yy�y4
                                                                                      ��k��^��ؖ��f��u� Dx�EO�>����2��+T%s�g]W=԰�PSsd ��tF]T$x����`?Ny�^k��d"�#▒Ҿ`�i���^�▒9c�:K\�lʜ�ƄE���{��·'$��v�>�:�ڴ�y_�]��fAVtM_▒ŷC���TTF|�Ei�}�M���
�                    ���e�h��VY�z ��T�謙=Ӹ���� ��f(;5�ص�+h��,�/
 ���▒�d▒����Y�J����fl|�����HA�ԫ!        ���DE_�
                                               6�j��Xh�`D
�hc�.zwlo�'ܒ!����.��:Ce�#�f$�G[� ���nw��'�tCޏ/���tb8�5Y����9Z�i���
�;M���6�"�t��5���)�F��Gh�']a�#
                              N%<N��,���,����
                                             ��jyCv�r��b��e�b�o_4���@j7��=���)�
�G�7؋�F�9.��������m<�   ��Wm�,~O��U�E2�y�wg#���mT��)oO���[����F*3�B�U��
                                                                       C�s8���bEt��▒▒4�?lىH^�3Pa
                                                                                                ٲĺ�l�{��ބi]��2��>H񩇸5q�{��k�����ߒ��`��i�`-���SM@?��k3��/��Kh�eQJc
                                                                                                                                                                2&���_���n��8�qL�m)5�R?�{ɜi��T�p/�A�a��r40��v]�F��bs���lB��*�2IV��f��S�A]]�ܘ9�452/W����j�ɀ�|s��e,����u_�|1臞@U�3e=�m�+���P�OOR��VT�?�"�?(�uz��
                                                                                            KL���B��~\#+U���$PAa)�4bsR�#�,
                                                                                                                          c�zP(R�[�
                                                                                                                                   4(Ȋ��{U޻��g�O�▒�VS�Y��jb�]�.�����م�W�����i�"K▒�I����������▒��!T�\����@&����VW��;��w���UW��3��.�j�1�c��;��� e�jNT��J]A���x�&=2�b�S*U<�a��|��|#�8e▒CQ4▒_3u�^�o�-
                                                                               >4~���߳�w5A��r���M��@���=W~F�
                                                                                                           ;HK�.���     {YRC����{͸�P�4064�Y!��F��SR�i4�1�׼�U�;pj�>Y��a?��b���/=�WX�8(aV{�&��>���
                                                                                                                                                                                                ���k��0U�����(�bxFo
 2��çlO �u_�������▒��J�*m�4e��1��%�w�E��>EG��i�W��,l�� 㝻�6�����BD���4�G
0:Bq�A馎쫮Q��8[IƄn��c@�g��#                                             _
���
-�6��(VmPiTɃ�X��g�o���j~3��p���w����p^�j u?��ܘu�N��w&T��S�Z�_�*Z?�;~��&*���=��  ��u,�)Q���s|�ƧF�ڼ�sF�����R:�������w�XBb�,\����wIJӎ�p\�E�m�-w��L�d`o8��Y%3�       ��z/��\y4Y�
f��h�
     ��Bh<q��:�O���V�1���������G
                                ڹB�7�� �KM'~D}�^Ե�+��<PZ�(��▒�IL▒۪��ؿz���*W���E��v⾦���Za��6gX��鲀▒�hp��L���,�_:FdBVAk��)$�z3�3�c�*g�5?��D9�>�M�g��v����f����}.طהh����<QOi�{ٚ�㓎�6o��f���ʹ�|3o��pCH��`%��#m�1�i��[}�S����\�׽��; ���y�▒.�ݽEC!��c�Dc}�l���VO�J��+{n[OkI?_D    �
                                                         V_�G��}���u<P��93 ���E<2����▒+Y�U��X�]���X~����H�O>��M��4��▒]4�F�Bp2�J���Bv��S�����
                                                                                                                                            �
�ʏ▒Y�J0?~b)R��Z�z�Q���9E▒'�V�   ���f/֥�M�r�4�I���X�3�c7ף����oe��58r�P�i7�z?���|p��c�f@>l/�/�ч�_D��l$.��{+0��DRx
����9��2
��������LW�6;jV�U_����ٷ���@0�����
                                 ��gc0���,G�&g���0��b��▒󝿄��z��%R
��`v�H���_ϒ�5�,
ĕ�EH�X  �\fk@�����fxD�|���3�?�����u��|WM�u�RI�D �_�aK^��y���r�/kAĵ� �w�6��L@�%,o�Mp��n��L��Ak>
                                                                                              ־_�|�-$��mq��GjB��jjz`����r)������'�[��f$$Gv�����i�ڧL�MAv܈{�8�d�K0�
ԋ��?
    5
     ���Ԯol��䖀rB��F�"�
                        � ����)�Ysd�@0��8o�(`Ec7�!N������H�T�.8ފ�2��C��b�b^y��pbЈ�"��   6E]|75d�;>�|�i�O�1����>&ȵ�����PR�P;!U�@S����
                                                                                                                                    ϋ����9�8+�+!V�9����L�F�Ӌ��1�����P�  ���z\�X���([zÎ��t�;▒[����0]���^`>c��?�}r���>F��������U�u~�b�U(@X�.�u�Ok}ͨ����
������W:}����2���j���VbU�UD�/D��l��*i,ɧ���3�j�@L�����
s�hID���C�VE?�����b��D�S����KB���s������"���w]���nndp5S�{��c}V
.u��x؉�w�6V�H��i����Ʈ�l`�m�%                                                                                                                                                                                      
hum on ultramarine crosec-rs on  more-commands via 🦀 v1.78.0 
❯ 62;1;4c

So not only is the output gibberish, but it then seems to cause ibus to enter some additional characters at the next shell prompt.

Then, to confirm the seed+enrollment:

hum on ultramarine crosec-rs on  more-commands via 🦀 v1.78.0 
❯ sudo ./target/debug/ectool fp-mode match
FP mode: 0b1000000 (Match)

hum on ultramarine crosec-rs on  more-commands via 🦀 v1.78.0 
❯ sudo ./target/debug/ectool wait-event fingerprint --device fp
EventHappened(
    Fingerprint(
        Match(
            Match(
                EcMkbpEventFingerprintMatch {
                    index: 0,
                    update: Some(
                        Ok(
                            (),
                        ),
                    ),
                },
            ),
        ),
    ),
)

The output is the template. The template is not in text form. It is in binary form. You can write the output of the command to it to a file instead of showing it on the screen using

sudo ./target/debug/ectool fp-download template 0 > template_file

Update: I have a working unlock with fingerprint setup on NixOS with KDE Plasma. Here is the relevant NixOS config: nixos-system-config/rust-fp.nix at d54a2937a374f67d93d5d0cc4f0a5e0b51b6980e · ChocolateLoverRaj/nixos-system-config · GitHub.

So if anyone is using NixOS, you can just copy that config.

For people using KDE with a different OS, you can manually install the needed programs. Let me know and I’ll help you.

@Ultrabook @crbkmj can u try it on ur Chromebook and tell me if it works for you?

I would happily test this on my morphius

K, let me know which distro you want to try it on. Also there are 2 bugs that I found that I need to fix.

I mainly run Fedora but I have another Chromebook with LMDE on it too. Morphius is my main one, with Fedora.

I added install instructions: GitHub - ChocolateLoverRaj/rust-fp: Fingerprint library, dbus interface, CLI, and PAM module for unlocking Linux with fingerprint sensors. Currently for Chromebooks.. Let me know if it works.

Great work! And thanks for the mention, I’ll take it for a spin in the coming days and get back to you :+1:t3:

As KDE has been quite freezy lately on my c13, I’m mainly running COSMIC on it when I use it now. Should I wait?

Are you using the GNOME based COSMIC or the Rust based COSMIC?

This one: ryanabx/cosmic-epoch Copr

I’ll see what is the state of the COSMIC lock screen. I might be able to start integrating it with COSMIC now.

I tried COSMIC on NixOS. It does have a lock screen, but overall COSMIC is in an unusable state for me rn.

What ectool are you using?
I only get :“unrecognized option '–name=cros_fp”
I tried the ectool in the chromebox coreboot repo, in the original coreboot repo and the one my os provides, all with the same result:

sudo ./ectool --name=cros_fp fpseed aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                 ✔  19:09:17  
./ectool: unrecognized option '--name=cros_fp'
usage: ./ectool [-vh?Vidq] [-w 0x<addr> -z 0x<data>]

   -v | --version:                   print the version
   -h | --help:                      print this help

   -V | --verbose:                   print debug information
   -p | --getports:                  get EC data & cmd ports from /proc/ioports
   -d | --dump:                      print RAM
   -i | --idx:                       print IDX RAM & RAM
   -q | --query:                     print query byte
   -w <addr in hex>                  write to addr
   -z <data in hex>                  write to data

This ectool: Dustin L. Howett / ectool · GitLab
This one also works (but with a different syntax): crosec-rs/ectool at more-commands · ChocolateLoverRaj/crosec-rs · GitHub

1 Like

I fixed the bug where it doesn’t work in suspend and now it’s pretty convenient on KDE.

Hello! I am kind of new to this stuff, but I have a Samsung Galaxy Chromebook running Debian with KDE Plasma. When I try to run cargo build --release, it gives me an error.

Could I get some guidance on how to fix this? Thanks.
(BTW, I am installing from the GitHub instructions)

I also have this issue

When I try to run rust-fp add, I get

You need to install libpam-dev on Debian I think.

1 Like

The dbus-interface program has to be running (as root).