Skip to content

Instantly share code, notes, and snippets.

Fingerprint Reader Setup on Linux - Synaptics Sensors

Complete guide for configuring Synaptics fingerprint readers (including Metallica MIS Touch) on Linux distributions using python-validity and fprintd.

Device Compatibility

This guide specifically covers Synaptics fingerprint sensors that require proprietary drivers:

  • Synaptics Metallica MIS Touch (06cb:009a)
  • Synaptics Prometheus (06cb:0081)
@queeup
queeup / t480-fedora-fingerprint.md
Created February 9, 2026 07:23 — forked from borcean/t480-fedora-fingerprint.md
ThinkPad T480 fingerprint reader on Fedora Linux

ThinkPad T480 fingerprint reader on Fedora Linux

Background

The Synaptics fingerprint sensor (06cb:009a) present on my T480 is not supported by libfprint and fprintd as it requires a non-free binary blob. uunicorn created open-fprintd, a replacement for fprintd, that allows for loading of binary blobs. In conjunction with their python-validity driver we are able to make use of the inbuilt fingerprint reader. The following instructions were tested against Fedora Linux 35.

Installing open-fprintd and python-validity

sudo dnf copr enable tigro/python-validity
sudo dnf install open-fprintd fprintd-clients fprintd-clients-pam python3-validity
@queeup
queeup / nixos-btrfs-tmpfs.md
Created December 16, 2025 18:13 — forked from giuseppe998e/nixos-btrfs-tmpfs.md
Install NixOS with BTRFS and IN-RAM root

Install NixOS with BTRFS and IN-RAM root

1. Format and partition the hard drive

  1. Create the GPT partition table
    • $ parted /dev/sdX mklabel gpt
  2. Create the UEFI FAT32 partition (which will be /dev/sdXY)
    • $ parted /dev/sdX mkpart esp fat32 1MiB 512MiB
    • $ parted /dev/sdX set 1 esp on
    • $ parted /dev/sdX set 1 boot on
  • $ mkfs.fat -F 32 -n UEFI /dev/sdXY
@queeup
queeup / OpenWrt_on_Raspberry_Pi_5.md
Created September 17, 2025 00:15 — forked from p7cq/OpenWrt_on_Raspberry_Pi_5.md
OpenWrt on Raspberry Pi 5

A portable router to use on the go, based on OpenWrt and Raspberry Pi 5.

Network adapters:

  • Dell USB-C to RJ45 DBQBCBC064 Gigabit Ethernet Adapter
  • Netgear Nighthawk AXE3000 USB 3.0 WiFi Adapter (A8000)

Preparations

Change Wireless country code and update EEPROM from inside Raspberry Pi OS (see this).

@queeup
queeup / restic-backup.sh
Created May 26, 2025 20:43 — forked from paolobasso99/restic-backup.sh
Restic backup script
#!/bin/bash
# This script will run a restic backup and remove snapshots according to a policy.
# In order for this script to work two environment vaiables must be set:
# RESTIC_PASSWORD which is the restic repository password (or read https://restic.readthedocs.io/en/latest/faq.html#how-can-i-specify-encryption-passwords-automatically)
# MY_RESTIC_LOGS_PATH which is the path where to save logs. For example: /home/paolo/restic/logs
#
# WARNING: This script prunes ond backups! Be careful not to delete backups that you need.
# Customize the removing policy according to https://restic.readthedocs.io/en/latest/060_forget.html#removing-snapshots-according-to-a-policy
#
@queeup
queeup / Workarounds for Netflix and the blocking of IPv6 tunnels.md Prevent proxy/VPN streaming error messages from Netflix when using a Hurricane Electric IPv6 tunnel.

Workarounds for Netflix and the blocking of Hurricane Electric IPv6 tunnels

The dreaded "You seem to be using an unblocker or proxy." error message. Cool story bro.

This gist was essentially created out of my own rant about Netflix being hostile to IPv6 tunnel services since June 2016. You are welcome to read my opinion on the matter, this is the more technical side to the issue and how to combat it within your own network.

Since I wrote this, various GitHub users have contributed their thoughts and ideas which has been incorporated into this gist. Thank you to everyone who have contributed their own methods and implementations.

The problem

Netflix now treats IPv6 tunnel brokers (such as Hurricane Electric) as proxy servers. A while ago it became apparent to users and Netflix that somewhat by accident, IPv6 tunnel users were being served content outside of their geolocation because of the way Netflix was identifyi

@queeup
queeup / OpenWrt detect new device and send text message.md
Created April 21, 2025 08:59 — forked from jwalanta/OpenWrt detect new device and send text message.md
Detect new network devices connecting to OpenWrt and send text message
@queeup
queeup / README.md
Created April 20, 2025 11:32 — forked from bnhf/README.md
Tailscale - Deploying with Docker and Portainer

Just thought I'd put together some detail on deploying Tailscale using Docker and Portainer. These bits-and-pieces are available elsewhere, but not together, so hopefully this will save someone a bit of time if you'd like to add Tailscale to an existing Docker install:

Here's my annotated recommended docker-compose, to use with Portainer-Stacks. Note that I'm not using a pre-made Auth Key. I started that way, but realized it was very easy to simply check the Portainer log for the tailscaled container once the stack is running. In that log you'll see the standard Auth link that you can use to authorize the container. This way you don't need to create a key in advance, or create a reusable key that introduces a security risk:

version: '3.9'
services:
  tailscale:
    image: tailscale/tailscale
    container_name: tailscaled