tree: 512ef2361059eca87bb4138308b03ff27ac16998 [path history] [tgz]
  1. analysis-tool/
  2. fpstudy-image-builder/
  3. html/
  4. init/
  5. mock-bin/
  6. parameters/
  7. power-button/
  8. tmpfiles.d/
  9. .project_alias
  10. ANALYSIS.md
  11. fpstudy.py
  12. FPSTUDY_ENCRYPTION.md
  13. FPSTUDY_VENV_INSTALL.md
  14. gen-key-pair.sh
  15. host-run.sh
  16. PREPARE_SAMPLES.md
  17. python-venv-setup.sh
  18. README.md
  19. requirements.txt
  20. rsyslog.fpstudy-audit.conf
  21. shell-audit.sh
  22. study_serve.py
  23. study_serve_test.py
biod/study/README.md

Fingerprint Study Tool

The fingerprint study tool allows you to capture raw fingerprint samples from study participants in order to analyze the performance of a fingerprint system.

See Typography conventions to understand what (outside), (inside), (in/out), and (device) mean.

Install/Run Fingerprint Study

  1. You can install the fingerprint_study package on a Chromebook in dev mode using cros deploy (Option 1), install manually with Python virtual environments (Options 2), or build+flash a custom ChromeOS image with the fingerprint_study package preinstalled (Options 3).

    On the host, run the following commands:

    • Option 1

      (inside) $ BOARD=hatch
      (inside) $ DUT=dut1
      (inside) $ emerge-$BOARD fingerprint_study
      (inside) $ cros deploy $DUT fingerprint_study
      
    • Option 2

      Follow the FPSTUDY_VENV_INSTALL.md tutorial.

    • Option 3

      (inside) $ BOARD=hatch
      (inside) $ USE=fpstudy ./build_packages --board=$BOARD
      (inside) $ ./build_image --board=$BOARD --noenable_rootfs_verification \
                 base
      (inside) $ cros flash usb:// $BOARD/latest
      

      Insert the USB flash drive into the chromebook boot from USB and then install the image.

  2. Configure FINGER_COUNT, ENROLLMENT_COUNT, and VERIFICATION_COUNT in /etc/init/fingerprint_study.conf with the proper fingerprint study parameters.

  3. Reboot the device.

  4. Navigate to http://127.0.0.1:9000 in a web browser.

  5. Output fingerprint captures are stored by default in /var/lib/fingers. See /etc/init/fingerprint_study.conf.

Test on Host Using Mock ectool

We will use a python virtual environment to ensure proper dependency versions and a mock ectool in mock-bin. Note, the mock ectool will effectively emulate an immediate finger press when the study tool requests a finger press. This does not make use of the FPC python library.

  1. Run the following command:

    (in/out) $ ./host-run.sh
    
  2. Finally, navigate to http://127.0.0.1:9000 in a web browser.

Setup GPG Encryption

The tool supports encryption of the collected samples. See FPSTUDY_ENCRYPTION.md.

VSCode Python Completion

  1. Run python-venv-setup.sh to create the Python virtual environment.
  2. Open the platform2/biod directory in VS Code. You must explicitly open this directory for the biod/pyproject.toml to automatically configure VS Code for Python.