Goodix Fingerprint Sensor on Guix System

Device Information

Bus 003 Device 004: ID 27c6:538d Shenzhen Goodix Technology Co.,Ltd. FingerPrint

Current Status

The sensor is detected at hardware level but not functional because: 1. No kernel driver is bound to it 2. Driver=[none] shows in lsusb -t 3. The /dev/hidraw0 belongs to a different device (Dell sensor: 04F3:3146)

Kernel Configuration

From /proc/config.gz:

CONFIG_TOUCHSCREEN_GOODIX=m     # Goodix touchscreen driver (not fingerprint)
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
CONFIG_HID_GOODIX_SPI=m        # Goodix SPI driver

Missing: - goodix_mfd (MFD driver for Goodix fingerprint sensors) - hid-goodix (HID driver) - Fingerprint/biometric subsystem drivers

What Can It Do?

Unfortunately, the fingerprint sensor cannot work because: 1. No kernel fingerprint driver is available in the Guix kernel 2. The goodix_mfd or hid-goodix drivers aren’t compiled 3. libfprint has nothing to communicate with

Solutions

  1. Request from Guix - File a package request to add fingerprint driver support to the Guix kernel
  2. Rebuild kernel - Compile a custom kernel with:
  3. Use a different distro - For full fingerprint support

Testing Commands

# Check USB device
lsusb -d 27c6:538d -v

# Check if any driver is attached
lsusb -t

# List hidraw devices
ls /dev/hidraw*

# Try libfprint (when driver is available)
guix shell libfprint fprintd -- fprintd-list --verbose

References