packages/libfprint: simplify 532d patch and support 1.94.5
This commit is contained in:
parent
f9c0e251d4
commit
da1eed6b3f
1 changed files with 14 additions and 537 deletions
|
@ -1,174 +1,8 @@
|
||||||
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..4997f6f1
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/.github/FUNDING.yml
|
|
||||||
@@ -0,0 +1,2 @@
|
|
||||||
+github: mpi3d
|
|
||||||
+custom: "btc.com/btc/address/1MPi3D1HxS71k83XnqK3yB8CNmyHQeerZZ"
|
|
||||||
diff --git a/.gitignore b/.gitignore
|
|
||||||
index 07d73995..0ab23946 100644
|
|
||||||
--- a/.gitignore
|
|
||||||
+++ b/.gitignore
|
|
||||||
@@ -1,3 +1,4 @@
|
|
||||||
*.o
|
|
||||||
*.swp
|
|
||||||
_build
|
|
||||||
+*.pgm
|
|
||||||
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..6994aa63
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/.vscode/c_cpp_properties.json
|
|
||||||
@@ -0,0 +1,17 @@
|
|
||||||
+{
|
|
||||||
+ "version": 4,
|
|
||||||
+ "configurations": [
|
|
||||||
+ {
|
|
||||||
+ "name": "Linux",
|
|
||||||
+ "includePath": [
|
|
||||||
+ "${workspaceFolder}/**"
|
|
||||||
+ ],
|
|
||||||
+ "defines": [],
|
|
||||||
+ "compilerPath": "/usr/bin/gcc",
|
|
||||||
+ "cStandard": "gnu17",
|
|
||||||
+ "cppStandard": "gnu++14",
|
|
||||||
+ "intelliSenseMode": "linux-gcc-x64",
|
|
||||||
+ "compileCommands": "${workspaceFolder}/_build/compile_commands.json"
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+}
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/.vscode/launch.json b/.vscode/launch.json
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..68646c13
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/.vscode/launch.json
|
|
||||||
@@ -0,0 +1,33 @@
|
|
||||||
+{
|
|
||||||
+ // Use IntelliSense to learn about possible attributes.
|
|
||||||
+ // Hover to view descriptions of existing attributes.
|
|
||||||
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
||||||
+ "version": "0.2.0",
|
|
||||||
+ "configurations": [
|
|
||||||
+ {
|
|
||||||
+ "name": "Launch Image Capture",
|
|
||||||
+ "type": "cppdbg",
|
|
||||||
+ "request": "launch",
|
|
||||||
+ "program": "${workspaceFolder}/_build/examples/img-capture",
|
|
||||||
+ "args": [],
|
|
||||||
+ "stopAtEntry": false,
|
|
||||||
+ "cwd": "${fileDirname}",
|
|
||||||
+ "environment": [],
|
|
||||||
+ "externalConsole": false,
|
|
||||||
+ "MIMode": "gdb",
|
|
||||||
+ "setupCommands": [
|
|
||||||
+ {
|
|
||||||
+ "description": "Enable pretty-printing for gdb",
|
|
||||||
+ "text": "-enable-pretty-printing",
|
|
||||||
+ "ignoreFailures": true
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
+ "description": "Set Disassembly Flavor to Intel",
|
|
||||||
+ "text": "-gdb-set disassembly-flavor intel",
|
|
||||||
+ "ignoreFailures": true
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+ "preLaunchTask": "${defaultBuildTask}"
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+}
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/.vscode/settings.json b/.vscode/settings.json
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..0e6ce268
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/.vscode/settings.json
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+{
|
|
||||||
+ "files.associations": {
|
|
||||||
+ "*.c": "c",
|
|
||||||
+ "*.h": "c",
|
|
||||||
+ "limits": "c",
|
|
||||||
+ "array": "c",
|
|
||||||
+ "string": "c",
|
|
||||||
+ "string_view": "c",
|
|
||||||
+ "ranges": "c",
|
|
||||||
+ "new": "c",
|
|
||||||
+ "streambuf": "c",
|
|
||||||
+ "functional": "c",
|
|
||||||
+ "typeinfo": "c"
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..6f515c8c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/.vscode/tasks.json
|
|
||||||
@@ -0,0 +1,36 @@
|
|
||||||
+{
|
|
||||||
+ "version": "2.0.0",
|
|
||||||
+ "tasks": [
|
|
||||||
+ {
|
|
||||||
+ "type": "shell",
|
|
||||||
+ "label": "Configure the project",
|
|
||||||
+ "command": "/usr/bin/meson",
|
|
||||||
+ "args": [
|
|
||||||
+ "${workspaceFolder}/_build"
|
|
||||||
+ ],
|
|
||||||
+ "problemMatcher": []
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
+ "type": "shell",
|
|
||||||
+ "label": "Build the project",
|
|
||||||
+ "command": "/usr/bin/meson",
|
|
||||||
+ "args": [
|
|
||||||
+ "compile"
|
|
||||||
+ ],
|
|
||||||
+ "options": {
|
|
||||||
+ "cwd": "${workspaceFolder}/_build"
|
|
||||||
+ },
|
|
||||||
+ "problemMatcher": {
|
|
||||||
+ "base": "$gcc",
|
|
||||||
+ "fileLocation": [
|
|
||||||
+ "relative",
|
|
||||||
+ "${workspaceFolder}/_build"
|
|
||||||
+ ]
|
|
||||||
+ },
|
|
||||||
+ "group": {
|
|
||||||
+ "kind": "build",
|
|
||||||
+ "isDefault": true
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+}
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/README.md b/README.md
|
|
||||||
index 7f59b4e8..68f18953 100644
|
|
||||||
--- a/README.md
|
|
||||||
+++ b/README.md
|
|
||||||
@@ -1,3 +1,8 @@
|
|
||||||
+This is an experimental libfprint driver implementation for Goodix drivers.
|
|
||||||
+
|
|
||||||
+Currently in the works:
|
|
||||||
+- 27c6x5110 (80x64 resolution)
|
|
||||||
+
|
|
||||||
# libfprint
|
|
||||||
|
|
||||||
libfprint is part of the fprint project:
|
|
||||||
diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb
|
diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb
|
||||||
index 6e3fd396..9862d188 100644
|
index 6e3fd396..9862d188 100644
|
||||||
--- a/data/autosuspend.hwdb
|
--- a/data/autosuspend.hwdb
|
||||||
+++ b/data/autosuspend.hwdb
|
+++ b/data/autosuspend.hwdb
|
||||||
@@ -146,6 +146,7 @@ usb:v04F3p0C58*
|
@@ -190,6 +190,17 @@ usb:v27C6p6A94*
|
||||||
usb:v04F3p0C7D*
|
|
||||||
usb:v04F3p0C7E*
|
|
||||||
usb:v04F3p0C82*
|
|
||||||
+usb:v04F3p0C88*
|
|
||||||
ID_AUTOSUSPEND=1
|
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
@@ -172,6 +173,17 @@ usb:v27C6p6A94*
|
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
ID_PERSIST=0
|
||||||
|
|
||||||
|
@ -186,18 +20,20 @@ index 6e3fd396..9862d188 100644
|
||||||
# Supported by libfprint driver nb1010
|
# Supported by libfprint driver nb1010
|
||||||
usb:v298Dp1010*
|
usb:v298Dp1010*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
@@ -317,19 +329,16 @@ usb:v1C7Ap0300*
|
@@ -343,7 +354,6 @@ usb:v1C7Ap0300*
|
||||||
usb:v1C7Ap0575*
|
usb:v1C7Ap0575*
|
||||||
usb:v1C7Ap0576*
|
usb:v1C7Ap0576*
|
||||||
usb:v27C6p5042*
|
usb:v27C6p5042*
|
||||||
-usb:v27C6p5110*
|
-usb:v27C6p5110*
|
||||||
usb:v27C6p5117*
|
usb:v27C6p5117*
|
||||||
|
usb:v27C6p5120*
|
||||||
usb:v27C6p5125*
|
usb:v27C6p5125*
|
||||||
usb:v27C6p5201*
|
@@ -351,13 +361,11 @@ usb:v27C6p5201*
|
||||||
usb:v27C6p521D*
|
usb:v27C6p521D*
|
||||||
usb:v27C6p5301*
|
usb:v27C6p5301*
|
||||||
usb:v27C6p530C*
|
usb:v27C6p530C*
|
||||||
-usb:v27C6p532D*
|
-usb:v27C6p532D*
|
||||||
|
usb:v27C6p5335*
|
||||||
usb:v27C6p533C*
|
usb:v27C6p533C*
|
||||||
usb:v27C6p5381*
|
usb:v27C6p5381*
|
||||||
usb:v27C6p5385*
|
usb:v27C6p5385*
|
||||||
|
@ -205,150 +41,7 @@ index 6e3fd396..9862d188 100644
|
||||||
-usb:v27C6p538D*
|
-usb:v27C6p538D*
|
||||||
usb:v27C6p5395*
|
usb:v27C6p5395*
|
||||||
usb:v27C6p5503*
|
usb:v27C6p5503*
|
||||||
usb:v27C6p5584*
|
usb:v27C6p550A*
|
||||||
diff --git a/libfprint/drivers/elanmoc/elanmoc.c b/libfprint/drivers/elanmoc/elanmoc.c
|
|
||||||
index 3185ee7a..ad23e93e 100644
|
|
||||||
--- a/libfprint/drivers/elanmoc/elanmoc.c
|
|
||||||
+++ b/libfprint/drivers/elanmoc/elanmoc.c
|
|
||||||
@@ -28,6 +28,7 @@ static const FpIdEntry id_table[] = {
|
|
||||||
{ .vid = 0x04f3, .pid = 0x0c7d, },
|
|
||||||
{ .vid = 0x04f3, .pid = 0x0c7e, },
|
|
||||||
{ .vid = 0x04f3, .pid = 0x0c82, },
|
|
||||||
+ { .vid = 0x04f3, .pid = 0x0c88, },
|
|
||||||
{ .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c
|
|
||||||
index 4eeb7215..cfc69c94 100644
|
|
||||||
--- a/libfprint/drivers/goodixmoc/goodix.c
|
|
||||||
+++ b/libfprint/drivers/goodixmoc/goodix.c
|
|
||||||
@@ -661,7 +661,7 @@ fp_enroll_capture_cb (FpiDeviceGoodixMoc *self,
|
|
||||||
/* */
|
|
||||||
if (resp->result >= GX_FAILED)
|
|
||||||
{
|
|
||||||
- fp_warn ("Capture sample failed, result: 0x%x", resp->result);
|
|
||||||
+ fp_info ("Capture sample failed, result: 0x%x", resp->result);
|
|
||||||
fpi_device_enroll_progress (FP_DEVICE (self),
|
|
||||||
self->enroll_stage,
|
|
||||||
NULL,
|
|
||||||
@@ -675,7 +675,7 @@ fp_enroll_capture_cb (FpiDeviceGoodixMoc *self,
|
|
||||||
if ((resp->capture_data_resp.img_quality < self->sensorcfg->config[4]) ||
|
|
||||||
(resp->capture_data_resp.img_coverage < self->sensorcfg->config[5]))
|
|
||||||
{
|
|
||||||
- fp_warn ("Capture sample poor quality(%d): %d or coverage(%d): %d",
|
|
||||||
+ fp_info ("Capture sample poor quality(%d): %d or coverage(%d): %d",
|
|
||||||
self->sensorcfg->config[4],
|
|
||||||
resp->capture_data_resp.img_quality,
|
|
||||||
self->sensorcfg->config[5],
|
|
||||||
@@ -1041,6 +1041,47 @@ fp_init_config_cb (FpiDeviceGoodixMoc *self,
|
|
||||||
fpi_ssm_next_state (self->task_ssm);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+fp_init_cb_reset_or_complete (FpiDeviceGoodixMoc *self,
|
|
||||||
+ gxfp_cmd_response_t *resp,
|
|
||||||
+ GError *error)
|
|
||||||
+{
|
|
||||||
+ if (error)
|
|
||||||
+ {
|
|
||||||
+ fp_warn ("Template storage appears to have been corrupted! Error was: %s", error->message);
|
|
||||||
+ fp_warn ("A known reason for this to happen is a firmware bug triggered by another storage area being initialized.");
|
|
||||||
+ fpi_ssm_jump_to_state (self->task_ssm, FP_INIT_RESET_DEVICE);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ fpi_ssm_mark_completed (self->task_ssm);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+fp_init_reset_device_cb (FpiDeviceGoodixMoc *self,
|
|
||||||
+ gxfp_cmd_response_t *resp,
|
|
||||||
+ GError *error)
|
|
||||||
+{
|
|
||||||
+ if (error)
|
|
||||||
+ {
|
|
||||||
+ fp_warn ("Reset failed: %s", error->message);
|
|
||||||
+ fpi_ssm_mark_failed (self->task_ssm, error);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ if ((resp->result >= GX_FAILED) && (resp->result != GX_ERROR_FINGER_ID_NOEXIST))
|
|
||||||
+ {
|
|
||||||
+ fp_warn ("Reset failed, device reported: 0x%x", resp->result);
|
|
||||||
+ fpi_ssm_mark_failed (self->task_ssm,
|
|
||||||
+ fpi_device_error_new_msg (FP_DEVICE_ERROR_GENERAL,
|
|
||||||
+ "Failed clear storage, result: 0x%x",
|
|
||||||
+ resp->result));
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ fp_warn ("Reset completed");
|
|
||||||
+ fpi_ssm_mark_completed (self->task_ssm);
|
|
||||||
+}
|
|
||||||
|
|
||||||
static void
|
|
||||||
fp_init_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|
||||||
@@ -1065,6 +1106,30 @@ fp_init_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|
||||||
sizeof (gxfp_sensor_cfg_t),
|
|
||||||
fp_init_config_cb);
|
|
||||||
break;
|
|
||||||
+
|
|
||||||
+ case FP_INIT_TEMPLATE_LIST:
|
|
||||||
+ /* List prints to check whether the template DB was corrupted.
|
|
||||||
+ * As of 2022-06-13 there is a known firmware issue that can cause the
|
|
||||||
+ * stored templates for Linux to be corrupted when the Windows storage
|
|
||||||
+ * area is initialized.
|
|
||||||
+ * In that case, we'll get a protocol failure trying to retrieve the
|
|
||||||
+ * list of prints.
|
|
||||||
+ */
|
|
||||||
+ goodix_sensor_cmd (self, MOC_CMD0_GETFINGERLIST, MOC_CMD1_DEFAULT,
|
|
||||||
+ FALSE,
|
|
||||||
+ (const guint8 *) &dummy,
|
|
||||||
+ 1,
|
|
||||||
+ fp_init_cb_reset_or_complete);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case FP_INIT_RESET_DEVICE:
|
|
||||||
+ fp_warn ("Resetting device storage, you will need to enroll all prints again!");
|
|
||||||
+ goodix_sensor_cmd (self, MOC_CMD0_DELETETEMPLATE, MOC_CMD1_DELETE_ALL,
|
|
||||||
+ FALSE,
|
|
||||||
+ NULL,
|
|
||||||
+ 0,
|
|
||||||
+ fp_init_reset_device_cb);
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/libfprint/drivers/goodixmoc/goodix.h b/libfprint/drivers/goodixmoc/goodix.h
|
|
||||||
index 23e142ac..56b2d171 100644
|
|
||||||
--- a/libfprint/drivers/goodixmoc/goodix.h
|
|
||||||
+++ b/libfprint/drivers/goodixmoc/goodix.h
|
|
||||||
@@ -35,6 +35,8 @@ typedef enum {
|
|
||||||
typedef enum {
|
|
||||||
FP_INIT_VERSION = 0,
|
|
||||||
FP_INIT_CONFIG,
|
|
||||||
+ FP_INIT_TEMPLATE_LIST,
|
|
||||||
+ FP_INIT_RESET_DEVICE,
|
|
||||||
FP_INIT_NUM_STATES,
|
|
||||||
} FpInitState;
|
|
||||||
|
|
||||||
diff --git a/libfprint/drivers/goodixmoc/goodix_proto.c b/libfprint/drivers/goodixmoc/goodix_proto.c
|
|
||||||
index b615dbaa..72511a88 100644
|
|
||||||
--- a/libfprint/drivers/goodixmoc/goodix_proto.c
|
|
||||||
+++ b/libfprint/drivers/goodixmoc/goodix_proto.c
|
|
||||||
@@ -393,10 +393,8 @@ gx_proto_parse_body (uint16_t cmd, uint8_t *buffer, uint16_t buffer_len, pgxfp_c
|
|
||||||
fingerid_length,
|
|
||||||
&presp->finger_list_resp.finger_list[num]) != 0)
|
|
||||||
{
|
|
||||||
- g_error ("parse fingerlist error");
|
|
||||||
- presp->finger_list_resp.finger_num = 0;
|
|
||||||
- presp->result = GX_FAILED;
|
|
||||||
- break;
|
|
||||||
+ g_warning ("Failed to parse finger list");
|
|
||||||
+ return -1;
|
|
||||||
}
|
|
||||||
offset += fingerid_length;
|
|
||||||
}
|
|
||||||
diff --git a/libfprint/drivers/goodixtls/goodix.c b/libfprint/drivers/goodixtls/goodix.c
|
diff --git a/libfprint/drivers/goodixtls/goodix.c b/libfprint/drivers/goodixtls/goodix.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 00000000..0d2f0b7f
|
index 00000000..0d2f0b7f
|
||||||
|
@ -4719,39 +4412,24 @@ index 00000000..66c61f45
|
||||||
+// This is called only once to deinit the TLS server.
|
+// This is called only once to deinit the TLS server.
|
||||||
+// Return TRUE on success, FALSE otherwise and error should be set.
|
+// Return TRUE on success, FALSE otherwise and error should be set.
|
||||||
+gboolean goodix_tls_server_deinit(GoodixTlsServer *self, GError **error);
|
+gboolean goodix_tls_server_deinit(GoodixTlsServer *self, GError **error);
|
||||||
diff --git a/libfprint/fpi-print.h b/libfprint/fpi-print.h
|
|
||||||
index fb388097..f3e72b40 100644
|
|
||||||
--- a/libfprint/fpi-print.h
|
|
||||||
+++ b/libfprint/fpi-print.h
|
|
||||||
@@ -42,9 +42,9 @@ gboolean fpi_print_add_from_image (FpPrint *print,
|
|
||||||
FpImage *image,
|
|
||||||
GError **error);
|
|
||||||
|
|
||||||
-FpiMatchResult fpi_print_bz3_match (FpPrint * template,
|
|
||||||
- FpPrint * print,
|
|
||||||
- gint bz3_threshold,
|
|
||||||
+FpiMatchResult fpi_print_bz3_match (FpPrint *temp,
|
|
||||||
+ FpPrint *print,
|
|
||||||
+ gint bz3_threshold,
|
|
||||||
GError **error);
|
|
||||||
|
|
||||||
/* Helpers to encode metadata into user ID strings. */
|
|
||||||
diff --git a/libfprint/fprint-list-udev-hwdb.c b/libfprint/fprint-list-udev-hwdb.c
|
diff --git a/libfprint/fprint-list-udev-hwdb.c b/libfprint/fprint-list-udev-hwdb.c
|
||||||
index 16b6d18f..b768d610 100644
|
index 16b6d18f..b768d610 100644
|
||||||
--- a/libfprint/fprint-list-udev-hwdb.c
|
--- a/libfprint/fprint-list-udev-hwdb.c
|
||||||
+++ b/libfprint/fprint-list-udev-hwdb.c
|
+++ b/libfprint/fprint-list-udev-hwdb.c
|
||||||
@@ -88,19 +88,16 @@ static const FpIdEntry whitelist_id_table[] = {
|
@@ -94,7 +94,6 @@ static const FpIdEntry whitelist_id_table[] = {
|
||||||
{ .vid = 0x1c7a, .pid = 0x0575 },
|
{ .vid = 0x1c7a, .pid = 0x0575 },
|
||||||
{ .vid = 0x1c7a, .pid = 0x0576 },
|
{ .vid = 0x1c7a, .pid = 0x0576 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5042 },
|
{ .vid = 0x27c6, .pid = 0x5042 },
|
||||||
- { .vid = 0x27c6, .pid = 0x5110 },
|
- { .vid = 0x27c6, .pid = 0x5110 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5117 },
|
{ .vid = 0x27c6, .pid = 0x5117 },
|
||||||
|
{ .vid = 0x27c6, .pid = 0x5120 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5125 },
|
{ .vid = 0x27c6, .pid = 0x5125 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5201 },
|
@@ -102,13 +101,11 @@ static const FpIdEntry whitelist_id_table[] = {
|
||||||
{ .vid = 0x27c6, .pid = 0x521d },
|
{ .vid = 0x27c6, .pid = 0x521d },
|
||||||
{ .vid = 0x27c6, .pid = 0x5301 },
|
{ .vid = 0x27c6, .pid = 0x5301 },
|
||||||
{ .vid = 0x27c6, .pid = 0x530c },
|
{ .vid = 0x27c6, .pid = 0x530c },
|
||||||
- { .vid = 0x27c6, .pid = 0x532d },
|
- { .vid = 0x27c6, .pid = 0x532d },
|
||||||
|
{ .vid = 0x27c6, .pid = 0x5335 },
|
||||||
{ .vid = 0x27c6, .pid = 0x533c },
|
{ .vid = 0x27c6, .pid = 0x533c },
|
||||||
{ .vid = 0x27c6, .pid = 0x5381 },
|
{ .vid = 0x27c6, .pid = 0x5381 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5385 },
|
{ .vid = 0x27c6, .pid = 0x5385 },
|
||||||
|
@ -4759,7 +4437,7 @@ index 16b6d18f..b768d610 100644
|
||||||
- { .vid = 0x27c6, .pid = 0x538d },
|
- { .vid = 0x27c6, .pid = 0x538d },
|
||||||
{ .vid = 0x27c6, .pid = 0x5395 },
|
{ .vid = 0x27c6, .pid = 0x5395 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5503 },
|
{ .vid = 0x27c6, .pid = 0x5503 },
|
||||||
{ .vid = 0x27c6, .pid = 0x5584 },
|
{ .vid = 0x27c6, .pid = 0x550a },
|
||||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||||
index 25ed10f3..6ee02900 100644
|
index 25ed10f3..6ee02900 100644
|
||||||
--- a/libfprint/meson.build
|
--- a/libfprint/meson.build
|
||||||
|
@ -4771,10 +4449,10 @@ index 25ed10f3..6ee02900 100644
|
||||||
+ 'goodixtls511' :
|
+ 'goodixtls511' :
|
||||||
+ [ 'drivers/goodixtls/goodix511.c' ],
|
+ [ 'drivers/goodixtls/goodix511.c' ],
|
||||||
+ 'goodixtls53xd' :
|
+ 'goodixtls53xd' :
|
||||||
+ [ 'drivers/goodixtls/goodix53xd.c' ]
|
+ [ 'drivers/goodixtls/goodix53xd.c' ],
|
||||||
|
'fpcmoc' :
|
||||||
|
[ 'drivers/fpcmoc/fpc.c' ],
|
||||||
}
|
}
|
||||||
|
|
||||||
helper_sources = {
|
|
||||||
@@ -148,6 +152,8 @@ helper_sources = {
|
@@ -148,6 +152,8 @@ helper_sources = {
|
||||||
[ 'drivers/aesx660.c' ],
|
[ 'drivers/aesx660.c' ],
|
||||||
'aes3k' :
|
'aes3k' :
|
||||||
|
@ -4825,204 +4503,3 @@ index 823728c7..ac31a3d8 100644
|
||||||
elif i == 'nss'
|
elif i == 'nss'
|
||||||
nss_dep = dependency('nss', required: false)
|
nss_dep = dependency('nss', required: false)
|
||||||
if not nss_dep.found()
|
if not nss_dep.found()
|
||||||
diff --git a/scripts/uncrustify.cfg b/scripts/uncrustify.cfg
|
|
||||||
index 1dbd3bad..34b9a358 100644
|
|
||||||
--- a/scripts/uncrustify.cfg
|
|
||||||
+++ b/scripts/uncrustify.cfg
|
|
||||||
@@ -120,7 +120,7 @@ nl_multi_line_cond true
|
|
||||||
# Not clear what to do about that...
|
|
||||||
mod_full_brace_for Remove
|
|
||||||
mod_full_brace_if Remove
|
|
||||||
-mod_full_brace_if_chain True
|
|
||||||
+mod_full_brace_if_chain 1
|
|
||||||
mod_full_brace_while Remove
|
|
||||||
mod_full_brace_do Remove
|
|
||||||
mod_full_brace_nl 3
|
|
||||||
diff --git a/tests/goodixmoc/custom.pcapng b/tests/goodixmoc/custom.pcapng
|
|
||||||
index eb58d865..b5e2d89c 100644
|
|
||||||
Binary files a/tests/goodixmoc/custom.pcapng and b/tests/goodixmoc/custom.pcapng differ
|
|
||||||
diff --git a/tests/goodixmoc/custom.py b/tests/goodixmoc/custom.py
|
|
||||||
index 1fb513a1..38fdd26c 100755
|
|
||||||
--- a/tests/goodixmoc/custom.py
|
|
||||||
+++ b/tests/goodixmoc/custom.py
|
|
||||||
@@ -25,6 +25,9 @@
|
|
||||||
|
|
||||||
d.open_sync()
|
|
||||||
|
|
||||||
+# 1. verify clear storage command, 2. make sure later asserts are good
|
|
||||||
+d.clear_storage_sync()
|
|
||||||
+
|
|
||||||
template = FPrint.Print.new(d)
|
|
||||||
|
|
||||||
def enroll_progress(*args):
|
|
||||||
diff --git a/tests/goodixmoc/device b/tests/goodixmoc/device
|
|
||||||
index 9fb39e59..1e209a1d 100644
|
|
||||||
--- a/tests/goodixmoc/device
|
|
||||||
+++ b/tests/goodixmoc/device
|
|
||||||
@@ -1,14 +1,14 @@
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-3
|
|
||||||
-N: bus/usb/001/053=12010002EF000040C627966400010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
|
||||||
-E: DEVNAME=/dev/bus/usb/001/053
|
|
||||||
+N: bus/usb/001/023=12010002EF000040C627966400010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
|
||||||
+E: DEVNAME=/dev/bus/usb/001/023
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=27c6/6496/100
|
|
||||||
E: TYPE=239/0/0
|
|
||||||
E: BUSNUM=001
|
|
||||||
-E: DEVNUM=053
|
|
||||||
+E: DEVNUM=023
|
|
||||||
E: MAJOR=189
|
|
||||||
-E: MINOR=52
|
|
||||||
+E: MINOR=22
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
E: ID_VENDOR=Goodix_Technology_Co.__Ltd.
|
|
||||||
E: ID_VENDOR_ENC=Goodix\x20Technology\x20Co.\x2c\x20Ltd.
|
|
||||||
@@ -23,6 +23,7 @@ E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:ff0000:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Shenzhen Goodix Technology Co.,Ltd.
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
+E: ID_PERSIST=0
|
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:3
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3
|
|
||||||
A: authorized=1\n
|
|
||||||
@@ -40,8 +41,8 @@ A: bmAttributes=a0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=XXXX_MOC_B0\n
|
|
||||||
H: descriptors=12010002EF000040C627966400010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
|
||||||
-A: dev=189:52\n
|
|
||||||
-A: devnum=53\n
|
|
||||||
+A: dev=189:22\n
|
|
||||||
+A: devnum=23\n
|
|
||||||
A: devpath=3\n
|
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d/device:20
|
|
||||||
@@ -51,16 +52,16 @@ A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Goodix Technology Co., Ltd.\n
|
|
||||||
A: maxchild=0\n
|
|
||||||
L: port=../1-0:1.0/usb1-port3
|
|
||||||
-A: power/active_duration=29262\n
|
|
||||||
+A: power/active_duration=22667\n
|
|
||||||
A: power/autosuspend=2\n
|
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
|
||||||
-A: power/connected_duration=57399\n
|
|
||||||
+A: power/connected_duration=917616\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/persist=1\n
|
|
||||||
-A: power/runtime_active_time=29308\n
|
|
||||||
+A: power/runtime_active_time=22809\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
-A: power/runtime_suspended_time=27850\n
|
|
||||||
+A: power/runtime_suspended_time=894564\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
@@ -77,29 +78,29 @@ A: rx_lanes=1\n
|
|
||||||
A: serial=XXXX_MOC_B0\n
|
|
||||||
A: speed=12\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
-A: urbnum=394\n
|
|
||||||
+A: urbnum=298\n
|
|
||||||
A: version= 2.00\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
|
||||||
-N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
+N: bus/usb/001/001=12010002090001406B1D020017050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
-E: PRODUCT=1d6b/2/513
|
|
||||||
+E: PRODUCT=1d6b/2/517
|
|
||||||
E: TYPE=9/0/1
|
|
||||||
E: BUSNUM=001
|
|
||||||
E: DEVNUM=001
|
|
||||||
E: MAJOR=189
|
|
||||||
E: MINOR=0
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
-E: ID_VENDOR=Linux_5.13.15-200.fc34.x86_64_xhci-hcd
|
|
||||||
-E: ID_VENDOR_ENC=Linux\x205.13.15-200.fc34.x86_64\x20xhci-hcd
|
|
||||||
+E: ID_VENDOR=Linux_5.17.12-300.fc36.x86_64_xhci-hcd
|
|
||||||
+E: ID_VENDOR_ENC=Linux\x205.17.12-300.fc36.x86_64\x20xhci-hcd
|
|
||||||
E: ID_VENDOR_ID=1d6b
|
|
||||||
E: ID_MODEL=xHCI_Host_Controller
|
|
||||||
E: ID_MODEL_ENC=xHCI\x20Host\x20Controller
|
|
||||||
E: ID_MODEL_ID=0002
|
|
||||||
-E: ID_REVISION=0513
|
|
||||||
-E: ID_SERIAL=Linux_5.13.15-200.fc34.x86_64_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
|
|
||||||
+E: ID_REVISION=0517
|
|
||||||
+E: ID_SERIAL=Linux_5.17.12-300.fc36.x86_64_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
|
|
||||||
E: ID_SERIAL_SHORT=0000:00:14.0
|
|
||||||
E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:090000:
|
|
||||||
@@ -122,11 +123,11 @@ A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=0mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
-A: bcdDevice=0513\n
|
|
||||||
+A: bcdDevice=0517\n
|
|
||||||
A: bmAttributes=e0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=\n
|
|
||||||
-H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
+H: descriptors=12010002090001406B1D020017050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
|
||||||
A: devpath=0\n
|
|
||||||
@@ -136,15 +137,15 @@ A: idProduct=0002\n
|
|
||||||
A: idVendor=1d6b\n
|
|
||||||
A: interface_authorized_default=1\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
-A: manufacturer=Linux 5.13.15-200.fc34.x86_64 xhci-hcd\n
|
|
||||||
+A: manufacturer=Linux 5.17.12-300.fc36.x86_64 xhci-hcd\n
|
|
||||||
A: maxchild=12\n
|
|
||||||
-A: power/active_duration=219578717\n
|
|
||||||
+A: power/active_duration=164289796\n
|
|
||||||
A: power/autosuspend=0\n
|
|
||||||
A: power/autosuspend_delay_ms=0\n
|
|
||||||
-A: power/connected_duration=219649620\n
|
|
||||||
+A: power/connected_duration=164360220\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
-A: power/runtime_active_time=219589127\n
|
|
||||||
+A: power/runtime_active_time=164331876\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
@@ -163,14 +164,14 @@ A: rx_lanes=1\n
|
|
||||||
A: serial=0000:00:14.0\n
|
|
||||||
A: speed=480\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
-A: urbnum=4325\n
|
|
||||||
+A: urbnum=2097\n
|
|
||||||
A: version= 2.00\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0
|
|
||||||
E: DRIVER=xhci_hcd
|
|
||||||
E: PCI_CLASS=C0330
|
|
||||||
E: PCI_ID=8086:9DED
|
|
||||||
-E: PCI_SUBSYS_ID=17AA:2292\n
|
|
||||||
+E: PCI_SUBSYS_ID=17AA:2292
|
|
||||||
E: PCI_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d00009DEDsv000017AAsd00002292bc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
@@ -183,7 +184,7 @@ E: ID_MODEL_FROM_DATABASE=Cannon Point-LP USB 3.1 xHCI Controller
|
|
||||||
A: ari_enabled=0\n
|
|
||||||
A: broken_parity_status=0\n
|
|
||||||
A: class=0x0c0330\n
|
|
||||||
-H: config=8680ED9D060490021130030C00008000040022EA000000000000000000000000000000000000000000000000AA179222000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F000000004C084B0100000000316000000000000000000000000000000180C2C1080000000000000000000000059087001803E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000000000000000000008000000040000000000000000000000000000000000000000000000000000000800000004000000000000000000000000000000000000000000000000000000B50F320112000000
|
|
||||||
+H: config=8680ED9D060490021130030C00008000040022EA000000000000000000000000000000000000000000000000AA179222000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000F507312600000000316000000000000000000000000000000180C2C1080000000000000000000000059087001803E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000000000000000000008000000040000000000000000000000000000000000000000000000000000000800000004000000000000000000000000000000000000000000000000000000B50F320112000000
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
@@ -201,8 +202,8 @@ A: msi_bus=1\n
|
|
||||||
A: msi_irqs/128=msi\n
|
|
||||||
A: numa_node=-1\n
|
|
||||||
A: pools=poolinfo - 0.1\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0\nxHCI 1KB stream ctx arrays 0 0 1024 0\nxHCI 256 byte stream ctx arrays 0 0 256 0\nxHCI input/output contexts 11 12 2112 12\nxHCI ring segments 46 50 4096 50\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 6 32 128 1\nbuffer-32 0 0 32 0\n
|
|
||||||
-A: power/control=on\n
|
|
||||||
-A: power/runtime_active_time=219589302\n
|
|
||||||
+A: power/control=auto\n
|
|
||||||
+A: power/runtime_active_time=164332777\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
|
|
Loading…
Reference in a new issue