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
|
||||
index 6e3fd396..9862d188 100644
|
||||
--- a/data/autosuspend.hwdb
|
||||
+++ b/data/autosuspend.hwdb
|
||||
@@ -146,6 +146,7 @@ usb:v04F3p0C58*
|
||||
usb:v04F3p0C7D*
|
||||
usb:v04F3p0C7E*
|
||||
usb:v04F3p0C82*
|
||||
+usb:v04F3p0C88*
|
||||
ID_AUTOSUSPEND=1
|
||||
ID_PERSIST=0
|
||||
|
||||
@@ -172,6 +173,17 @@ usb:v27C6p6A94*
|
||||
@@ -190,6 +190,17 @@ usb:v27C6p6A94*
|
||||
ID_AUTOSUSPEND=1
|
||||
ID_PERSIST=0
|
||||
|
||||
|
@ -186,18 +20,20 @@ index 6e3fd396..9862d188 100644
|
|||
# Supported by libfprint driver nb1010
|
||||
usb:v298Dp1010*
|
||||
ID_AUTOSUSPEND=1
|
||||
@@ -317,19 +329,16 @@ usb:v1C7Ap0300*
|
||||
@@ -343,7 +354,6 @@ usb:v1C7Ap0300*
|
||||
usb:v1C7Ap0575*
|
||||
usb:v1C7Ap0576*
|
||||
usb:v27C6p5042*
|
||||
-usb:v27C6p5110*
|
||||
usb:v27C6p5117*
|
||||
usb:v27C6p5120*
|
||||
usb:v27C6p5125*
|
||||
usb:v27C6p5201*
|
||||
@@ -351,13 +361,11 @@ usb:v27C6p5201*
|
||||
usb:v27C6p521D*
|
||||
usb:v27C6p5301*
|
||||
usb:v27C6p530C*
|
||||
-usb:v27C6p532D*
|
||||
usb:v27C6p5335*
|
||||
usb:v27C6p533C*
|
||||
usb:v27C6p5381*
|
||||
usb:v27C6p5385*
|
||||
|
@ -205,150 +41,7 @@ index 6e3fd396..9862d188 100644
|
|||
-usb:v27C6p538D*
|
||||
usb:v27C6p5395*
|
||||
usb:v27C6p5503*
|
||||
usb:v27C6p5584*
|
||||
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;
|
||||
}
|
||||
usb:v27C6p550A*
|
||||
diff --git a/libfprint/drivers/goodixtls/goodix.c b/libfprint/drivers/goodixtls/goodix.c
|
||||
new file mode 100644
|
||||
index 00000000..0d2f0b7f
|
||||
|
@ -4719,39 +4412,24 @@ index 00000000..66c61f45
|
|||
+// This is called only once to deinit the TLS server.
|
||||
+// Return TRUE on success, FALSE otherwise and error should be set.
|
||||
+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
|
||||
index 16b6d18f..b768d610 100644
|
||||
--- a/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 = 0x0576 },
|
||||
{ .vid = 0x27c6, .pid = 0x5042 },
|
||||
- { .vid = 0x27c6, .pid = 0x5110 },
|
||||
{ .vid = 0x27c6, .pid = 0x5117 },
|
||||
{ .vid = 0x27c6, .pid = 0x5120 },
|
||||
{ .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 = 0x5301 },
|
||||
{ .vid = 0x27c6, .pid = 0x530c },
|
||||
- { .vid = 0x27c6, .pid = 0x532d },
|
||||
{ .vid = 0x27c6, .pid = 0x5335 },
|
||||
{ .vid = 0x27c6, .pid = 0x533c },
|
||||
{ .vid = 0x27c6, .pid = 0x5381 },
|
||||
{ .vid = 0x27c6, .pid = 0x5385 },
|
||||
|
@ -4759,7 +4437,7 @@ index 16b6d18f..b768d610 100644
|
|||
- { .vid = 0x27c6, .pid = 0x538d },
|
||||
{ .vid = 0x27c6, .pid = 0x5395 },
|
||||
{ .vid = 0x27c6, .pid = 0x5503 },
|
||||
{ .vid = 0x27c6, .pid = 0x5584 },
|
||||
{ .vid = 0x27c6, .pid = 0x550a },
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index 25ed10f3..6ee02900 100644
|
||||
--- a/libfprint/meson.build
|
||||
|
@ -4771,10 +4449,10 @@ index 25ed10f3..6ee02900 100644
|
|||
+ 'goodixtls511' :
|
||||
+ [ 'drivers/goodixtls/goodix511.c' ],
|
||||
+ 'goodixtls53xd' :
|
||||
+ [ 'drivers/goodixtls/goodix53xd.c' ]
|
||||
+ [ 'drivers/goodixtls/goodix53xd.c' ],
|
||||
'fpcmoc' :
|
||||
[ 'drivers/fpcmoc/fpc.c' ],
|
||||
}
|
||||
|
||||
helper_sources = {
|
||||
@@ -148,6 +152,8 @@ helper_sources = {
|
||||
[ 'drivers/aesx660.c' ],
|
||||
'aes3k' :
|
||||
|
@ -4825,204 +4503,3 @@ index 823728c7..ac31a3d8 100644
|
|||
elif i == 'nss'
|
||||
nss_dep = dependency('nss', required: false)
|
||||
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