From e7bcc1fb0cda1c874be65facf2bf7169e283aae8 Mon Sep 17 00:00:00 2001 From: Andrei Emeltchenko Date: Wed, 19 Aug 2026 10:15:45 +0300 Subject: [PATCH] goodixtls511: disable the temperature model The temperature model is a time-based estimate, not a reading from the device. Its 180s default (DEFAULT_TEMP_HOT_SECONDS) aborts enrolment on this sensor with "Device disabled to prevent overheating" before the 20 configured stages can be collected: each press yields a small partial image, so a full enrolment needs a long run of presses. Measured on a Huawei MateBook D (27c6:5110), enrolment repeatedly stalled at 12-16 of 20 stages when the cutoff fired. With the model disabled the same enrolment completes. goodixmoc, elanmoc, fpcmoc and synaptics all disable it the same way. Signed-off-by: Andrei Emeltchenko --- libfprint/drivers/goodixtls/goodix511.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libfprint/drivers/goodixtls/goodix511.c b/libfprint/drivers/goodixtls/goodix511.c index a19379c2..c7afc047 100644 --- a/libfprint/drivers/goodixtls/goodix511.c +++ b/libfprint/drivers/goodixtls/goodix511.c @@ -323,6 +323,13 @@ fpi_device_goodixtls511_class_init (FpiDeviceGoodixTls511Class * class) dev_class->scan_type = FP_SCAN_TYPE_PRESS; + /* The temperature model is a time-based estimate, not a real sensor + * reading. Its 180s default aborts enrolment on this device before the + * 20 stages can be collected, since each press yields a small partial + * image and many presses are needed. goodixmoc, elanmoc, fpcmoc and + * synaptics all disable it the same way. */ + dev_class->temp_hot_seconds = -1; + // TODO img_dev_class->bz3_threshold = 24; img_dev_class->img_width = GOODIX511_WIDTH;