mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
Compare commits
1 Commits
v1.94.2
...
benzea/ran
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78e8cf2a40 |
@@ -1,6 +1,6 @@
|
|||||||
include:
|
include:
|
||||||
- local: '.gitlab-ci/libfprint-templates.yaml'
|
- local: '.gitlab-ci/libfprint-templates.yaml'
|
||||||
- project: 'freedesktop/ci-templates'
|
- project: 'wayland/ci-templates'
|
||||||
ref: master
|
ref: master
|
||||||
file: '/templates/fedora.yml'
|
file: '/templates/fedora.yml'
|
||||||
- remote: 'https://gitlab.gnome.org/GNOME/citemplates/-/raw/master/flatpak/flatpak_ci_initiative.yml'
|
- remote: 'https://gitlab.gnome.org/GNOME/citemplates/-/raw/master/flatpak/flatpak_ci_initiative.yml'
|
||||||
@@ -9,7 +9,6 @@ variables:
|
|||||||
extends: .libfprint_common_variables
|
extends: .libfprint_common_variables
|
||||||
FDO_DISTRIBUTION_TAG: latest
|
FDO_DISTRIBUTION_TAG: latest
|
||||||
FDO_DISTRIBUTION_VERSION: rawhide
|
FDO_DISTRIBUTION_VERSION: rawhide
|
||||||
FDO_UPSTREAM_REPO: "libfprint/$CI_PROJECT_NAME"
|
|
||||||
FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
|
FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
|
||||||
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
||||||
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
||||||
@@ -20,7 +19,7 @@ stages:
|
|||||||
- test
|
- test
|
||||||
- flatpak
|
- flatpak
|
||||||
|
|
||||||
image: $FEDORA_IMAGE
|
image: "$FEDORA_IMAGE"
|
||||||
|
|
||||||
.build_one_driver_template: &build_one_driver
|
.build_one_driver_template: &build_one_driver
|
||||||
script:
|
script:
|
||||||
@@ -160,7 +159,6 @@ container_fedora_build:
|
|||||||
- $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES"
|
- $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES"
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
||||||
FDO_FORCE_REBUILD: 1
|
|
||||||
# a list of packages to install
|
# a list of packages to install
|
||||||
FDO_DISTRIBUTION_PACKAGES:
|
FDO_DISTRIBUTION_PACKAGES:
|
||||||
$LIBFPRINT_DEPENDENCIES
|
$LIBFPRINT_DEPENDENCIES
|
||||||
|
|||||||
@@ -26,4 +26,3 @@
|
|||||||
uncrustify
|
uncrustify
|
||||||
valgrind
|
valgrind
|
||||||
clang-analyzer
|
clang-analyzer
|
||||||
diffutils
|
|
||||||
|
|||||||
19
NEWS
19
NEWS
@@ -1,24 +1,7 @@
|
|||||||
This file lists notable changes in each release. For the full history of all
|
This file lists notable changes in each release. For the full history of all
|
||||||
changes, see ChangeLog.
|
changes, see ChangeLog.
|
||||||
|
|
||||||
2021-11-02: v1.94.2 release
|
2021-06-30: v1.94.0 release
|
||||||
|
|
||||||
Highlights:
|
|
||||||
* goodixmoc: Fix protocol error with certain username lengths
|
|
||||||
* elanmoc: New PID 0x0c7d
|
|
||||||
* goodixmoc: New PID 0x63cc
|
|
||||||
|
|
||||||
2021-09-24: v1.94.1 release
|
|
||||||
|
|
||||||
Highlights:
|
|
||||||
* Ship a simple script to create new CI tests using tshark
|
|
||||||
* Added CI tests for elan, uru4000, aes2501
|
|
||||||
* goodixmoc: Remove duplicate checking during enroll and let fprintd handle it
|
|
||||||
* uru4000: Fix USB transfer type
|
|
||||||
* synaptics: Support for new PIDs
|
|
||||||
* goodixmoc: Support for new PIDs
|
|
||||||
|
|
||||||
2021-08-20: v1.94.0 release
|
|
||||||
|
|
||||||
Highlights:
|
Highlights:
|
||||||
* Implement suspend/resume handling including USB wakeup configuration.
|
* Implement suspend/resume handling including USB wakeup configuration.
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
# Supported by libfprint driver aes1610
|
# Supported by libfprint driver aes1610
|
||||||
usb:v08FFp1600*
|
usb:v08FFp1600*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes1660
|
# Supported by libfprint driver aes1660
|
||||||
usb:v08FFp1660*
|
usb:v08FFp1660*
|
||||||
@@ -25,19 +24,16 @@ usb:v08FFp168D*
|
|||||||
usb:v08FFp168E*
|
usb:v08FFp168E*
|
||||||
usb:v08FFp168F*
|
usb:v08FFp168F*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes2501
|
# Supported by libfprint driver aes2501
|
||||||
usb:v08FFp2500*
|
usb:v08FFp2500*
|
||||||
usb:v08FFp2580*
|
usb:v08FFp2580*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes2550
|
# Supported by libfprint driver aes2550
|
||||||
usb:v08FFp2550*
|
usb:v08FFp2550*
|
||||||
usb:v08FFp2810*
|
usb:v08FFp2810*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes2660
|
# Supported by libfprint driver aes2660
|
||||||
usb:v08FFp2660*
|
usb:v08FFp2660*
|
||||||
@@ -59,23 +55,19 @@ usb:v08FFp268E*
|
|||||||
usb:v08FFp268F*
|
usb:v08FFp268F*
|
||||||
usb:v08FFp2691*
|
usb:v08FFp2691*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes3500
|
# Supported by libfprint driver aes3500
|
||||||
usb:v08FFp5731*
|
usb:v08FFp5731*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver aes4000
|
# Supported by libfprint driver aes4000
|
||||||
usb:v5501p08FF*
|
usb:v5501p08FF*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver egis0570
|
# Supported by libfprint driver egis0570
|
||||||
usb:v1C7Ap0570*
|
usb:v1C7Ap0570*
|
||||||
usb:v1C7Ap0571*
|
usb:v1C7Ap0571*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver elan
|
# Supported by libfprint driver elan
|
||||||
usb:v04F3p0903*
|
usb:v04F3p0903*
|
||||||
@@ -139,18 +131,14 @@ usb:v04F3p0C63*
|
|||||||
usb:v04F3p0C6E*
|
usb:v04F3p0C6E*
|
||||||
usb:v04F3p0C58*
|
usb:v04F3p0C58*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver elanmoc
|
# Supported by libfprint driver elanmoc
|
||||||
usb:v04F3p0C7D*
|
|
||||||
usb:v04F3p0C7E*
|
usb:v04F3p0C7E*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver etes603
|
# Supported by libfprint driver etes603
|
||||||
usb:v1C7Ap0603*
|
usb:v1C7Ap0603*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver goodixmoc
|
# Supported by libfprint driver goodixmoc
|
||||||
usb:v27C6p5840*
|
usb:v27C6p5840*
|
||||||
@@ -158,8 +146,6 @@ usb:v27C6p609C*
|
|||||||
usb:v27C6p60A2*
|
usb:v27C6p60A2*
|
||||||
usb:v27C6p639C*
|
usb:v27C6p639C*
|
||||||
usb:v27C6p63AC*
|
usb:v27C6p63AC*
|
||||||
usb:v27C6p63BC*
|
|
||||||
usb:v27C6p63CC*
|
|
||||||
usb:v27C6p6496*
|
usb:v27C6p6496*
|
||||||
usb:v27C6p6584*
|
usb:v27C6p6584*
|
||||||
usb:v27C6p658C*
|
usb:v27C6p658C*
|
||||||
@@ -168,12 +154,10 @@ usb:v27C6p6594*
|
|||||||
usb:v27C6p659C*
|
usb:v27C6p659C*
|
||||||
usb:v27C6p6A94*
|
usb:v27C6p6A94*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver nb1010
|
# Supported by libfprint driver nb1010
|
||||||
usb:v298Dp1010*
|
usb:v298Dp1010*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver synaptics
|
# Supported by libfprint driver synaptics
|
||||||
usb:v06CBp00BD*
|
usb:v06CBp00BD*
|
||||||
@@ -185,29 +169,22 @@ usb:v06CBp00C9*
|
|||||||
usb:v06CBp0100*
|
usb:v06CBp0100*
|
||||||
usb:v06CBp00F0*
|
usb:v06CBp00F0*
|
||||||
usb:v06CBp0103*
|
usb:v06CBp0103*
|
||||||
usb:v06CBp0123*
|
|
||||||
usb:v06CBp0126*
|
|
||||||
usb:v06CBp0129*
|
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver upeksonly
|
# Supported by libfprint driver upeksonly
|
||||||
usb:v147Ep2016*
|
usb:v147Ep2016*
|
||||||
usb:v147Ep1000*
|
usb:v147Ep1000*
|
||||||
usb:v147Ep1001*
|
usb:v147Ep1001*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver upektc
|
# Supported by libfprint driver upektc
|
||||||
usb:v0483p2015*
|
usb:v0483p2015*
|
||||||
usb:v147Ep3001*
|
usb:v147Ep3001*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver upektc_img
|
# Supported by libfprint driver upektc_img
|
||||||
usb:v147Ep2020*
|
usb:v147Ep2020*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver uru4000
|
# Supported by libfprint driver uru4000
|
||||||
usb:v045Ep00BC*
|
usb:v045Ep00BC*
|
||||||
@@ -217,28 +194,23 @@ usb:v05BAp0007*
|
|||||||
usb:v05BAp0008*
|
usb:v05BAp0008*
|
||||||
usb:v05BAp000A*
|
usb:v05BAp000A*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vcom5s
|
# Supported by libfprint driver vcom5s
|
||||||
usb:v061Ap0110*
|
usb:v061Ap0110*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vfs0050
|
# Supported by libfprint driver vfs0050
|
||||||
usb:v138Ap0050*
|
usb:v138Ap0050*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vfs101
|
# Supported by libfprint driver vfs101
|
||||||
usb:v138Ap0001*
|
usb:v138Ap0001*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vfs301
|
# Supported by libfprint driver vfs301
|
||||||
usb:v138Ap0005*
|
usb:v138Ap0005*
|
||||||
usb:v138Ap0008*
|
usb:v138Ap0008*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vfs5011
|
# Supported by libfprint driver vfs5011
|
||||||
usb:v138Ap0010*
|
usb:v138Ap0010*
|
||||||
@@ -247,12 +219,10 @@ usb:v138Ap0015*
|
|||||||
usb:v138Ap0017*
|
usb:v138Ap0017*
|
||||||
usb:v138Ap0018*
|
usb:v138Ap0018*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Supported by libfprint driver vfs7552
|
# Supported by libfprint driver vfs7552
|
||||||
usb:v138Ap0091*
|
usb:v138Ap0091*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|
||||||
# Known unsupported devices
|
# Known unsupported devices
|
||||||
usb:v04F3p036B*
|
usb:v04F3p036B*
|
||||||
@@ -284,9 +254,7 @@ usb:v0A5Cp5840*
|
|||||||
usb:v0A5Cp5841*
|
usb:v0A5Cp5841*
|
||||||
usb:v0A5Cp5842*
|
usb:v0A5Cp5842*
|
||||||
usb:v0A5Cp5843*
|
usb:v0A5Cp5843*
|
||||||
usb:v0A5Cp5844*
|
|
||||||
usb:v0A5Cp5845*
|
usb:v0A5Cp5845*
|
||||||
usb:v0BDAp5812*
|
|
||||||
usb:v10A5p0007*
|
usb:v10A5p0007*
|
||||||
usb:v1188p9545*
|
usb:v1188p9545*
|
||||||
usb:v138Ap0007*
|
usb:v138Ap0007*
|
||||||
@@ -328,4 +296,3 @@ usb:v2808p9338*
|
|||||||
usb:v298Dp2033*
|
usb:v298Dp2033*
|
||||||
usb:v3538p0930*
|
usb:v3538p0930*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
|
||||||
|
|||||||
@@ -179,7 +179,6 @@ fpi_device_enroll_complete
|
|||||||
fpi_device_verify_complete
|
fpi_device_verify_complete
|
||||||
fpi_device_identify_complete
|
fpi_device_identify_complete
|
||||||
fpi_device_capture_complete
|
fpi_device_capture_complete
|
||||||
fpi_device_clear_storage_complete
|
|
||||||
fpi_device_delete_complete
|
fpi_device_delete_complete
|
||||||
fpi_device_list_complete
|
fpi_device_list_complete
|
||||||
fpi_device_suspend_complete
|
fpi_device_suspend_complete
|
||||||
@@ -260,10 +259,7 @@ fpi_ssm_get_device
|
|||||||
fpi_ssm_get_error
|
fpi_ssm_get_error
|
||||||
fpi_ssm_dup_error
|
fpi_ssm_dup_error
|
||||||
fpi_ssm_get_cur_state
|
fpi_ssm_get_cur_state
|
||||||
fpi_ssm_spi_transfer_cb
|
|
||||||
fpi_ssm_spi_transfer_with_weak_pointer_cb
|
|
||||||
fpi_ssm_usb_transfer_cb
|
fpi_ssm_usb_transfer_cb
|
||||||
fpi_ssm_usb_transfer_with_weak_pointer_cb
|
|
||||||
FpiSsm
|
FpiSsm
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
@@ -290,20 +286,3 @@ FPI_TYPE_USB_TRANSFER
|
|||||||
fpi_usb_transfer_get_type
|
fpi_usb_transfer_get_type
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
|
||||||
<FILE>fpi-spi-transfer</FILE>
|
|
||||||
FpiSpiTransferCallback
|
|
||||||
FpiSpiTransfer
|
|
||||||
fpi_spi_transfer_new
|
|
||||||
fpi_spi_transfer_ref
|
|
||||||
fpi_spi_transfer_unref
|
|
||||||
fpi_spi_transfer_write
|
|
||||||
fpi_spi_transfer_write_full
|
|
||||||
fpi_spi_transfer_read
|
|
||||||
fpi_spi_transfer_read_full
|
|
||||||
fpi_spi_transfer_submit
|
|
||||||
fpi_spi_transfer_submit_sync
|
|
||||||
<SUBSECTION Standard>
|
|
||||||
FPI_TYPE_SPI_TRANSFER
|
|
||||||
fpi_spi_transfer_get_type
|
|
||||||
</SECTION>
|
|
||||||
|
|||||||
@@ -41,8 +41,7 @@
|
|||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="driver-helpers">
|
<chapter id="driver-helpers">
|
||||||
<title>USB, SPI and State Machine helpers</title>
|
<title>USB and State Machine helpers</title>
|
||||||
<xi:include href="xml/fpi-spi-transfer.xml"/>
|
|
||||||
<xi:include href="xml/fpi-usb-transfer.xml"/>
|
<xi:include href="xml/fpi-usb-transfer.xml"/>
|
||||||
<xi:include href="xml/fpi-ssm.xml"/>
|
<xi:include href="xml/fpi-ssm.xml"/>
|
||||||
<xi:include href="xml/fpi-log.xml"/>
|
<xi:include href="xml/fpi-log.xml"/>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
G_DEFINE_TYPE (FpiDeviceElanmoc, fpi_device_elanmoc, FP_TYPE_DEVICE)
|
G_DEFINE_TYPE (FpiDeviceElanmoc, fpi_device_elanmoc, FP_TYPE_DEVICE)
|
||||||
|
|
||||||
static const FpIdEntry id_table[] = {
|
static const FpIdEntry id_table[] = {
|
||||||
{ .vid = 0x04f3, .pid = 0x0c7d, },
|
|
||||||
{ .vid = 0x04f3, .pid = 0x0c7e, },
|
{ .vid = 0x04f3, .pid = 0x0c7e, },
|
||||||
{ .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */
|
{ .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */
|
||||||
};
|
};
|
||||||
@@ -807,7 +806,7 @@ elanmoc_enroll (FpDevice *device)
|
|||||||
FpPrint *print = NULL;
|
FpPrint *print = NULL;
|
||||||
GVariant *data = NULL;
|
GVariant *data = NULL;
|
||||||
GVariant *uid = NULL;
|
GVariant *uid = NULL;
|
||||||
g_autofree gchar *user_id = NULL;
|
g_autofree gchar *user_id;
|
||||||
gsize user_id_len;
|
gsize user_id_len;
|
||||||
guint8 *userdata = g_malloc0 (ELAN_USERDATE_SIZE);
|
guint8 *userdata = g_malloc0 (ELAN_USERDATE_SIZE);
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ struct _FpiDeviceGoodixMoc
|
|||||||
gint max_stored_prints;
|
gint max_stored_prints;
|
||||||
GPtrArray *list_result;
|
GPtrArray *list_result;
|
||||||
guint8 template_id[TEMPLATE_ID_SIZE];
|
guint8 template_id[TEMPLATE_ID_SIZE];
|
||||||
|
gboolean is_enroll_identify;
|
||||||
gboolean is_power_button_shield_on;
|
gboolean is_power_button_shield_on;
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -78,44 +79,6 @@ static gboolean parse_print_data (GVariant *data,
|
|||||||
gsize *tid_len,
|
gsize *tid_len,
|
||||||
const guint8 **user_id,
|
const guint8 **user_id,
|
||||||
gsize *user_id_len);
|
gsize *user_id_len);
|
||||||
|
|
||||||
static FpPrint *
|
|
||||||
fp_print_from_template (FpiDeviceGoodixMoc *self, template_format_t *template)
|
|
||||||
{
|
|
||||||
FpPrint *print;
|
|
||||||
GVariant *data;
|
|
||||||
GVariant *tid;
|
|
||||||
GVariant *uid;
|
|
||||||
g_autofree gchar *userid = NULL;
|
|
||||||
|
|
||||||
userid = g_strndup ((gchar *) template->payload.data, template->payload.size);
|
|
||||||
|
|
||||||
print = fp_print_new (FP_DEVICE (self));
|
|
||||||
|
|
||||||
tid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE,
|
|
||||||
template->tid,
|
|
||||||
TEMPLATE_ID_SIZE,
|
|
||||||
1);
|
|
||||||
|
|
||||||
uid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE,
|
|
||||||
template->payload.data,
|
|
||||||
template->payload.size,
|
|
||||||
1);
|
|
||||||
|
|
||||||
data = g_variant_new ("(y@ay@ay)",
|
|
||||||
template->finger_index,
|
|
||||||
tid,
|
|
||||||
uid);
|
|
||||||
|
|
||||||
fpi_print_set_type (print, FPI_PRINT_RAW);
|
|
||||||
fpi_print_set_device_stored (print, TRUE);
|
|
||||||
g_object_set (print, "fpi-data", data, NULL);
|
|
||||||
g_object_set (print, "description", userid, NULL);
|
|
||||||
fpi_print_fill_from_user_id (print, userid);
|
|
||||||
|
|
||||||
return print;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
* fp_cmd_xxx Function
|
* fp_cmd_xxx Function
|
||||||
@@ -422,7 +385,6 @@ fp_verify_cb (FpiDeviceGoodixMoc *self,
|
|||||||
{
|
{
|
||||||
g_autoptr(GPtrArray) templates = NULL;
|
g_autoptr(GPtrArray) templates = NULL;
|
||||||
FpDevice *device = FP_DEVICE (self);
|
FpDevice *device = FP_DEVICE (self);
|
||||||
FpPrint *match = NULL;
|
|
||||||
FpPrint *print = NULL;
|
FpPrint *print = NULL;
|
||||||
gint cnt = 0;
|
gint cnt = 0;
|
||||||
gboolean find = false;
|
gboolean find = false;
|
||||||
@@ -434,8 +396,6 @@ fp_verify_cb (FpiDeviceGoodixMoc *self,
|
|||||||
}
|
}
|
||||||
if (resp->verify.match)
|
if (resp->verify.match)
|
||||||
{
|
{
|
||||||
match = fp_print_from_template (self, &resp->verify.template);
|
|
||||||
|
|
||||||
if (fpi_device_get_current_action (device) == FPI_DEVICE_ACTION_VERIFY)
|
if (fpi_device_get_current_action (device) == FPI_DEVICE_ACTION_VERIFY)
|
||||||
{
|
{
|
||||||
templates = g_ptr_array_sized_new (1);
|
templates = g_ptr_array_sized_new (1);
|
||||||
@@ -449,9 +409,22 @@ fp_verify_cb (FpiDeviceGoodixMoc *self,
|
|||||||
}
|
}
|
||||||
for (cnt = 0; cnt < templates->len; cnt++)
|
for (cnt = 0; cnt < templates->len; cnt++)
|
||||||
{
|
{
|
||||||
|
g_autoptr(GVariant) data = NULL;
|
||||||
|
guint8 finger;
|
||||||
|
const guint8 *user_id;
|
||||||
|
gsize user_id_len = 0;
|
||||||
|
const guint8 *tid;
|
||||||
|
gsize tid_len = 0;
|
||||||
print = g_ptr_array_index (templates, cnt);
|
print = g_ptr_array_index (templates, cnt);
|
||||||
|
g_object_get (print, "fpi-data", &data, NULL);
|
||||||
if (fp_print_equal (print, match))
|
if (!parse_print_data (data, &finger, &tid, &tid_len, &user_id, &user_id_len))
|
||||||
|
{
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm,
|
||||||
|
fpi_device_error_new_msg (FP_DEVICE_ERROR_DATA_INVALID,
|
||||||
|
"Parse print error"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (memcmp (&resp->verify.template.tid, tid, TEMPLATE_ID_SIZE) == 0)
|
||||||
{
|
{
|
||||||
find = true;
|
find = true;
|
||||||
break;
|
break;
|
||||||
@@ -461,9 +434,9 @@ fp_verify_cb (FpiDeviceGoodixMoc *self,
|
|||||||
if (find)
|
if (find)
|
||||||
{
|
{
|
||||||
if (fpi_device_get_current_action (device) == FPI_DEVICE_ACTION_VERIFY)
|
if (fpi_device_get_current_action (device) == FPI_DEVICE_ACTION_VERIFY)
|
||||||
fpi_device_verify_report (device, FPI_MATCH_SUCCESS, match, error);
|
fpi_device_verify_report (device, FPI_MATCH_SUCCESS, NULL, error);
|
||||||
else
|
else
|
||||||
fpi_device_identify_report (device, print, match, error);
|
fpi_device_identify_report (device, print, print, error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -649,6 +622,28 @@ fp_enroll_enum_cb (FpiDeviceGoodixMoc *self,
|
|||||||
fpi_ssm_jump_to_state (self->task_ssm, FP_ENROLL_CAPTURE);
|
fpi_ssm_jump_to_state (self->task_ssm, FP_ENROLL_CAPTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fp_enroll_identify_cb (FpiDeviceGoodixMoc *self,
|
||||||
|
gxfp_cmd_response_t *resp,
|
||||||
|
GError *error)
|
||||||
|
{
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm, error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (resp->verify.match)
|
||||||
|
{
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm,
|
||||||
|
fpi_device_error_new_msg (FP_DEVICE_ERROR_DATA_DUPLICATE,
|
||||||
|
"Finger is too similar to another, try use a different finger"));
|
||||||
|
// maybe need fpi_device_enroll_report_message ...
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fpi_ssm_next_state (self->task_ssm);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fp_enroll_init_cb (FpiDeviceGoodixMoc *self,
|
fp_enroll_init_cb (FpiDeviceGoodixMoc *self,
|
||||||
gxfp_cmd_response_t *resp,
|
gxfp_cmd_response_t *resp,
|
||||||
@@ -702,6 +697,11 @@ fp_enroll_capture_cb (FpiDeviceGoodixMoc *self,
|
|||||||
fpi_ssm_jump_to_state (self->task_ssm, FP_ENROLL_CAPTURE);
|
fpi_ssm_jump_to_state (self->task_ssm, FP_ENROLL_CAPTURE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (self->is_enroll_identify)
|
||||||
|
{
|
||||||
|
self->is_enroll_identify = false;
|
||||||
|
fpi_ssm_jump_to_state (self->task_ssm, FP_ENROLL_IDENTIFY);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fpi_ssm_next_state (self->task_ssm);
|
fpi_ssm_next_state (self->task_ssm);
|
||||||
@@ -867,6 +867,19 @@ fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FP_ENROLL_IDENTIFY:
|
||||||
|
{
|
||||||
|
dummy[0] = 0x01;
|
||||||
|
dummy[1] = self->sensorcfg->config[10];
|
||||||
|
dummy[2] = self->sensorcfg->config[11];
|
||||||
|
goodix_sensor_cmd (self, MOC_CMD0_IDENTIFY, MOC_CMD1_DEFAULT,
|
||||||
|
false,
|
||||||
|
(const guint8 *) &self->template_id,
|
||||||
|
TEMPLATE_ID_SIZE,
|
||||||
|
fp_enroll_identify_cb);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_CREATE:
|
case FP_ENROLL_CREATE:
|
||||||
{
|
{
|
||||||
goodix_sensor_cmd (self, MOC_CMD0_ENROLL_INIT, MOC_CMD1_DEFAULT,
|
goodix_sensor_cmd (self, MOC_CMD0_ENROLL_INIT, MOC_CMD1_DEFAULT,
|
||||||
@@ -1211,10 +1224,36 @@ fp_template_list_cb (FpiDeviceGoodixMoc *self,
|
|||||||
|
|
||||||
for (int n = 0; n < resp->finger_list_resp.finger_num; n++)
|
for (int n = 0; n < resp->finger_list_resp.finger_num; n++)
|
||||||
{
|
{
|
||||||
|
GVariant *data = NULL;
|
||||||
|
GVariant *tid = NULL;
|
||||||
|
GVariant *uid = NULL;
|
||||||
FpPrint *print;
|
FpPrint *print;
|
||||||
|
gchar *userid;
|
||||||
|
|
||||||
print = fp_print_from_template (self, &resp->finger_list_resp.finger_list[n]);
|
userid = (gchar *) resp->finger_list_resp.finger_list[n].payload.data;
|
||||||
|
|
||||||
|
print = fp_print_new (FP_DEVICE (self));
|
||||||
|
|
||||||
|
tid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE,
|
||||||
|
resp->finger_list_resp.finger_list[n].tid,
|
||||||
|
TEMPLATE_ID_SIZE,
|
||||||
|
1);
|
||||||
|
|
||||||
|
uid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE,
|
||||||
|
resp->finger_list_resp.finger_list[n].payload.data,
|
||||||
|
resp->finger_list_resp.finger_list[n].payload.size,
|
||||||
|
1);
|
||||||
|
|
||||||
|
data = g_variant_new ("(y@ay@ay)",
|
||||||
|
resp->finger_list_resp.finger_list[n].finger_index,
|
||||||
|
tid,
|
||||||
|
uid);
|
||||||
|
|
||||||
|
fpi_print_set_type (print, FPI_PRINT_RAW);
|
||||||
|
fpi_print_set_device_stored (print, TRUE);
|
||||||
|
g_object_set (print, "fpi-data", data, NULL);
|
||||||
|
g_object_set (print, "description", userid, NULL);
|
||||||
|
fpi_print_fill_from_user_id (print, userid);
|
||||||
g_ptr_array_add (self->list_result, g_object_ref_sink (print));
|
g_ptr_array_add (self->list_result, g_object_ref_sink (print));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1281,8 +1320,6 @@ gx_fp_probe (FpDevice *device)
|
|||||||
case 0x609C:
|
case 0x609C:
|
||||||
case 0x639C:
|
case 0x639C:
|
||||||
case 0x63AC:
|
case 0x63AC:
|
||||||
case 0x63BC:
|
|
||||||
case 0x63CC:
|
|
||||||
case 0x6A94:
|
case 0x6A94:
|
||||||
self->max_enroll_stage = 12;
|
self->max_enroll_stage = 12;
|
||||||
break;
|
break;
|
||||||
@@ -1422,6 +1459,7 @@ gx_fp_enroll (FpDevice *device)
|
|||||||
FpiDeviceGoodixMoc *self = FPI_DEVICE_GOODIXMOC (device);
|
FpiDeviceGoodixMoc *self = FPI_DEVICE_GOODIXMOC (device);
|
||||||
|
|
||||||
self->enroll_stage = 0;
|
self->enroll_stage = 0;
|
||||||
|
self->is_enroll_identify = true;
|
||||||
|
|
||||||
self->task_ssm = fpi_ssm_new_full (device, fp_enroll_sm_run_state,
|
self->task_ssm = fpi_ssm_new_full (device, fp_enroll_sm_run_state,
|
||||||
FP_ENROLL_NUM_STATES,
|
FP_ENROLL_NUM_STATES,
|
||||||
@@ -1505,8 +1543,6 @@ static const FpIdEntry id_table[] = {
|
|||||||
{ .vid = 0x27c6, .pid = 0x60A2, },
|
{ .vid = 0x27c6, .pid = 0x60A2, },
|
||||||
{ .vid = 0x27c6, .pid = 0x639C, },
|
{ .vid = 0x27c6, .pid = 0x639C, },
|
||||||
{ .vid = 0x27c6, .pid = 0x63AC, },
|
{ .vid = 0x27c6, .pid = 0x63AC, },
|
||||||
{ .vid = 0x27c6, .pid = 0x63BC, },
|
|
||||||
{ .vid = 0x27c6, .pid = 0x63CC, },
|
|
||||||
{ .vid = 0x27c6, .pid = 0x6496, },
|
{ .vid = 0x27c6, .pid = 0x6496, },
|
||||||
{ .vid = 0x27c6, .pid = 0x6584, },
|
{ .vid = 0x27c6, .pid = 0x6584, },
|
||||||
{ .vid = 0x27c6, .pid = 0x658C, },
|
{ .vid = 0x27c6, .pid = 0x658C, },
|
||||||
|
|||||||
@@ -113,16 +113,14 @@ typedef struct _gxfp_enroll_init
|
|||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
typedef struct _template_format
|
typedef struct _template_format
|
||||||
{
|
{
|
||||||
uint8_t _0x43_byte;
|
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
uint8_t finger_index;
|
uint8_t finger_index;
|
||||||
uint8_t pad0;
|
|
||||||
uint8_t accountid[32];
|
uint8_t accountid[32];
|
||||||
uint8_t tid[32];
|
uint8_t tid[32];
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
uint8_t size;
|
uint32_t size;
|
||||||
uint8_t data[56];
|
uint8_t data[56];
|
||||||
} payload;
|
} payload;
|
||||||
uint8_t reserve[2];
|
uint8_t reserve[2];
|
||||||
} template_format_t, *ptemplate_format_t;
|
} template_format_t, *ptemplate_format_t;
|
||||||
|
|||||||
@@ -40,9 +40,6 @@ static const FpIdEntry id_table[] = {
|
|||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0100, },
|
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0100, },
|
||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x00F0, },
|
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x00F0, },
|
||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0103, },
|
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0103, },
|
||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0123, },
|
|
||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0126, },
|
|
||||||
{ .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0129, },
|
|
||||||
{ .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */
|
{ .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -360,9 +360,9 @@ start_irq_handler (FpImageDevice *dev)
|
|||||||
transfer = fpi_usb_transfer_new (FP_DEVICE (dev));
|
transfer = fpi_usb_transfer_new (FP_DEVICE (dev));
|
||||||
transfer->ssm = NULL;
|
transfer->ssm = NULL;
|
||||||
transfer->short_is_error = TRUE;
|
transfer->short_is_error = TRUE;
|
||||||
fpi_usb_transfer_fill_interrupt (transfer,
|
fpi_usb_transfer_fill_bulk (transfer,
|
||||||
EP_INTR,
|
EP_INTR,
|
||||||
IRQ_LENGTH);
|
IRQ_LENGTH);
|
||||||
fpi_usb_transfer_submit (transfer, 0, self->irq_cancellable, irq_handler, NULL);
|
fpi_usb_transfer_submit (transfer, 0, self->irq_cancellable, irq_handler, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -473,6 +473,7 @@ fp_context_enumerate (FpContext *context)
|
|||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_UDEV
|
#ifdef HAVE_UDEV
|
||||||
|
g_debug ("probing via udev");
|
||||||
{
|
{
|
||||||
g_autoptr(GUdevClient) udev_client = g_udev_client_new (NULL);
|
g_autoptr(GUdevClient) udev_client = g_udev_client_new (NULL);
|
||||||
|
|
||||||
@@ -484,6 +485,8 @@ fp_context_enumerate (FpContext *context)
|
|||||||
g_autoptr(GList) spidev_devices = g_udev_client_query_by_subsystem (udev_client, "spidev");
|
g_autoptr(GList) spidev_devices = g_udev_client_query_by_subsystem (udev_client, "spidev");
|
||||||
g_autoptr(GList) hidraw_devices = g_udev_client_query_by_subsystem (udev_client, "hidraw");
|
g_autoptr(GList) hidraw_devices = g_udev_client_query_by_subsystem (udev_client, "hidraw");
|
||||||
|
|
||||||
|
g_debug ("probing via udev: got devices");
|
||||||
|
|
||||||
/* for each potential driver, try to match all requested resources. */
|
/* for each potential driver, try to match all requested resources. */
|
||||||
for (i = 0; i < priv->drivers->len; i++)
|
for (i = 0; i < priv->drivers->len; i++)
|
||||||
{
|
{
|
||||||
@@ -534,6 +537,7 @@ fp_context_enumerate (FpContext *context)
|
|||||||
if (matched_hidraw == NULL)
|
if (matched_hidraw == NULL)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
g_debug ("probing via udev: found a device");
|
||||||
priv->pending_devices++;
|
priv->pending_devices++;
|
||||||
g_async_initable_new_async (driver,
|
g_async_initable_new_async (driver,
|
||||||
G_PRIORITY_LOW,
|
G_PRIORITY_LOW,
|
||||||
@@ -562,10 +566,15 @@ fp_context_enumerate (FpContext *context)
|
|||||||
g_list_foreach (spidev_devices, (GFunc) g_object_unref, NULL);
|
g_list_foreach (spidev_devices, (GFunc) g_object_unref, NULL);
|
||||||
g_list_foreach (hidraw_devices, (GFunc) g_object_unref, NULL);
|
g_list_foreach (hidraw_devices, (GFunc) g_object_unref, NULL);
|
||||||
}
|
}
|
||||||
|
g_debug ("probing via udev: done");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
while (priv->pending_devices)
|
g_debug("enumeration done, pending devices: %d", priv->pending_devices);
|
||||||
|
|
||||||
|
while (priv->pending_devices) {
|
||||||
|
g_debug("pending devices: %d", priv->pending_devices);
|
||||||
g_main_context_iteration (NULL, TRUE);
|
g_main_context_iteration (NULL, TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -574,7 +583,7 @@ fp_context_enumerate (FpContext *context)
|
|||||||
*
|
*
|
||||||
* Get all devices. fp_context_enumerate() will be called as needed.
|
* Get all devices. fp_context_enumerate() will be called as needed.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none) (element-type FpDevice): a new #GPtrArray of #FpDevice's.
|
* Returns: (transfer none) (element-type FpDevice): a new #GPtrArray of #GUsbDevice's.
|
||||||
*/
|
*/
|
||||||
GPtrArray *
|
GPtrArray *
|
||||||
fp_context_get_devices (FpContext *context)
|
fp_context_get_devices (FpContext *context)
|
||||||
|
|||||||
@@ -245,7 +245,6 @@ fp_device_get_property (GObject *object,
|
|||||||
{
|
{
|
||||||
FpDevice *self = FP_DEVICE (object);
|
FpDevice *self = FP_DEVICE (object);
|
||||||
FpDevicePrivate *priv = fp_device_get_instance_private (self);
|
FpDevicePrivate *priv = fp_device_get_instance_private (self);
|
||||||
FpDeviceClass *cls = FP_DEVICE_GET_CLASS (self);
|
|
||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
@@ -285,24 +284,6 @@ fp_device_get_property (GObject *object,
|
|||||||
g_value_set_boolean (value, priv->is_removed);
|
g_value_set_boolean (value, priv->is_removed);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_FPI_USB_DEVICE:
|
|
||||||
g_value_set_object (value, priv->usb_device);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_FPI_UDEV_DATA_SPIDEV:
|
|
||||||
if (cls->type == FP_DEVICE_TYPE_UDEV)
|
|
||||||
g_value_set_string (value, g_strdup (priv->udev_data.spidev_path));
|
|
||||||
else
|
|
||||||
g_value_set_string (value, NULL);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_FPI_UDEV_DATA_HIDRAW:
|
|
||||||
if (cls->type == FP_DEVICE_TYPE_UDEV)
|
|
||||||
g_value_set_string (value, g_strdup (priv->udev_data.hidraw_path));
|
|
||||||
else
|
|
||||||
g_value_set_string (value, NULL);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -549,7 +530,7 @@ fp_device_class_init (FpDeviceClass *klass)
|
|||||||
"USB Device",
|
"USB Device",
|
||||||
"Private: The USB device for the device",
|
"Private: The USB device for the device",
|
||||||
G_USB_TYPE_DEVICE,
|
G_USB_TYPE_DEVICE,
|
||||||
G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
/**
|
/**
|
||||||
* FpDevice::fpi-udev-data-spidev: (skip)
|
* FpDevice::fpi-udev-data-spidev: (skip)
|
||||||
*
|
*
|
||||||
@@ -562,7 +543,7 @@ fp_device_class_init (FpDeviceClass *klass)
|
|||||||
"Udev data: spidev path",
|
"Udev data: spidev path",
|
||||||
"Private: The path to /dev/spidevN.M",
|
"Private: The path to /dev/spidevN.M",
|
||||||
NULL,
|
NULL,
|
||||||
G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
/**
|
/**
|
||||||
* FpDevice::fpi-udev-data-hidraw: (skip)
|
* FpDevice::fpi-udev-data-hidraw: (skip)
|
||||||
*
|
*
|
||||||
@@ -575,7 +556,7 @@ fp_device_class_init (FpDeviceClass *klass)
|
|||||||
"Udev data: hidraw path",
|
"Udev data: hidraw path",
|
||||||
"Private: The path to /dev/hidrawN",
|
"Private: The path to /dev/hidrawN",
|
||||||
NULL,
|
NULL,
|
||||||
G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FpDevice::fpi-driver-data: (skip)
|
* FpDevice::fpi-driver-data: (skip)
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
#include "fp-image.h"
|
#include "fp-image.h"
|
||||||
#include "fpi-print.h"
|
#include "fpi-print.h"
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FpiDeviceUdevSubtype:
|
* FpiDeviceUdevSubtype:
|
||||||
* @FPI_DEVICE_UDEV_SUBTYPE_SPIDEV: The device requires an spidev node
|
* @FPI_DEVICE_UDEV_SUBTYPE_SPIDEV: The device requires an spidev node
|
||||||
|
|||||||
@@ -58,9 +58,7 @@ static const FpIdEntry whitelist_id_table[] = {
|
|||||||
{ .vid = 0x0a5c, .pid = 0x5841 },
|
{ .vid = 0x0a5c, .pid = 0x5841 },
|
||||||
{ .vid = 0x0a5c, .pid = 0x5842 },
|
{ .vid = 0x0a5c, .pid = 0x5842 },
|
||||||
{ .vid = 0x0a5c, .pid = 0x5843 },
|
{ .vid = 0x0a5c, .pid = 0x5843 },
|
||||||
{ .vid = 0x0a5c, .pid = 0x5844 },
|
|
||||||
{ .vid = 0x0a5c, .pid = 0x5845 },
|
{ .vid = 0x0a5c, .pid = 0x5845 },
|
||||||
{ .vid = 0x0bda, .pid = 0x5812 },
|
|
||||||
{ .vid = 0x10a5, .pid = 0x0007 },
|
{ .vid = 0x10a5, .pid = 0x0007 },
|
||||||
{ .vid = 0x1188, .pid = 0x9545 },
|
{ .vid = 0x1188, .pid = 0x9545 },
|
||||||
{ .vid = 0x138a, .pid = 0x0007 },
|
{ .vid = 0x138a, .pid = 0x0007 },
|
||||||
@@ -168,10 +166,7 @@ print_driver (const FpDeviceClass *cls)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (num_printed > 0)
|
if (num_printed > 0)
|
||||||
{
|
g_print (" ID_AUTOSUSPEND=1\n");
|
||||||
g_print (" ID_AUTOSUSPEND=1\n");
|
|
||||||
g_print (" ID_PERSIST=0\n");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
project('libfprint', [ 'c', 'cpp' ],
|
project('libfprint', [ 'c', 'cpp' ],
|
||||||
version: '1.94.2',
|
version: '1.94.0',
|
||||||
license: 'LGPLv2.1+',
|
license: 'LGPLv2.1+',
|
||||||
default_options: [
|
default_options: [
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
|
|||||||
@@ -3,42 +3,72 @@
|
|||||||
`umockdev` tests use fingerprint devices mocked by [`umockdev`
|
`umockdev` tests use fingerprint devices mocked by [`umockdev`
|
||||||
toolchain][umockdev].
|
toolchain][umockdev].
|
||||||
|
|
||||||
This document describes how to create test cases (for USB devices). Many of
|
This document describes how to create a 'capture' test: a test that
|
||||||
these tests are tests for image devices, where a single image is captured
|
captures a picture of a fingerprint from the device (mocked by
|
||||||
and stored.
|
`umockdev`) and compares it with the standard one.
|
||||||
|
|
||||||
Other kinds of `umockdev` tests can be created in a similar manner. For
|
Other kinds of `umockdev` tests can be created in a similar manner. For
|
||||||
match-on-chip devices you would instead create a test specific `custom.py`
|
match-on-chip devices you would instead create a test specific `custom.py`
|
||||||
script, capture it and store the capture to `custom.pcapng`.
|
script, capture it and store the capture to `custom.pcapng`.
|
||||||
|
|
||||||
'capture' and 'custom' Test Creation
|
'Capture' Test Creation
|
||||||
------------------------------------
|
-----------------------
|
||||||
|
A new 'capture' test is created by means of `capture.py` script:
|
||||||
|
|
||||||
For image devices the `capture.py` script will be used to capture one reference
|
1. Create (if needed) a directory for the driver under `tests`
|
||||||
image. If the driver is a non-image driver, then a `custom.py` script should be
|
directory:
|
||||||
created in advance, which will be run instead.
|
|
||||||
|
|
||||||
1. Make sure that libfprint is built with support for the device driver
|
`mkdir DRIVER`
|
||||||
that you want to create a test case for.
|
|
||||||
|
|
||||||
2. From the build directory, run tests/create-driver-test.py as root. Note
|
Note that the name must be the exact name of the libfprint driver,
|
||||||
that if you're capturing data for a driver which already has a test case
|
or the exact name of the driver followed by a `-` and a unique identifier
|
||||||
but the hardware is slightly different, you might want to pass a variant
|
of your choosing.
|
||||||
name as a command-line options, for example:
|
|
||||||
```sh
|
|
||||||
$ sudo tests/create-driver-test.py driver [variant]
|
|
||||||
```
|
|
||||||
|
|
||||||
3. If the capture is not successful, run the tool again to start another capture.
|
2. Prepare your execution environment.
|
||||||
|
|
||||||
4. Add driver test name to `drivers_tests` in the `meson.build`, as instructed,
|
In the next step a working and up to date libfprint is needed. This can be
|
||||||
and change the ownership of the just-created test directory in the source.
|
achieved by installing it into your system. Alternatively, you can set
|
||||||
|
the following environment variables to run a local build:
|
||||||
|
- `export LD_PRELOAD=<meson-build-dir>/libfprint/libfprint-2.so`
|
||||||
|
- `export GI_TYPELIB_PATH=<meson-build-dir>/libfprint`
|
||||||
|
|
||||||
5. Check whether `meson test` passes with this new test.
|
Also, sometimes the driver must be adapted to the emulated environment
|
||||||
|
(mainly if it uses random numbers, see `synaptics.c` for an example).
|
||||||
|
Set the following environment variable to enable this adaptation:
|
||||||
|
- `export FP_DEVICE_EMULATION=1`
|
||||||
|
|
||||||
**Note.** To avoid submitting a real fingerprint when creating a 'capture' test,
|
Run the next steps in the same terminal.
|
||||||
the side of finger, arm, or anything else producing an image with the device
|
|
||||||
can be used.
|
3. Find the real USB fingerprint device with `lsusb`, e.g.:
|
||||||
|
|
||||||
|
`Bus 001 Device 005: ID 138a:0090 Validity Sensors, Inc. VFS7500 Touch Fingerprint Sensor`
|
||||||
|
|
||||||
|
The following USB device is used in the example above:
|
||||||
|
`/dev/bus/usb/001/005`.
|
||||||
|
|
||||||
|
For the following commands, it is assumed that the user that's
|
||||||
|
running the commands has full access to the device node, whether
|
||||||
|
by running the commands as `root`, or changing the permissions for
|
||||||
|
that device node.
|
||||||
|
|
||||||
|
4. Record information about this device:
|
||||||
|
|
||||||
|
`umockdev-record /dev/bus/usb/001/005 > DRIVER/device`
|
||||||
|
|
||||||
|
5. Record interaction of `capture.py` (or other test) with the device. To do
|
||||||
|
so, start wireshark and record `usbmonX` (where X is the bus number). Then
|
||||||
|
run the test script:
|
||||||
|
|
||||||
|
`python3 ./capture.py DRIVER/capture.png`
|
||||||
|
|
||||||
|
Save the wireshark recording as `capture.pcapng`. The command will create
|
||||||
|
`capture.png`.
|
||||||
|
|
||||||
|
6. Add driver's name to `drivers_tests` in the `meson.build`.
|
||||||
|
7. Check whether everything works as expected.
|
||||||
|
|
||||||
|
**Note.** To avoid submitting a real fingerprint, the side of finger,
|
||||||
|
arm, or anything else producing an image with the device can be used.
|
||||||
|
|
||||||
|
|
||||||
Possible Issues
|
Possible Issues
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 5.1 KiB |
@@ -1,223 +0,0 @@
|
|||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10
|
|
||||||
N: bus/usb/001/044=12011001FFFFFF08FF08802523060001000109022000010100A0320904000002FFFFFF000705810220000007050202080000
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/044
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=8ff/2580/623
|
|
||||||
E: TYPE=255/255/255
|
|
||||||
E: BUSNUM=001
|
|
||||||
E: DEVNUM=044
|
|
||||||
E: MAJOR=189
|
|
||||||
E: MINOR=43
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
E: ID_VENDOR=08ff
|
|
||||||
E: ID_VENDOR_ENC=08ff
|
|
||||||
E: ID_VENDOR_ID=08ff
|
|
||||||
E: ID_MODEL=Fingerprint_Sensor
|
|
||||||
E: ID_MODEL_ENC=Fingerprint\x20Sensor
|
|
||||||
E: ID_MODEL_ID=2580
|
|
||||||
E: ID_REVISION=0623
|
|
||||||
E: ID_SERIAL=08ff_Fingerprint_Sensor
|
|
||||||
E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:ffffff:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=AuthenTec, Inc.
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=AES2501 Fingerprint Sensor
|
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:10
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_10
|
|
||||||
E: LIBFPRINT_DRIVER=AuthenTec AES2501
|
|
||||||
A: authorized=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=ff\n
|
|
||||||
A: bDeviceProtocol=ff\n
|
|
||||||
A: bDeviceSubClass=ff\n
|
|
||||||
A: bMaxPacketSize0=8\n
|
|
||||||
A: bMaxPower=100mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0623\n
|
|
||||||
A: bmAttributes=a0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12011001FFFFFF08FF08802523060001000109022000010100A0320904000002FFFFFF000705810220000007050202080000
|
|
||||||
A: dev=189:43\n
|
|
||||||
A: devnum=44\n
|
|
||||||
A: devpath=10\n
|
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d/device:57
|
|
||||||
A: idProduct=2580\n
|
|
||||||
A: idVendor=08ff\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: maxchild=0\n
|
|
||||||
L: port=../1-0:1.0/usb1-port10
|
|
||||||
A: power/active_duration=10573\n
|
|
||||||
A: power/autosuspend=2\n
|
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
|
||||||
A: power/connected_duration=23441\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/persist=0\n
|
|
||||||
A: power/runtime_active_time=10430\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=12771\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
A: power/wakeup_active_count=\n
|
|
||||||
A: power/wakeup_count=\n
|
|
||||||
A: power/wakeup_expire_count=\n
|
|
||||||
A: power/wakeup_last_time_ms=\n
|
|
||||||
A: power/wakeup_max_time_ms=\n
|
|
||||||
A: power/wakeup_total_time_ms=\n
|
|
||||||
A: product=Fingerprint Sensor\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=removable\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: speed=12\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=13241\n
|
|
||||||
A: version= 1.10\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
|
||||||
N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=1d6b/2/513
|
|
||||||
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.12-200.fc34.x86_64_xhci-hcd
|
|
||||||
E: ID_VENDOR_ENC=Linux\x205.13.12-200.fc34.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.12-200.fc34.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:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Linux Foundation
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=2.0 root hub
|
|
||||||
E: ID_PATH=pci-0000:00:14.0
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: authorized_default=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=09\n
|
|
||||||
A: bDeviceProtocol=01\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=0mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0513\n
|
|
||||||
A: bmAttributes=e0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
|
||||||
A: devpath=0\n
|
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d
|
|
||||||
A: idProduct=0002\n
|
|
||||||
A: idVendor=1d6b\n
|
|
||||||
A: interface_authorized_default=1\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Linux 5.13.12-200.fc34.x86_64 xhci-hcd\n
|
|
||||||
A: maxchild=16\n
|
|
||||||
A: power/active_duration=767293591\n
|
|
||||||
A: power/autosuspend=0\n
|
|
||||||
A: power/autosuspend_delay_ms=0\n
|
|
||||||
A: power/connected_duration=767293591\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/runtime_active_time=767293588\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
A: power/wakeup_active_count=\n
|
|
||||||
A: power/wakeup_count=\n
|
|
||||||
A: power/wakeup_expire_count=\n
|
|
||||||
A: power/wakeup_last_time_ms=\n
|
|
||||||
A: power/wakeup_max_time_ms=\n
|
|
||||||
A: power/wakeup_total_time_ms=\n
|
|
||||||
A: product=xHCI Host Controller\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=unknown\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial=0000:00:14.0\n
|
|
||||||
A: speed=480\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=1086\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:A36D
|
|
||||||
E: PCI_SUBSYS_ID=17AA:312A
|
|
||||||
E: PCI_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
|
|
||||||
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|
||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Cannon Lake PCH USB 3.1 xHCI Host Controller
|
|
||||||
A: ari_enabled=0\n
|
|
||||||
A: broken_parity_status=0\n
|
|
||||||
A: class=0x0c0330\n
|
|
||||||
H: config=86806DA3060490021030030C00008000040032B1000000000000000000000000000000000000000000000000AA172A31000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000560BBD0700000000316000000000000000000000000000000180C2C1080000000000000000000000059087009802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F400200000100006000000008020000010000000400000090000000001800000005000000000000000300000C0000004000000080000000030000000000000000000000000000000000000000000000B50F110112000000
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
A: device=0xa36d\n
|
|
||||||
A: dma_mask_bits=64\n
|
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
|
||||||
A: driver_override=(null)\n
|
|
||||||
A: enable=1\n
|
|
||||||
L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c
|
|
||||||
A: index=3\n
|
|
||||||
A: irq=125\n
|
|
||||||
A: label=Onboard - Other\n
|
|
||||||
A: local_cpulist=0-5\n
|
|
||||||
A: local_cpus=3f\n
|
|
||||||
A: modalias=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30\n
|
|
||||||
A: msi_bus=1\n
|
|
||||||
A: msi_irqs/125=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 15 20 2112 20\nxHCI ring segments 46 76 4096 76\nbuffer-2048 0 32 2048 16\nbuffer-512 0 32 512 4\nbuffer-128 3 32 128 1\nbuffer-32 0 128 32 1\n
|
|
||||||
A: power/control=on\n
|
|
||||||
A: power/runtime_active_time=767293736\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
A: power/wakeup_abort_count=0\n
|
|
||||||
A: power/wakeup_active=0\n
|
|
||||||
A: power/wakeup_active_count=59\n
|
|
||||||
A: power/wakeup_count=0\n
|
|
||||||
A: power/wakeup_expire_count=59\n
|
|
||||||
A: power/wakeup_last_time_ms=763021754\n
|
|
||||||
A: power/wakeup_max_time_ms=108\n
|
|
||||||
A: power/wakeup_total_time_ms=6149\n
|
|
||||||
A: power_state=D0\n
|
|
||||||
A: resource=0x00000000b1320000 0x00000000b132ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
|
||||||
A: revision=0x10\n
|
|
||||||
A: subsystem_device=0x312a\n
|
|
||||||
A: subsystem_vendor=0x17aa\n
|
|
||||||
A: vendor=0x8086\n
|
|
||||||
|
|
||||||
@@ -1,169 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
BUILDDIR='@BUILDDIR@'
|
|
||||||
SRCDIR='@SRCDIR@'
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import signal
|
|
||||||
library_path = BUILDDIR + '/libfprint/'
|
|
||||||
|
|
||||||
# Relaunch ourselves with a changed environment so
|
|
||||||
# that we're loading the development version of libfprint
|
|
||||||
if 'LD_LIBRARY_PATH' not in os.environ or not library_path in os.environ['LD_LIBRARY_PATH']:
|
|
||||||
os.environ['LD_LIBRARY_PATH'] = library_path
|
|
||||||
os.environ['GI_TYPELIB_PATH'] = f'{BUILDDIR}/libfprint/'
|
|
||||||
os.environ['FP_DEVICE_EMULATION'] = '1'
|
|
||||||
try:
|
|
||||||
os.execv(sys.argv[0], sys.argv)
|
|
||||||
except Exception as e:
|
|
||||||
print('Could not run script with new library path')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
import gi
|
|
||||||
gi.require_version('FPrint', '2.0')
|
|
||||||
from gi.repository import FPrint
|
|
||||||
|
|
||||||
gi.require_version('GUsb', '1.0')
|
|
||||||
from gi.repository import GUsb
|
|
||||||
|
|
||||||
import re
|
|
||||||
import shutil
|
|
||||||
import subprocess
|
|
||||||
import tempfile
|
|
||||||
import time
|
|
||||||
|
|
||||||
def print_usage():
|
|
||||||
print(f'Usage: {sys.argv[0]} driver [test-variant-name]')
|
|
||||||
print('A test variant name is optional, and must be all lower case letters, or dashes, with no spaces')
|
|
||||||
print(f'The captured data will be stored in {SRCDIR}/tests/[driver name]-[test variant name]')
|
|
||||||
print(f'Create custom.py prior to execution for non image device tests.')
|
|
||||||
|
|
||||||
if len(sys.argv) > 3:
|
|
||||||
print_usage()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
driver_name = sys.argv[1]
|
|
||||||
os.environ['FP_DRIVERS_WHITELIST'] = driver_name
|
|
||||||
|
|
||||||
test_variant = None
|
|
||||||
if len(sys.argv) == 3:
|
|
||||||
valid_re = re.compile('[a-z-]*')
|
|
||||||
test_variant = sys.argv[2]
|
|
||||||
if (not valid_re.match(test_variant) or
|
|
||||||
test_variant.startswith('-') or
|
|
||||||
test_variant.endswith('-')):
|
|
||||||
print(f'Invalid variant name {test_variant}\n')
|
|
||||||
print_usage()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# Check that running as root
|
|
||||||
|
|
||||||
if os.geteuid() != 0:
|
|
||||||
print(f'{sys.argv[0]} is expected to be run as root')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# Check that tshark is available
|
|
||||||
|
|
||||||
tshark = shutil.which('tshark')
|
|
||||||
if not tshark:
|
|
||||||
print("The 'tshark' WireShark command-line tool must be installed to capture USB traffic")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# Find the fingerprint reader
|
|
||||||
ctx = FPrint.Context()
|
|
||||||
ctx.enumerate()
|
|
||||||
devices = ctx.get_devices()
|
|
||||||
if len(devices) == 0:
|
|
||||||
print('Could not find a supported fingerprint reader')
|
|
||||||
sys.exit(1)
|
|
||||||
elif len(devices) > 1:
|
|
||||||
print('Capture requires a single supported fingerprint reader to be plugged in')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
test_name = driver_name
|
|
||||||
if test_variant:
|
|
||||||
test_name = driver_name + '-' + test_variant
|
|
||||||
usb_device = devices[0].get_property('fpi-usb-device')
|
|
||||||
bus_num = usb_device.get_bus()
|
|
||||||
device_num = usb_device.get_address()
|
|
||||||
|
|
||||||
print(f'### Detected USB device /dev/bus/usb/{bus_num:03d}/{device_num:03d}')
|
|
||||||
|
|
||||||
# Make directory
|
|
||||||
|
|
||||||
test_dir = SRCDIR + '/tests/' + test_name
|
|
||||||
os.makedirs(test_dir, mode=0o775, exist_ok=True)
|
|
||||||
|
|
||||||
# Capture device info
|
|
||||||
|
|
||||||
args = ['umockdev-record', f'/dev/bus/usb/{bus_num:03d}/{device_num:03d}']
|
|
||||||
device_out = open(test_dir + '/device', 'w')
|
|
||||||
process = subprocess.Popen(args, stdout=device_out)
|
|
||||||
process.wait()
|
|
||||||
|
|
||||||
# Run capture
|
|
||||||
# https://osqa-ask.wireshark.org/questions/53919/how-can-i-precisely-specify-a-usb-device-to-capture-with-tshark/
|
|
||||||
|
|
||||||
print(f'### Starting USB capture on usbmon{bus_num}')
|
|
||||||
capture_pid = os.fork()
|
|
||||||
assert(capture_pid >= 0)
|
|
||||||
|
|
||||||
unfiltered_cap_path = os.path.join(tempfile.gettempdir(), 'capture-unfiltered.pcapng')
|
|
||||||
if capture_pid == 0:
|
|
||||||
os.setpgrp()
|
|
||||||
args = ['tshark', '-q', '-i', f'usbmon{bus_num}', '-w', unfiltered_cap_path]
|
|
||||||
os.execv(tshark, args)
|
|
||||||
|
|
||||||
# Wait 1 sec to settle (we can assume setpgrp happened)
|
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
print('### Capturing fingerprint, please swipe or press your finger on the reader')
|
|
||||||
cmd = ['python3', SRCDIR + '/tests/capture.py', test_dir + '/capture.png']
|
|
||||||
capture_file = 'capture.pcapng' # capture for "capture" test
|
|
||||||
if os.path.exists(os.path.join(test_dir, "custom.py")):
|
|
||||||
cmd = ['python3', os.path.join(test_dir, "custom.py")]
|
|
||||||
capture_file = "custom.pcapng"
|
|
||||||
|
|
||||||
with subprocess.Popen(cmd) as capture_process:
|
|
||||||
capture_process.wait()
|
|
||||||
if capture_process.returncode != 0:
|
|
||||||
print('Failed to capture fingerprint')
|
|
||||||
os.killpg(capture_pid, signal.SIGKILL)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
def t_waitpid(pid, timeout):
|
|
||||||
timeout = time.time() + timeout
|
|
||||||
r = os.waitpid(pid, os.WNOHANG)
|
|
||||||
while timeout > time.time() and r[0] == 0:
|
|
||||||
time.sleep(0.1)
|
|
||||||
r = os.waitpid(pid, os.WNOHANG)
|
|
||||||
|
|
||||||
return r
|
|
||||||
|
|
||||||
os.kill(capture_pid, signal.SIGTERM)
|
|
||||||
try:
|
|
||||||
r = t_waitpid(capture_pid, 2)
|
|
||||||
# Kill if nothing died
|
|
||||||
if r[0] == 0:
|
|
||||||
os.kill(capture_pid, signal.SIGKILL)
|
|
||||||
except ChildProcessError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
while True:
|
|
||||||
r = t_waitpid(-capture_pid, timeout=2)
|
|
||||||
# Kill the process group, if nothing died (and there are children)
|
|
||||||
if r[0] == 0:
|
|
||||||
os.killpg(capture_pid, signal.SIGKILL)
|
|
||||||
except ChildProcessError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Filter the capture
|
|
||||||
print(f'\n### Saving USB capture as test case {test_name}')
|
|
||||||
args = ['tshark', '-r', unfiltered_cap_path, '-Y', f'usb.bus_id == {bus_num} and usb.device_address == {device_num}',
|
|
||||||
'-w', os.path.join(test_dir, capture_file)]
|
|
||||||
with subprocess.Popen(args, stderr=subprocess.DEVNULL) as filter_process:
|
|
||||||
filter_process.wait()
|
|
||||||
|
|
||||||
print(f"\nDone! Don't forget to add {test_name} to tests/meson.build")
|
|
||||||
@@ -25,63 +25,63 @@ E: ID_VENDOR_FROM_DATABASE=LighTuning Technology Inc.
|
|||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:9
|
E: ID_PATH=pci-0000:00:14.0-usb-0:9
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_9
|
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_9
|
||||||
E: LIBFPRINT_DRIVER=Hardcoded whitelist
|
E: LIBFPRINT_DRIVER=Hardcoded whitelist
|
||||||
A: authorized=1\n
|
A: authorized=1
|
||||||
A: avoid_reset_quirk=0\n
|
A: avoid_reset_quirk=0
|
||||||
A: bConfigurationValue=1\n
|
A: bConfigurationValue=1
|
||||||
A: bDeviceClass=00\n
|
A: bDeviceClass=00
|
||||||
A: bDeviceProtocol=00\n
|
A: bDeviceProtocol=00
|
||||||
A: bDeviceSubClass=00\n
|
A: bDeviceSubClass=00
|
||||||
A: bMaxPacketSize0=8\n
|
A: bMaxPacketSize0=8
|
||||||
A: bMaxPower=100mA\n
|
A: bMaxPower=100mA
|
||||||
A: bNumConfigurations=1\n
|
A: bNumConfigurations=1
|
||||||
A: bNumInterfaces= 1\n
|
A: bNumInterfaces= 1
|
||||||
A: bcdDevice=1041\n
|
A: bcdDevice=1041
|
||||||
A: bmAttributes=a0\n
|
A: bmAttributes=a0
|
||||||
A: busnum=1\n
|
A: busnum=1
|
||||||
A: configuration=\n
|
A: configuration=
|
||||||
H: descriptors=12011001000000087A1C700541100102030109022000010100A0320904000002FF0000000705830240000007050402400003
|
H: descriptors=12011001000000087A1C700541100102030109022000010100A0320904000002FF0000000705830240000007050402400003
|
||||||
A: dev=189:4\n
|
A: dev=189:4
|
||||||
A: devnum=5\n
|
A: devnum=5
|
||||||
A: devpath=9\n
|
A: devpath=9
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
L: driver=../../../../../bus/usb/drivers/usb
|
||||||
A: idProduct=0570\n
|
A: idProduct=0570
|
||||||
A: idVendor=1c7a\n
|
A: idVendor=1c7a
|
||||||
A: ltm_capable=no\n
|
A: ltm_capable=no
|
||||||
A: manufacturer=EgisTec\n
|
A: manufacturer=EgisTec
|
||||||
A: maxchild=0\n
|
A: maxchild=0
|
||||||
L: port=../1-0:1.0/usb1-port9
|
L: port=../1-0:1.0/usb1-port9
|
||||||
A: power/active_duration=362352\n
|
A: power/active_duration=362352
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=2\n
|
A: power/autosuspend=2
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
A: power/autosuspend_delay_ms=2000
|
||||||
A: power/connected_duration=5526124\n
|
A: power/connected_duration=5526124
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/level=auto\n
|
A: power/level=auto
|
||||||
A: power/persist=1\n
|
A: power/persist=1
|
||||||
A: power/runtime_active_kids=0\n
|
A: power/runtime_active_kids=0
|
||||||
A: power/runtime_active_time=365097\n
|
A: power/runtime_active_time=365097
|
||||||
A: power/runtime_enabled=enabled\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=5160752\n
|
A: power/runtime_suspended_time=5160752
|
||||||
A: power/runtime_usage=0\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup=disabled\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_active=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_expire_count=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: product=EgisTec Touch Fingerprint Sensor\n
|
A: product=EgisTec Touch Fingerprint Sensor
|
||||||
A: quirks=0x0\n
|
A: quirks=0x0
|
||||||
A: removable=fixed\n
|
A: removable=fixed
|
||||||
A: rx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: serial=W700B41B\n
|
A: serial=W700B41B
|
||||||
A: speed=12\n
|
A: speed=12
|
||||||
A: tx_lanes=1\n
|
A: tx_lanes=1
|
||||||
A: urbnum=8040\n
|
A: urbnum=8040
|
||||||
A: version= 1.10\n
|
A: version= 1.10
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
P: /devices/pci0000:00/0000:00:14.0/usb1
|
||||||
N: bus/usb/001/001=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
N: bus/usb/001/001=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
||||||
@@ -112,63 +112,63 @@ E: ID_PATH=pci-0000:00:14.0
|
|||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
E: ID_PATH_TAG=pci-0000_00_14_0
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
||||||
E: TAGS=:seat:
|
E: TAGS=:seat:
|
||||||
A: authorized=1\n
|
A: authorized=1
|
||||||
A: authorized_default=1\n
|
A: authorized_default=1
|
||||||
A: avoid_reset_quirk=0\n
|
A: avoid_reset_quirk=0
|
||||||
A: bConfigurationValue=1\n
|
A: bConfigurationValue=1
|
||||||
A: bDeviceClass=09\n
|
A: bDeviceClass=09
|
||||||
A: bDeviceProtocol=01\n
|
A: bDeviceProtocol=01
|
||||||
A: bDeviceSubClass=00\n
|
A: bDeviceSubClass=00
|
||||||
A: bMaxPacketSize0=64\n
|
A: bMaxPacketSize0=64
|
||||||
A: bMaxPower=0mA\n
|
A: bMaxPower=0mA
|
||||||
A: bNumConfigurations=1\n
|
A: bNumConfigurations=1
|
||||||
A: bNumInterfaces= 1\n
|
A: bNumInterfaces= 1
|
||||||
A: bcdDevice=0508\n
|
A: bcdDevice=0508
|
||||||
A: bmAttributes=e0\n
|
A: bmAttributes=e0
|
||||||
A: busnum=1\n
|
A: busnum=1
|
||||||
A: configuration=\n
|
A: configuration=
|
||||||
H: descriptors=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
H: descriptors=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
||||||
A: dev=189:0\n
|
A: dev=189:0
|
||||||
A: devnum=1\n
|
A: devnum=1
|
||||||
A: devpath=0\n
|
A: devpath=0
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
L: driver=../../../../bus/usb/drivers/usb
|
||||||
A: idProduct=0002\n
|
A: idProduct=0002
|
||||||
A: idVendor=1d6b\n
|
A: idVendor=1d6b
|
||||||
A: interface_authorized_default=1\n
|
A: interface_authorized_default=1
|
||||||
A: ltm_capable=no\n
|
A: ltm_capable=no
|
||||||
A: manufacturer=Linux 5.8.0-59-generic xhci-hcd\n
|
A: manufacturer=Linux 5.8.0-59-generic xhci-hcd
|
||||||
A: maxchild=12\n
|
A: maxchild=12
|
||||||
A: power/active_duration=378024\n
|
A: power/active_duration=378024
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=0\n
|
A: power/autosuspend=0
|
||||||
A: power/autosuspend_delay_ms=0\n
|
A: power/autosuspend_delay_ms=0
|
||||||
A: power/connected_duration=5527220\n
|
A: power/connected_duration=5527220
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/level=auto\n
|
A: power/level=auto
|
||||||
A: power/runtime_active_kids=1\n
|
A: power/runtime_active_kids=1
|
||||||
A: power/runtime_active_time=377962\n
|
A: power/runtime_active_time=377962
|
||||||
A: power/runtime_enabled=enabled\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=5149253\n
|
A: power/runtime_suspended_time=5149253
|
||||||
A: power/runtime_usage=0\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup=disabled\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_active=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_expire_count=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: product=xHCI Host Controller\n
|
A: product=xHCI Host Controller
|
||||||
A: quirks=0x0\n
|
A: quirks=0x0
|
||||||
A: removable=unknown\n
|
A: removable=unknown
|
||||||
A: rx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: serial=0000:00:14.0\n
|
A: serial=0000:00:14.0
|
||||||
A: speed=480\n
|
A: speed=480
|
||||||
A: tx_lanes=1\n
|
A: tx_lanes=1
|
||||||
A: urbnum=956\n
|
A: urbnum=956
|
||||||
A: version= 2.00\n
|
A: version= 2.00
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0
|
P: /devices/pci0000:00/0000:00:14.0
|
||||||
E: DRIVER=xhci_hcd
|
E: DRIVER=xhci_hcd
|
||||||
@@ -183,46 +183,46 @@ E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
||||||
E: ID_MODEL_FROM_DATABASE=Sunrise Point-LP USB 3.0 xHCI Controller
|
E: ID_MODEL_FROM_DATABASE=Sunrise Point-LP USB 3.0 xHCI Controller
|
||||||
A: ari_enabled=0\n
|
A: ari_enabled=0
|
||||||
A: broken_parity_status=0\n
|
A: broken_parity_status=0
|
||||||
A: class=0x0c0330\n
|
A: class=0x0c0330
|
||||||
H: config=86802F9D060490022130030C00008000040021A400000000000000000000000000000000000000000000000025108E11000000007000000000000000FF010000
|
H: config=86802F9D060490022130030C00008000040021A400000000000000000000000000000000000000000000000025108E11000000007000000000000000FF010000
|
||||||
A: consistent_dma_mask_bits=64\n
|
A: consistent_dma_mask_bits=64
|
||||||
A: d3cold_allowed=1\n
|
A: d3cold_allowed=1
|
||||||
A: dbc=disabled\n
|
A: dbc=disabled
|
||||||
A: device=0x9d2f\n
|
A: device=0x9d2f
|
||||||
A: dma_mask_bits=64\n
|
A: dma_mask_bits=64
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
L: driver=../../../bus/pci/drivers/xhci_hcd
|
||||||
A: driver_override=(null)\n
|
A: driver_override=(null)
|
||||||
A: enable=1\n
|
A: enable=1
|
||||||
A: irq=127\n
|
A: irq=127
|
||||||
A: local_cpulist=0-7\n
|
A: local_cpulist=0-7
|
||||||
A: local_cpus=ff\n
|
A: local_cpus=ff
|
||||||
A: modalias=pci:v00008086d00009D2Fsv00001025sd0000118Ebc0Csc03i30\n
|
A: modalias=pci:v00008086d00009D2Fsv00001025sd0000118Ebc0Csc03i30
|
||||||
A: msi_bus=1\n
|
A: msi_bus=1
|
||||||
A: msi_irqs/127=msi\n
|
A: msi_irqs/127=msi
|
||||||
A: numa_node=-1\n
|
A: numa_node=-1
|
||||||
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 9 10 2112 10\nxHCI ring segments 32 36 4096 36\nbuffer-2048 1 2 2048 1\nbuffer-512 0 0 512 0\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0\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 9 10 2112 10\nxHCI ring segments 32 36 4096 36\nbuffer-2048 1 2 2048 1\nbuffer-512 0 0 512 0\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/control=on\n
|
A: power/control=on
|
||||||
A: power/runtime_active_kids=1\n
|
A: power/runtime_active_kids=1
|
||||||
A: power/runtime_active_time=5524703\n
|
A: power/runtime_active_time=5524703
|
||||||
A: power/runtime_enabled=forbidden\n
|
A: power/runtime_enabled=forbidden
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=3373\n
|
A: power/runtime_suspended_time=3373
|
||||||
A: power/runtime_usage=1\n
|
A: power/runtime_usage=1
|
||||||
A: power/wakeup=enabled\n
|
A: power/wakeup=enabled
|
||||||
A: power/wakeup_abort_count=0\n
|
A: power/wakeup_abort_count=0
|
||||||
A: power/wakeup_active=0\n
|
A: power/wakeup_active=0
|
||||||
A: power/wakeup_active_count=0\n
|
A: power/wakeup_active_count=0
|
||||||
A: power/wakeup_count=0\n
|
A: power/wakeup_count=0
|
||||||
A: power/wakeup_expire_count=0\n
|
A: power/wakeup_expire_count=0
|
||||||
A: power/wakeup_last_time_ms=0\n
|
A: power/wakeup_last_time_ms=0
|
||||||
A: power/wakeup_max_time_ms=0\n
|
A: power/wakeup_max_time_ms=0
|
||||||
A: power/wakeup_total_time_ms=0\n
|
A: power/wakeup_total_time_ms=0
|
||||||
A: resource=0x00000000a4210000 0x00000000a421ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
A: resource=0x00000000a4210000 0x00000000a421ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||||
A: revision=0x21\n
|
A: revision=0x21
|
||||||
A: subsystem_device=0x118e\n
|
A: subsystem_device=0x118e
|
||||||
A: subsystem_vendor=0x1025\n
|
A: subsystem_vendor=0x1025
|
||||||
A: vendor=0x8086\n
|
A: vendor=0x8086
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 48 KiB |
@@ -1,217 +0,0 @@
|
|||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10
|
|
||||||
N: bus/usb/001/045=1201000200000008F304260C40010102000109023E0001010080320904000005FF0000000921100100012215000705810240000107050102400001070582024000010705830240000107050302400001
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/045
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=4f3/c26/140
|
|
||||||
E: TYPE=0/0/0
|
|
||||||
E: BUSNUM=001
|
|
||||||
E: DEVNUM=045
|
|
||||||
E: MAJOR=189
|
|
||||||
E: MINOR=44
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
E: ID_VENDOR=ELAN
|
|
||||||
E: ID_VENDOR_ENC=ELAN
|
|
||||||
E: ID_VENDOR_ID=04f3
|
|
||||||
E: ID_MODEL=ELAN:Fingerprint
|
|
||||||
E: ID_MODEL_ENC=ELAN:Fingerprint
|
|
||||||
E: ID_MODEL_ID=0c26
|
|
||||||
E: ID_REVISION=0140
|
|
||||||
E: ID_SERIAL=ELAN_ELAN:Fingerprint
|
|
||||||
E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:ff0000:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:10
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_10
|
|
||||||
E: LIBFPRINT_DRIVER=ElanTech Fingerprint Sensor
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_10
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=00\n
|
|
||||||
A: bDeviceProtocol=00\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=8\n
|
|
||||||
A: bMaxPower=100mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0140\n
|
|
||||||
A: bmAttributes=80\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=1201000200000008F304260C40010102000109023E0001010080320904000005FF0000000921100100012215000705810240000107050102400001070582024000010705830240000107050302400001
|
|
||||||
A: dev=189:44\n
|
|
||||||
A: devnum=45\n
|
|
||||||
A: devpath=10\n
|
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d/device:57
|
|
||||||
A: idProduct=0c26\n
|
|
||||||
A: idVendor=04f3\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=ELAN\n
|
|
||||||
A: maxchild=0\n
|
|
||||||
L: port=../1-0:1.0/usb1-port10
|
|
||||||
A: power/active_duration=21526\n
|
|
||||||
A: power/autosuspend=2\n
|
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
|
||||||
A: power/connected_duration=96442\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/persist=0\n
|
|
||||||
A: power/runtime_active_time=21572\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=74628\n
|
|
||||||
A: product=ELAN:Fingerprint\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=removable\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: speed=12\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=103\n
|
|
||||||
A: version= 2.00\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
|
||||||
N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=1d6b/2/513
|
|
||||||
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.12-200.fc34.x86_64_xhci-hcd
|
|
||||||
E: ID_VENDOR_ENC=Linux\x205.13.12-200.fc34.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.12-200.fc34.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:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Linux Foundation
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=2.0 root hub
|
|
||||||
E: ID_PATH=pci-0000:00:14.0
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: authorized_default=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=09\n
|
|
||||||
A: bDeviceProtocol=01\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=0mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0513\n
|
|
||||||
A: bmAttributes=e0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
|
||||||
A: devpath=0\n
|
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d
|
|
||||||
A: idProduct=0002\n
|
|
||||||
A: idVendor=1d6b\n
|
|
||||||
A: interface_authorized_default=1\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Linux 5.13.12-200.fc34.x86_64 xhci-hcd\n
|
|
||||||
A: maxchild=16\n
|
|
||||||
A: power/active_duration=767973436\n
|
|
||||||
A: power/autosuspend=0\n
|
|
||||||
A: power/autosuspend_delay_ms=0\n
|
|
||||||
A: power/connected_duration=767973436\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/runtime_active_time=767973433\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
A: power/wakeup_active_count=\n
|
|
||||||
A: power/wakeup_count=\n
|
|
||||||
A: power/wakeup_expire_count=\n
|
|
||||||
A: power/wakeup_last_time_ms=\n
|
|
||||||
A: power/wakeup_max_time_ms=\n
|
|
||||||
A: power/wakeup_total_time_ms=\n
|
|
||||||
A: product=xHCI Host Controller\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=unknown\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial=0000:00:14.0\n
|
|
||||||
A: speed=480\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=1174\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:A36D
|
|
||||||
E: PCI_SUBSYS_ID=17AA:312A
|
|
||||||
E: PCI_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
|
|
||||||
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|
||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Cannon Lake PCH USB 3.1 xHCI Host Controller
|
|
||||||
A: ari_enabled=0\n
|
|
||||||
A: broken_parity_status=0\n
|
|
||||||
A: class=0x0c0330\n
|
|
||||||
H: config=86806DA3060490021030030C00008000040032B1000000000000000000000000000000000000000000000000AA172A31000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000420DD90700000000316000000000000000000000000000000180C2C1080000000000000000000000059087009802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F400200000100006000000008020000010000000400000090000000001800000005000000000000000300000C0000004000000080000000030000000000000000000000000000000000000000000000B50F110112000000
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
A: device=0xa36d\n
|
|
||||||
A: dma_mask_bits=64\n
|
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
|
||||||
A: driver_override=(null)\n
|
|
||||||
A: enable=1\n
|
|
||||||
L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c
|
|
||||||
A: index=3\n
|
|
||||||
A: irq=125\n
|
|
||||||
A: label=Onboard - Other\n
|
|
||||||
A: local_cpulist=0-5\n
|
|
||||||
A: local_cpus=3f\n
|
|
||||||
A: modalias=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30\n
|
|
||||||
A: msi_bus=1\n
|
|
||||||
A: msi_irqs/125=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 15 20 2112 20\nxHCI ring segments 52 76 4096 76\nbuffer-2048 0 32 2048 16\nbuffer-512 0 32 512 4\nbuffer-128 3 32 128 1\nbuffer-32 0 128 32 1\n
|
|
||||||
A: power/control=on\n
|
|
||||||
A: power/runtime_active_time=767973582\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
A: power/wakeup_abort_count=0\n
|
|
||||||
A: power/wakeup_active=0\n
|
|
||||||
A: power/wakeup_active_count=59\n
|
|
||||||
A: power/wakeup_count=0\n
|
|
||||||
A: power/wakeup_expire_count=59\n
|
|
||||||
A: power/wakeup_last_time_ms=763021754\n
|
|
||||||
A: power/wakeup_max_time_ms=108\n
|
|
||||||
A: power/wakeup_total_time_ms=6149\n
|
|
||||||
A: power_state=D0\n
|
|
||||||
A: resource=0x00000000b1320000 0x00000000b132ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
|
||||||
A: revision=0x10\n
|
|
||||||
A: subsystem_device=0x312a\n
|
|
||||||
A: subsystem_vendor=0x17aa\n
|
|
||||||
A: vendor=0x8086\n
|
|
||||||
|
|
||||||
@@ -23,62 +23,62 @@ E: ID_USB_INTERFACES=:ff0000:
|
|||||||
E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
|
E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:1
|
E: ID_PATH=pci-0000:00:14.0-usb-0:1
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1
|
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1
|
||||||
A: authorized=1\n
|
A: authorized=1
|
||||||
A: avoid_reset_quirk=0\n
|
A: avoid_reset_quirk=0
|
||||||
A: bConfigurationValue=1\n
|
A: bConfigurationValue=1
|
||||||
A: bDeviceClass=00\n
|
A: bDeviceClass=00
|
||||||
A: bDeviceProtocol=00\n
|
A: bDeviceProtocol=00
|
||||||
A: bDeviceSubClass=00\n
|
A: bDeviceSubClass=00
|
||||||
A: bMaxPacketSize0=64\n
|
A: bMaxPacketSize0=64
|
||||||
A: bMaxPower=100mA\n
|
A: bMaxPower=100mA
|
||||||
A: bNumConfigurations=1\n
|
A: bNumConfigurations=1
|
||||||
A: bNumInterfaces= 1\n
|
A: bNumInterfaces= 1
|
||||||
A: bcdDevice=0305\n
|
A: bcdDevice=0305
|
||||||
A: bmAttributes=a0\n
|
A: bmAttributes=a0
|
||||||
A: busnum=1\n
|
A: busnum=1
|
||||||
A: configuration=add909c9-e67e-4126-a6f7-1e31179e27d9\n
|
A: configuration=add909c9-e67e-4126-a6f7-1e31179e27d9
|
||||||
H: descriptors=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001
|
H: descriptors=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001
|
||||||
A: dev=189:9\n
|
A: dev=189:9
|
||||||
A: devnum=10\n
|
A: devnum=10
|
||||||
A: devpath=1\n
|
A: devpath=1
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
L: driver=../../../../../bus/usb/drivers/usb
|
||||||
A: idProduct=0c7e\n
|
A: idProduct=0c7e
|
||||||
A: idVendor=04f3\n
|
A: idVendor=04f3
|
||||||
A: ltm_capable=no\n
|
A: ltm_capable=no
|
||||||
A: manufacturer=ELAN\n
|
A: manufacturer=ELAN
|
||||||
A: maxchild=0\n
|
A: maxchild=0
|
||||||
L: port=../1-0:1.0/usb1-port1
|
L: port=../1-0:1.0/usb1-port1
|
||||||
A: power/active_duration=94712\n
|
A: power/active_duration=94712
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=2\n
|
A: power/autosuspend=2
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
A: power/autosuspend_delay_ms=2000
|
||||||
A: power/connected_duration=94712\n
|
A: power/connected_duration=94712
|
||||||
A: power/control=on\n
|
A: power/control=on
|
||||||
A: power/level=on\n
|
A: power/level=on
|
||||||
A: power/persist=1\n
|
A: power/persist=1
|
||||||
A: power/runtime_active_kids=0\n
|
A: power/runtime_active_kids=0
|
||||||
A: power/runtime_active_time=94436\n
|
A: power/runtime_active_time=94436
|
||||||
A: power/runtime_enabled=forbidden\n
|
A: power/runtime_enabled=forbidden
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=0\n
|
A: power/runtime_suspended_time=0
|
||||||
A: power/runtime_usage=1\n
|
A: power/runtime_usage=1
|
||||||
A: power/wakeup=disabled\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_active=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_expire_count=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: product=ELAN:ARM-M4\n
|
A: product=ELAN:ARM-M4
|
||||||
A: quirks=0x0\n
|
A: quirks=0x0
|
||||||
A: removable=removable\n
|
A: removable=removable
|
||||||
A: rx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: speed=12\n
|
A: speed=12
|
||||||
A: tx_lanes=1\n
|
A: tx_lanes=1
|
||||||
A: urbnum=12\n
|
A: urbnum=12
|
||||||
A: version= 2.00\n
|
A: version= 2.00
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
P: /devices/pci0000:00/0000:00:14.0/usb1
|
||||||
N: bus/usb/001/001=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
N: bus/usb/001/001=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
||||||
@@ -109,63 +109,63 @@ E: ID_PATH=pci-0000:00:14.0
|
|||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
E: ID_PATH_TAG=pci-0000_00_14_0
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
||||||
E: TAGS=:seat:
|
E: TAGS=:seat:
|
||||||
A: authorized=1\n
|
A: authorized=1
|
||||||
A: authorized_default=1\n
|
A: authorized_default=1
|
||||||
A: avoid_reset_quirk=0\n
|
A: avoid_reset_quirk=0
|
||||||
A: bConfigurationValue=1\n
|
A: bConfigurationValue=1
|
||||||
A: bDeviceClass=09\n
|
A: bDeviceClass=09
|
||||||
A: bDeviceProtocol=01\n
|
A: bDeviceProtocol=01
|
||||||
A: bDeviceSubClass=00\n
|
A: bDeviceSubClass=00
|
||||||
A: bMaxPacketSize0=64\n
|
A: bMaxPacketSize0=64
|
||||||
A: bMaxPower=0mA\n
|
A: bMaxPower=0mA
|
||||||
A: bNumConfigurations=1\n
|
A: bNumConfigurations=1
|
||||||
A: bNumInterfaces= 1\n
|
A: bNumInterfaces= 1
|
||||||
A: bcdDevice=0504\n
|
A: bcdDevice=0504
|
||||||
A: bmAttributes=e0\n
|
A: bmAttributes=e0
|
||||||
A: busnum=1\n
|
A: busnum=1
|
||||||
A: configuration=\n
|
A: configuration=
|
||||||
H: descriptors=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
H: descriptors=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
||||||
A: dev=189:0\n
|
A: dev=189:0
|
||||||
A: devnum=1\n
|
A: devnum=1
|
||||||
A: devpath=0\n
|
A: devpath=0
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
L: driver=../../../../bus/usb/drivers/usb
|
||||||
A: idProduct=0002\n
|
A: idProduct=0002
|
||||||
A: idVendor=1d6b\n
|
A: idVendor=1d6b
|
||||||
A: interface_authorized_default=1\n
|
A: interface_authorized_default=1
|
||||||
A: ltm_capable=no\n
|
A: ltm_capable=no
|
||||||
A: manufacturer=Linux 5.4.0-42-generic xhci-hcd\n
|
A: manufacturer=Linux 5.4.0-42-generic xhci-hcd
|
||||||
A: maxchild=12\n
|
A: maxchild=12
|
||||||
A: power/active_duration=74604360\n
|
A: power/active_duration=74604360
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=0\n
|
A: power/autosuspend=0
|
||||||
A: power/autosuspend_delay_ms=0\n
|
A: power/autosuspend_delay_ms=0
|
||||||
A: power/connected_duration=74606456\n
|
A: power/connected_duration=74606456
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/level=auto\n
|
A: power/level=auto
|
||||||
A: power/runtime_active_kids=4\n
|
A: power/runtime_active_kids=4
|
||||||
A: power/runtime_active_time=74605838\n
|
A: power/runtime_active_time=74605838
|
||||||
A: power/runtime_enabled=enabled\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=0\n
|
A: power/runtime_suspended_time=0
|
||||||
A: power/runtime_usage=0\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup=disabled\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_active=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_expire_count=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: product=xHCI Host Controller\n
|
A: product=xHCI Host Controller
|
||||||
A: quirks=0x0\n
|
A: quirks=0x0
|
||||||
A: removable=unknown\n
|
A: removable=unknown
|
||||||
A: rx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: serial=0000:00:14.0\n
|
A: serial=0000:00:14.0
|
||||||
A: speed=480\n
|
A: speed=480
|
||||||
A: tx_lanes=1\n
|
A: tx_lanes=1
|
||||||
A: urbnum=490\n
|
A: urbnum=490
|
||||||
A: version= 2.00\n
|
A: version= 2.00
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0
|
P: /devices/pci0000:00/0000:00:14.0
|
||||||
E: DRIVER=xhci_hcd
|
E: DRIVER=xhci_hcd
|
||||||
@@ -180,46 +180,46 @@ E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
||||||
E: ID_MODEL_FROM_DATABASE=Cannon Point-LP USB 3.1 xHCI Controller
|
E: ID_MODEL_FROM_DATABASE=Cannon Point-LP USB 3.1 xHCI Controller
|
||||||
A: ari_enabled=0\n
|
A: ari_enabled=0
|
||||||
A: broken_parity_status=0\n
|
A: broken_parity_status=0
|
||||||
A: class=0x0c0330\n
|
A: class=0x0c0330
|
||||||
H: config=8680ED9D060490023030030C00008000040030A10000000000000000000000000000000000000000000000003C10EF85000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000181C030400000000316000000000000000000000000000000180C2C1080000000000000000000000059087007802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000B50F300112000000
|
H: config=8680ED9D060490023030030C00008000040030A10000000000000000000000000000000000000000000000003C10EF85000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000181C030400000000316000000000000000000000000000000180C2C1080000000000000000000000059087007802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000B50F300112000000
|
||||||
A: consistent_dma_mask_bits=64\n
|
A: consistent_dma_mask_bits=64
|
||||||
A: d3cold_allowed=1\n
|
A: d3cold_allowed=1
|
||||||
A: dbc=disabled\n
|
A: dbc=disabled
|
||||||
A: device=0x9ded\n
|
A: device=0x9ded
|
||||||
A: dma_mask_bits=64\n
|
A: dma_mask_bits=64
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
L: driver=../../../bus/pci/drivers/xhci_hcd
|
||||||
A: driver_override=(null)\n
|
A: driver_override=(null)
|
||||||
A: enable=1\n
|
A: enable=1
|
||||||
A: irq=124\n
|
A: irq=124
|
||||||
A: local_cpulist=0-3\n
|
A: local_cpulist=0-3
|
||||||
A: local_cpus=f\n
|
A: local_cpus=f
|
||||||
A: modalias=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30\n
|
A: modalias=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30
|
||||||
A: msi_bus=1\n
|
A: msi_bus=1
|
||||||
A: msi_irqs/124=msi\n
|
A: msi_irqs/124=msi
|
||||||
A: numa_node=-1\n
|
A: numa_node=-1
|
||||||
A: pools=poolinfo - 0.1\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 32 128 1\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 54 54 4096 54\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 9 32 128 1\nbuffer-32 0 0 32 0\n
|
A: pools=poolinfo - 0.1\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 32 128 1\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 54 54 4096 54\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 9 32 128 1\nbuffer-32 0 0 32 0
|
||||||
A: power/async=enabled\n
|
A: power/async=enabled
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/runtime_active_kids=1\n
|
A: power/runtime_active_kids=1
|
||||||
A: power/runtime_active_time=74606194\n
|
A: power/runtime_active_time=74606194
|
||||||
A: power/runtime_enabled=enabled\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_status=active
|
||||||
A: power/runtime_suspended_time=0\n
|
A: power/runtime_suspended_time=0
|
||||||
A: power/runtime_usage=0\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup=enabled\n
|
A: power/wakeup=enabled
|
||||||
A: power/wakeup_abort_count=0\n
|
A: power/wakeup_abort_count=0
|
||||||
A: power/wakeup_active=0\n
|
A: power/wakeup_active=0
|
||||||
A: power/wakeup_active_count=0\n
|
A: power/wakeup_active_count=0
|
||||||
A: power/wakeup_count=0\n
|
A: power/wakeup_count=0
|
||||||
A: power/wakeup_expire_count=0\n
|
A: power/wakeup_expire_count=0
|
||||||
A: power/wakeup_last_time_ms=0\n
|
A: power/wakeup_last_time_ms=0
|
||||||
A: power/wakeup_max_time_ms=0\n
|
A: power/wakeup_max_time_ms=0
|
||||||
A: power/wakeup_total_time_ms=0\n
|
A: power/wakeup_total_time_ms=0
|
||||||
A: resource=0x00000000a1300000 0x00000000a130ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
A: resource=0x00000000a1300000 0x00000000a130ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||||
A: revision=0x30\n
|
A: revision=0x30
|
||||||
A: subsystem_device=0x85ef\n
|
A: subsystem_device=0x85ef
|
||||||
A: subsystem_vendor=0x103c\n
|
A: subsystem_vendor=0x103c
|
||||||
A: vendor=0x8086\n
|
A: vendor=0x8086
|
||||||
|
|
||||||
|
|||||||
217
tests/goodixmoc/custom.ioctl
Normal file
217
tests/goodixmoc/custom.ioctl
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
@DEV /dev/bus/usb/003/008
|
||||||
|
USBDEVFS_GET_CAPABILITIES 0 FD010000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 D00000000500BA4500611A297F
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00000008009D6200D00000239572F5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 192 0 D0000001850067980002FE4150500000000000303130303032343744454C4C00000000474D3138384230004746353238380000312E30342E30352E31302E3530000000000000000000000000000000000000005553420000000000564253000000000030303030303030330000000000000000000000000000000000000000000000000000000000003B5CB43C000000000000555342000000000056425300000000003030303030303033000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 140 140 0 C001000184008E71000064500F41080A1800002300000101000101010100010105050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B737316F0558B152
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00000208004BB400C001005F5A6B1C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 C00100030700D12E0014140342C8AE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E00100020400BE41BBC7BACE
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA000004080036C900E00101C26FC596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E0010005080054AB00141441240D0ECF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 A6000003050022DD00CA3B9C30
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000060800E01F00A60001BCF2ED17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A60000070600B64900007A6860130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A20000040700BA45000F41625785F3
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000080800CC3300A20001BA8679AC000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000090C00BC430054640027004D0084CD5EED0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 44 44 0 A500000524009F60000000000000000000000000000000000000000000000000000000000000000048D9D8CB
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00000A08001AE500A5000172CD1245000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A500000B050008F703C6DBFA26000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 A100000605003DC200632D10DE
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00000C0800679800A100014526FF87000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A100000D25007F8000D7843025CC713EA1543DF81EBAAF6BE244543EB9F4BC6FA74E8F246A711CD8C3EA54665F00000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A2000007070007F8000F41630A457A
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00000E0800B14E00A2000151C59D69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A200000F0C00C13E003E620027005900101FD1980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A0000008070012ED016450F8E6B5D9
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00001008003FC000A0000187F37724000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A000001107008A7500000002FCFB4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B0020009050009F6004270904E
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000120800E91600B00201386F43E6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B002001345007788008A009C009400880008009A0099008B00080008009100850000000000000000008F00A4009B0090008F00A100A000940088009A0097008D000000000000000000BEDDBBB29400880008009A0099008B00080008009100850000000000000000008F00A4009B0090008F00A100A000940088009A0097008D
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A200000A07009669000F41D397DA08
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000140800946B00A200014F39330E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000150C00E41B004E640027004F00755632510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000000B0700AF50016450F9BB7550
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA000016080042BD00A000016CB093E1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A00000170700F708000000BAA9831600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B002000C0500C93600FFA00844
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00001808006E9100B0020144AD1E73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B00200194500F00F008C009C009600080086009D0097008E00810092009100850000000000000000008F00A4009A008F008E00A1009F00920087009A0096008C000000000000000000E3A1F2A19600080086009D0097008E00810092009100850000000000000000008F00A4009A008F008E00A1009F00920087009A0096008C
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A200000D0700807F000F41ABF4CD98
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00001A0800B84700A2000195E5AEB2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A200001B0C00C8370048640027005A00021B15CE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000000E07006F9001645040B3CD87
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00001C0800C53A00A000011072CE74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A000001D0700708F003A000B89A2D100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B002000F0500748B00E76F715E
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00001E080013EC00B00201AFEEFAB6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B002001F45008D720008009900920086008800960097008D007F0091008D00850000000000000000008F00A4009B0090008F00A100A000930087009A0096008D00000000000000000069C4E77C920086008800960097008D007F0091008D00850000000000000000008F00A4009B0090008F00A100A000930087009A0096008D
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A20000100700B34C000F4148456C7B
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000200800DE2100A2000173C16EC1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000210C00AE510048640027005500DD002B870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000001107008A750164506269C323
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA000022080008F700A000015048CE2E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A00000230700BD420000008C0CEEF100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B0020012050047B8005B407F33
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000240800758A00B0020149CA3AC5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B00200254500EB14008D00A100900087000800980099008C00080008000800080000000000000000008F00A3009A008F008E00A0009F00930087009A0096008C0000000000000000000F8D1061900087000800980099008C00080008000800080000000000000000008F00A3009A008F008E00A0009F00930087009A0096008C
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A200001307000EF1000F414918ACF2
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000260800A35C00A2000198828A04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000270C00D32C0057640027004E0017D2351D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000001407004AB5016450DB617BF4
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00002808008F7000A000012C8A93BB000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A000002907003AC500000044F2661300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B0020015050051AE00F61A492A
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00002A080059A600B002019316A779000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B002002B4500C7380089009C00920008008A00990098008A007F0093008E00860000000000000000008F00A4009A008F008E00A100A000930087009A0096008D000000000000000000A0269EE8920008008A00990098008A007F0093008E00860000000000000000008F00A4009A008F008E00A100A000930087009A0096008D
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A20000160700CE31000F41F0101425
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00002C080024DB00A20001E440D791000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A200002D0C0054AB004A64002700590057B20D220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A00000170700F708016450DA3CBB7D
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00002E0800F20D00A00001C7C9777E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A000002F070047B8004C4C4EAAB86E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B00200180500C03F00B4605C02
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00003008007C8300B002018DEA091E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B00200314500E21D00080008000800080088009A0096008F00820092009000080000000000000000008F00A3009A008F008E00A000A000930087009A0096008C000000000000000000E0BA753D0800080088009A0096008F00820092009000080000000000000000008F00A3009A008F008E00A000A000930087009A0096008C
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A200001907008976000F4181E62410
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000320800AA5500A200015CA2B9DF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000330C00DA25005464002700500088A694DC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000001A070066990164506AA1240F
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000340800D72800A00001D935D919000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A00000350700629D0000006775A83E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 B002001B05007D8200ACAF2518
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA000036080001FE00B0020166A9EDDB000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 B002003745009F600008000800080008008600970095000800830090008D00880000000000000000008F00A3009A008F008E00A100A000930087009A0096008C000000000000000000F054EC42080008008600970095000800830090008D00880000000000000000008F00A3009A008F008E00A100A000930087009A0096008C
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A200001C070049B6000F4138EE9CC7
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00003808002DD200A200012060E44A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000390C005DA2004A640027004F005D569D1A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A000001D0700708F01645012C2339F
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00003A0800FB0400A0000103E944A5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A000003B07004EB1000000D6B5F7C500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A300001E0700B649000F41F8F75650
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00003C0800867900A30001B114E662000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A300003D0500629D009DDA98C4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 114 114 0 A400001F6A001EE1640043010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E4650312D30303030303030302D302D30303030303030302D6E6F626F647900E6F6BD05
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00003E080050AF00A40001795F8D8B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A400003F05006B940099962233000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E0000020040049B6AEA0E8AB
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00004008001BE400E00001D5F1C38E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E000004108001BE400000000315A099D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 13 13 0 A60000210500B74800B39B168D
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000420800CD3200A60001EA5DF016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 128 0 A60000436C00EC130001640043010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E4650312D30303030303030302D302D30303030303030302D6E6F626F647900FA60A49A000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E00100220400FD0253E4FA3B
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000440800B04F00E0010132DE18BE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E00100450800D22D000000002B1189D3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A20000230700EF100100238AF5F029
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000460800669900A2000190EB3938000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A20000470C0016E9004C640027004D005C10F4310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 44 44 0 A50000242400B7480000000000000000000000000000000000000000000000000000000000000000664B5D3F
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00004808004AB500A50001CF21EB81000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 192 0 A50000499200D22D004C642A00000000640043010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E4650312D30303030303030302D302D30303030303030302D6E6F626F647900954F9F36EAEDD0364E04D4A2B430F0D25BF63D97E631EC0F0F86A6A3DCDEF50C82BB7E8C2D30303030303030302D302D30303030303030302D6E6F626F647900954F9F36EAEDD0364E04
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E000002504008976203A9633
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00004A08009C6300E00001A9339E1B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E000004B08009C63004C642A9C8BFEAB000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E0010026040056A9D15D8DC2
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00004C0800E11E00E00101034161C7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E001004D0800837C004C642ACB9D5A09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 15 15 0 A2000027070044BB010023F3CB2730
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00004E080037C800A20001A1744041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A200004F0C0047B80052640027004D00E19CE96F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 44 44 0 A500002824004DB200000000000000000000000000000000000000000000000000000000000000003DB8032C
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA0000500800B94600A500019C80610A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 192 0 A5000051920021DE0052642A00000000640043010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E4650312D30303030303030302D302D30303030303030302D6E6F626F647900954F9F36EAEDD0364E04D4A2B430F0D25BF63D97E631EC0F0F86A6A3DCDEF50CCC7D08E82D30303030303030302D302D30303030303030302D6E6F626F647900954F9F36EAEDD0364E04
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 12 12 0 E00000290400738C14C55D45
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA00005208006F9000E00001FA921490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 E000005308006F900052642AB5A4CC36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 1 0 0 114 114 0 A700002A6A0044BB640043010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E4650312D30303030303030302D302D30303030303030302D6E6F626F6479001CF66539
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 AA000054080012ED00A70001544A2520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 0 0
|
||||||
|
USBDEVFS_REAPURBNDELAY 0 3 131 0 0 2048 64 0 A7000055050052AD00C5D5FE86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
Binary file not shown.
@@ -1,105 +1,108 @@
|
|||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-3
|
P: /devices/pci0000:00/0000:00:14.0/usb3/3-2
|
||||||
N: bus/usb/001/053=12010002EF000040C627966400010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
N: bus/usb/003/008=12010002EF000040C627405800010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
||||||
E: DEVNAME=/dev/bus/usb/001/053
|
E: DEVNAME=/dev/bus/usb/003/008
|
||||||
E: DEVTYPE=usb_device
|
E: DEVTYPE=usb_device
|
||||||
E: DRIVER=usb
|
E: DRIVER=usb
|
||||||
E: PRODUCT=27c6/6496/100
|
E: PRODUCT=27c6/5840/100
|
||||||
E: TYPE=239/0/0
|
E: TYPE=239/0/0
|
||||||
E: BUSNUM=001
|
E: BUSNUM=003
|
||||||
E: DEVNUM=053
|
E: DEVNUM=008
|
||||||
E: MAJOR=189
|
E: MAJOR=189
|
||||||
E: MINOR=52
|
E: MINOR=263
|
||||||
E: SUBSYSTEM=usb
|
E: SUBSYSTEM=usb
|
||||||
E: ID_VENDOR=Goodix_Technology_Co.__Ltd.
|
E: ID_VENDOR=Goodix_Technology_Co.__Ltd.
|
||||||
E: ID_VENDOR_ENC=Goodix\x20Technology\x20Co.\x2c\x20Ltd.
|
E: ID_VENDOR_ENC=Goodix\x20Technology\x20Co.\x2c\x20Ltd.
|
||||||
E: ID_VENDOR_ID=27c6
|
E: ID_VENDOR_ID=27c6
|
||||||
E: ID_MODEL=Goodix_USB2.0_MISC
|
E: ID_MODEL=Goodix_USB2.0_MISC
|
||||||
E: ID_MODEL_ENC=Goodix\x20USB2.0\x20MISC
|
E: ID_MODEL_ENC=Goodix\x20USB2.0\x20MISC
|
||||||
E: ID_MODEL_ID=6496
|
E: ID_MODEL_ID=5840
|
||||||
E: ID_REVISION=0100
|
E: ID_REVISION=0100
|
||||||
E: ID_SERIAL=Goodix_Technology_Co.__Ltd._Goodix_USB2.0_MISC_XXXX_MOC_B0
|
E: ID_SERIAL=Goodix_Technology_Co.__Ltd._Goodix_USB2.0_MISC_UIDE1AD5CBA_XXXX_MOC_B0
|
||||||
E: ID_SERIAL_SHORT=XXXX_MOC_B0
|
E: ID_SERIAL_SHORT=UIDE1AD5CBA_XXXX_MOC_B0
|
||||||
E: ID_BUS=usb
|
E: ID_BUS=usb
|
||||||
E: ID_USB_INTERFACES=:ff0000:
|
E: ID_USB_INTERFACES=:ff0000:
|
||||||
E: ID_VENDOR_FROM_DATABASE=Shenzhen Goodix Technology Co.,Ltd.
|
E: ID_VENDOR_FROM_DATABASE=Shenzhen Goodix Technology Co.,Ltd.
|
||||||
E: ID_AUTOSUSPEND=1
|
E: ID_PATH=pci-0000:00:14.0-usb-0:2
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:3
|
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3
|
E: LIBFPRINT_DRIVER=Goodix MOC Fingerprint Sensor
|
||||||
A: authorized=1\n
|
A: authorized=1
|
||||||
A: avoid_reset_quirk=0\n
|
A: avoid_reset_quirk=0
|
||||||
A: bConfigurationValue=1\n
|
A: bConfigurationValue=1
|
||||||
A: bDeviceClass=ef\n
|
A: bDeviceClass=ef
|
||||||
A: bDeviceProtocol=00\n
|
A: bDeviceProtocol=00
|
||||||
A: bDeviceSubClass=00\n
|
A: bDeviceSubClass=00
|
||||||
A: bMaxPacketSize0=64\n
|
A: bMaxPacketSize0=64
|
||||||
A: bMaxPower=100mA\n
|
A: bMaxPower=100mA
|
||||||
A: bNumConfigurations=1\n
|
A: bNumConfigurations=1
|
||||||
A: bNumInterfaces= 1\n
|
A: bNumInterfaces= 1
|
||||||
A: bcdDevice=0100\n
|
A: bcdDevice=0100
|
||||||
A: bmAttributes=a0\n
|
A: bmAttributes=a0
|
||||||
A: busnum=1\n
|
A: busnum=3\n
|
||||||
A: configuration=XXXX_MOC_B0\n
|
A: configuration=UIDE1AD5CBA_XXXX_MOC_B0
|
||||||
H: descriptors=12010002EF000040C627966400010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
H: descriptors=12010002EF000040C627405800010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
||||||
A: dev=189:52\n
|
A: dev=189:263
|
||||||
A: devnum=53\n
|
A: devnum=8\n
|
||||||
A: devpath=3\n
|
A: devpath=2
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
L: driver=../../../../../bus/usb/drivers/usb
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d/device:20
|
A: idProduct=5840
|
||||||
A: idProduct=6496\n
|
A: idVendor=27c6
|
||||||
A: idVendor=27c6\n
|
A: ltm_capable=no
|
||||||
A: ltm_capable=no\n
|
A: manufacturer=Goodix Technology Co., Ltd.
|
||||||
A: manufacturer=Goodix Technology Co., Ltd.\n
|
A: maxchild=0
|
||||||
A: maxchild=0\n
|
L: port=../3-0:1.0/usb3-port2
|
||||||
L: port=../1-0:1.0/usb1-port3
|
A: power/active_duration=2684
|
||||||
A: power/active_duration=29262\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=2\n
|
A: power/autosuspend=2
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
A: power/autosuspend_delay_ms=2000
|
||||||
A: power/connected_duration=57399\n
|
A: power/connected_duration=54348
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/level=auto\n
|
A: power/level=auto
|
||||||
A: power/persist=1\n
|
A: power/persist=1
|
||||||
A: power/runtime_active_time=29308\n
|
A: power/runtime_active_kids=0
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_active_time=2518
|
||||||
A: power/runtime_suspended_time=27850\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/wakeup=disabled\n
|
A: power/runtime_status=active
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/runtime_suspended_time=51550
|
||||||
A: power/wakeup_active=\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_expire_count=
|
||||||
A: product=Goodix USB2.0 MISC\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: quirks=0x0\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: removable=removable\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: rx_lanes=1\n
|
A: product=Goodix USB2.0 MISC
|
||||||
A: serial=XXXX_MOC_B0\n
|
A: quirks=0x0
|
||||||
A: speed=12\n
|
A: removable=removable
|
||||||
A: tx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: urbnum=394\n
|
A: serial=UIDE1AD5CBA_XXXX_MOC_B0
|
||||||
A: version= 2.00\n
|
A: speed=12
|
||||||
|
A: tx_lanes=1
|
||||||
|
A: urbnum=15
|
||||||
|
A: version= 2.00
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
P: /devices/pci0000:00/0000:00:14.0/usb3
|
||||||
N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
N: bus/usb/003/001=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
E: DEVNAME=/dev/bus/usb/003/001
|
||||||
E: DEVTYPE=usb_device
|
E: DEVTYPE=usb_device
|
||||||
E: DRIVER=usb
|
E: DRIVER=usb
|
||||||
E: PRODUCT=1d6b/2/513
|
E: PRODUCT=1d6b/2/508
|
||||||
E: TYPE=9/0/1
|
E: TYPE=9/0/1
|
||||||
E: BUSNUM=001
|
E: BUSNUM=003
|
||||||
E: DEVNUM=001
|
E: DEVNUM=001
|
||||||
E: MAJOR=189
|
E: MAJOR=189
|
||||||
E: MINOR=0
|
E: MINOR=256
|
||||||
E: SUBSYSTEM=usb
|
E: SUBSYSTEM=usb
|
||||||
E: ID_VENDOR=Linux_5.13.15-200.fc34.x86_64_xhci-hcd
|
E: ID_VENDOR=Linux_5.8.0-38-generic_xhci-hcd
|
||||||
E: ID_VENDOR_ENC=Linux\x205.13.15-200.fc34.x86_64\x20xhci-hcd
|
E: ID_VENDOR_ENC=Linux\x205.8.0-38-generic\x20xhci-hcd
|
||||||
E: ID_VENDOR_ID=1d6b
|
E: ID_VENDOR_ID=1d6b
|
||||||
E: ID_MODEL=xHCI_Host_Controller
|
E: ID_MODEL=xHCI_Host_Controller
|
||||||
E: ID_MODEL_ENC=xHCI\x20Host\x20Controller
|
E: ID_MODEL_ENC=xHCI\x20Host\x20Controller
|
||||||
E: ID_MODEL_ID=0002
|
E: ID_MODEL_ID=0002
|
||||||
E: ID_REVISION=0513
|
E: ID_REVISION=0508
|
||||||
E: ID_SERIAL=Linux_5.13.15-200.fc34.x86_64_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
|
E: ID_SERIAL=Linux_5.8.0-38-generic_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
|
||||||
E: ID_SERIAL_SHORT=0000:00:14.0
|
E: ID_SERIAL_SHORT=0000:00:14.0
|
||||||
E: ID_BUS=usb
|
E: ID_BUS=usb
|
||||||
E: ID_USB_INTERFACES=:090000:
|
E: ID_USB_INTERFACES=:090000:
|
||||||
@@ -110,114 +113,62 @@ E: ID_PATH=pci-0000:00:14.0
|
|||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
E: ID_PATH_TAG=pci-0000_00_14_0
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
||||||
E: TAGS=:seat:
|
E: TAGS=:seat:
|
||||||
E: CURRENT_TAGS=:seat:
|
A: authorized=1
|
||||||
A: authorized=1\n
|
A: authorized_default=1
|
||||||
A: authorized_default=1\n
|
A: avoid_reset_quirk=0
|
||||||
A: avoid_reset_quirk=0\n
|
A: bConfigurationValue=1
|
||||||
A: bConfigurationValue=1\n
|
A: bDeviceClass=09
|
||||||
A: bDeviceClass=09\n
|
A: bDeviceProtocol=01
|
||||||
A: bDeviceProtocol=01\n
|
A: bDeviceSubClass=00
|
||||||
A: bDeviceSubClass=00\n
|
A: bMaxPacketSize0=64
|
||||||
A: bMaxPacketSize0=64\n
|
A: bMaxPower=0mA
|
||||||
A: bMaxPower=0mA\n
|
A: bNumConfigurations=1
|
||||||
A: bNumConfigurations=1\n
|
A: bNumInterfaces= 1
|
||||||
A: bNumInterfaces= 1\n
|
A: bcdDevice=0508
|
||||||
A: bcdDevice=0513\n
|
A: bmAttributes=e0
|
||||||
A: bmAttributes=e0\n
|
A: busnum=3\n
|
||||||
A: busnum=1\n
|
A: configuration=
|
||||||
A: configuration=\n
|
H: descriptors=12010002090001406B1D020008050302010109021900010100E0000904000001090000000705810304000C
|
||||||
H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
A: dev=189:256
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
A: devnum=1\n
|
||||||
A: devpath=0\n
|
A: devpath=0
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
L: driver=../../../../bus/usb/drivers/usb
|
||||||
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d
|
A: idProduct=0002
|
||||||
A: idProduct=0002\n
|
A: idVendor=1d6b
|
||||||
A: idVendor=1d6b\n
|
A: interface_authorized_default=1
|
||||||
A: interface_authorized_default=1\n
|
A: ltm_capable=no
|
||||||
A: ltm_capable=no\n
|
A: manufacturer=Linux 5.8.0-38-generic xhci-hcd
|
||||||
A: manufacturer=Linux 5.13.15-200.fc34.x86_64 xhci-hcd\n
|
A: maxchild=4
|
||||||
A: maxchild=12\n
|
A: power/active_duration=2790916
|
||||||
A: power/active_duration=219578717\n
|
A: power/async=enabled
|
||||||
A: power/autosuspend=0\n
|
A: power/autosuspend=0
|
||||||
A: power/autosuspend_delay_ms=0\n
|
A: power/autosuspend_delay_ms=0
|
||||||
A: power/connected_duration=219649620\n
|
A: power/connected_duration=15607832
|
||||||
A: power/control=auto\n
|
A: power/control=auto
|
||||||
A: power/level=auto\n
|
A: power/level=auto
|
||||||
A: power/runtime_active_time=219589127\n
|
A: power/runtime_active_kids=1
|
||||||
A: power/runtime_status=active\n
|
A: power/runtime_active_time=2790874
|
||||||
A: power/runtime_suspended_time=0\n
|
A: power/runtime_enabled=enabled
|
||||||
A: power/wakeup=disabled\n
|
A: power/runtime_status=active
|
||||||
A: power/wakeup_abort_count=\n
|
A: power/runtime_suspended_time=12816956
|
||||||
A: power/wakeup_active=\n
|
A: power/runtime_usage=0
|
||||||
A: power/wakeup_active_count=\n
|
A: power/wakeup=disabled
|
||||||
A: power/wakeup_count=\n
|
A: power/wakeup_abort_count=
|
||||||
A: power/wakeup_expire_count=\n
|
A: power/wakeup_active=
|
||||||
A: power/wakeup_last_time_ms=\n
|
A: power/wakeup_active_count=
|
||||||
A: power/wakeup_max_time_ms=\n
|
A: power/wakeup_count=
|
||||||
A: power/wakeup_total_time_ms=\n
|
A: power/wakeup_expire_count=
|
||||||
A: product=xHCI Host Controller\n
|
A: power/wakeup_last_time_ms=
|
||||||
A: quirks=0x0\n
|
A: power/wakeup_max_time_ms=
|
||||||
A: removable=unknown\n
|
A: power/wakeup_total_time_ms=
|
||||||
A: rx_lanes=1\n
|
A: product=xHCI Host Controller
|
||||||
A: serial=0000:00:14.0\n
|
A: quirks=0x0
|
||||||
A: speed=480\n
|
A: removable=unknown
|
||||||
A: tx_lanes=1\n
|
A: rx_lanes=1
|
||||||
A: urbnum=4325\n
|
A: serial=0000:00:14.0
|
||||||
A: version= 2.00\n
|
A: speed=480
|
||||||
|
A: tx_lanes=1
|
||||||
|
A: urbnum=584
|
||||||
|
A: version= 2.00
|
||||||
|
|
||||||
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_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d00009DEDsv000017AAsd00002292bc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
|
|
||||||
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|
||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
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
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
A: device=0x9ded\n
|
|
||||||
A: dma_mask_bits=64\n
|
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
|
||||||
A: driver_override=(null)\n
|
|
||||||
A: enable=1\n
|
|
||||||
L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c
|
|
||||||
A: irq=128\n
|
|
||||||
A: local_cpulist=0-7\n
|
|
||||||
A: local_cpus=ff\n
|
|
||||||
A: modalias=pci:v00008086d00009DEDsv000017AAsd00002292bc0Csc03i30\n
|
|
||||||
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/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
A: power/wakeup_abort_count=0\n
|
|
||||||
A: power/wakeup_active=0\n
|
|
||||||
A: power/wakeup_active_count=0\n
|
|
||||||
A: power/wakeup_count=0\n
|
|
||||||
A: power/wakeup_expire_count=0\n
|
|
||||||
A: power/wakeup_last_time_ms=0\n
|
|
||||||
A: power/wakeup_max_time_ms=0\n
|
|
||||||
A: power/wakeup_total_time_ms=0\n
|
|
||||||
A: power_state=D0\n
|
|
||||||
A: resource=0x00000000ea220000 0x00000000ea22ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
|
||||||
A: revision=0x11\n
|
|
||||||
A: subsystem_device=0x2292\n
|
|
||||||
A: subsystem_vendor=0x17aa\n
|
|
||||||
A: vendor=0x8086\n
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,16 +22,12 @@ envs.set('FP_DRIVERS_WHITELIST', ':'.join([
|
|||||||
envs.set('NO_AT_BRIDGE', '1')
|
envs.set('NO_AT_BRIDGE', '1')
|
||||||
|
|
||||||
drivers_tests = [
|
drivers_tests = [
|
||||||
'aes2501',
|
|
||||||
'aes3500',
|
'aes3500',
|
||||||
'elan',
|
'elan',
|
||||||
'elan-cobo',
|
|
||||||
'elanmoc',
|
'elanmoc',
|
||||||
'elanspi',
|
'elanspi',
|
||||||
'synaptics',
|
'synaptics',
|
||||||
'upektc_img',
|
'upektc_img',
|
||||||
'uru4000-msv2',
|
|
||||||
'uru4000-4500',
|
|
||||||
'vfs0050',
|
'vfs0050',
|
||||||
'vfs301',
|
'vfs301',
|
||||||
'vfs5011',
|
'vfs5011',
|
||||||
@@ -41,15 +37,6 @@ drivers_tests = [
|
|||||||
'egis0570',
|
'egis0570',
|
||||||
]
|
]
|
||||||
|
|
||||||
if get_option('introspection')
|
|
||||||
conf = configuration_data()
|
|
||||||
conf.set('SRCDIR', meson.source_root())
|
|
||||||
conf.set('BUILDDIR', meson.build_root())
|
|
||||||
configure_file(configuration: conf,
|
|
||||||
input: 'create-driver-test.py.in',
|
|
||||||
output: 'create-driver-test.py')
|
|
||||||
endif
|
|
||||||
|
|
||||||
if get_option('introspection')
|
if get_option('introspection')
|
||||||
envs.prepend('GI_TYPELIB_PATH', join_paths(meson.build_root(), 'libfprint'))
|
envs.prepend('GI_TYPELIB_PATH', join_paths(meson.build_root(), 'libfprint'))
|
||||||
virtual_devices_tests = [
|
virtual_devices_tests = [
|
||||||
@@ -99,7 +86,11 @@ if get_option('introspection')
|
|||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
foreach driver_test: drivers_tests
|
foreach driver_test: drivers_tests
|
||||||
driver_name = driver_test.split('-')[0]
|
if driver_test.contains('-')
|
||||||
|
driver_name = driver_test.split('-')[0]
|
||||||
|
else
|
||||||
|
driver_name = driver_test
|
||||||
|
endif
|
||||||
driver_envs = envs
|
driver_envs = envs
|
||||||
driver_envs.set('FP_DRIVERS_WHITELIST', driver_name)
|
driver_envs.set('FP_DRIVERS_WHITELIST', driver_name)
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ try:
|
|||||||
if version < (0, 13, 2):
|
if version < (0, 13, 2):
|
||||||
print('umockdev is too old for test to be reliable, expect random failures!')
|
print('umockdev is too old for test to be reliable, expect random failures!')
|
||||||
print('Please update umockdev to at least 0.13.2.')
|
print('Please update umockdev to at least 0.13.2.')
|
||||||
pcap_supported = version >= (0, 16, 3) or os.getenv('CI_PROJECT_NAME') == "libfprint"
|
pcap_supported = version >= (0, 16, 2) or os.getenv('CI_PROJECT_NAME') == "libfprint"
|
||||||
spi_supported = version >= (0, 16) or os.getenv('CI_PROJECT_NAME') == "libfprint"
|
spi_supported = version >= (0, 16) or os.getenv('CI_PROJECT_NAME') == "libfprint"
|
||||||
|
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 94 KiB |
@@ -1,220 +0,0 @@
|
|||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10
|
|
||||||
N: bus/usb/001/050=1201000200000040BA050A000301010203010902200001010080640904000002FFFFFF000705810340000807058202400000
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/050
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=5ba/a/103
|
|
||||||
E: TYPE=0/0/0
|
|
||||||
E: BUSNUM=001
|
|
||||||
E: DEVNUM=050
|
|
||||||
E: MAJOR=189
|
|
||||||
E: MINOR=49
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
E: ID_VENDOR=DigitalPersona__Inc.
|
|
||||||
E: ID_VENDOR_ENC=DigitalPersona\x2c\x20Inc.
|
|
||||||
E: ID_VENDOR_ID=05ba
|
|
||||||
E: ID_MODEL=U.are.U®_4500_Fingerprint_Reader
|
|
||||||
E: ID_MODEL_ENC=U.are.U®\x204500\x20Fingerprint\x20Reader
|
|
||||||
E: ID_MODEL_ID=000a
|
|
||||||
E: ID_REVISION=0103
|
|
||||||
E: ID_SERIAL=DigitalPersona__Inc._U.are.U®_4500_Fingerprint_Reader__FB0B9071-2E08-7742-BC16-2FAA247CEF66_
|
|
||||||
E: ID_SERIAL_SHORT=_FB0B9071-2E08-7742-BC16-2FAA247CEF66_
|
|
||||||
E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:ffffff:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=DigitalPersona, Inc.
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Fingerprint Reader
|
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:10
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_10
|
|
||||||
E: LIBFPRINT_DRIVER=Digital Persona U.are.U 4000/4000B/4500
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_10
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=00\n
|
|
||||||
A: bDeviceProtocol=00\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=200mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0103\n
|
|
||||||
A: bmAttributes=80\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=1201000200000040BA050A000301010203010902200001010080640904000002FFFFFF000705810340000807058202400000
|
|
||||||
A: dev=189:49\n
|
|
||||||
A: devnum=50\n
|
|
||||||
A: devpath=10\n
|
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d/device:57
|
|
||||||
A: idProduct=000a\n
|
|
||||||
A: idVendor=05ba\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=DigitalPersona, Inc.\n
|
|
||||||
A: maxchild=0\n
|
|
||||||
L: port=../1-0:1.0/usb1-port10
|
|
||||||
A: power/active_duration=2761\n
|
|
||||||
A: power/autosuspend=2\n
|
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
|
||||||
A: power/connected_duration=118841\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/persist=0\n
|
|
||||||
A: power/runtime_active_time=2616\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=115982\n
|
|
||||||
A: product=U.are.U\302\256 4500 Fingerprint Reader\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=removable\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial={FB0B9071-2E08-7742-BC16-2FAA247CEF66}\n
|
|
||||||
A: speed=12\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=13\n
|
|
||||||
A: version= 2.00\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
|
||||||
N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=1d6b/2/513
|
|
||||||
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.12-200.fc34.x86_64_xhci-hcd
|
|
||||||
E: ID_VENDOR_ENC=Linux\x205.13.12-200.fc34.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.12-200.fc34.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:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Linux Foundation
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=2.0 root hub
|
|
||||||
E: ID_PATH=pci-0000:00:14.0
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: authorized_default=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=09\n
|
|
||||||
A: bDeviceProtocol=01\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=0mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0513\n
|
|
||||||
A: bmAttributes=e0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
|
||||||
A: devpath=0\n
|
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d
|
|
||||||
A: idProduct=0002\n
|
|
||||||
A: idVendor=1d6b\n
|
|
||||||
A: interface_authorized_default=1\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Linux 5.13.12-200.fc34.x86_64 xhci-hcd\n
|
|
||||||
A: maxchild=16\n
|
|
||||||
A: power/active_duration=837797629\n
|
|
||||||
A: power/autosuspend=0\n
|
|
||||||
A: power/autosuspend_delay_ms=0\n
|
|
||||||
A: power/connected_duration=837797629\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/runtime_active_time=837797626\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
A: power/wakeup_active_count=\n
|
|
||||||
A: power/wakeup_count=\n
|
|
||||||
A: power/wakeup_expire_count=\n
|
|
||||||
A: power/wakeup_last_time_ms=\n
|
|
||||||
A: power/wakeup_max_time_ms=\n
|
|
||||||
A: power/wakeup_total_time_ms=\n
|
|
||||||
A: product=xHCI Host Controller\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=unknown\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial=0000:00:14.0\n
|
|
||||||
A: speed=480\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=1498\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:A36D
|
|
||||||
E: PCI_SUBSYS_ID=17AA:312A
|
|
||||||
E: PCI_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
|
|
||||||
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|
||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Cannon Lake PCH USB 3.1 xHCI Host Controller
|
|
||||||
A: ari_enabled=0\n
|
|
||||||
A: broken_parity_status=0\n
|
|
||||||
A: class=0x0c0330\n
|
|
||||||
H: config=86806DA3060490021030030C00008000040032B1000000000000000000000000000000000000000000000000AA172A31000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F000000009A1CF40100000000316000000000000000000000000000000180C2C1080000000000000000000000059087009802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F400200000100006000000008020000010000000400000090000000001800000005000000000000000300000C0000004000000080000000030000000000000000000000000000000000000000000000B50F110112000000
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
A: device=0xa36d\n
|
|
||||||
A: dma_mask_bits=64\n
|
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
|
||||||
A: driver_override=(null)\n
|
|
||||||
A: enable=1\n
|
|
||||||
L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c
|
|
||||||
A: index=3\n
|
|
||||||
A: irq=125\n
|
|
||||||
A: label=Onboard - Other\n
|
|
||||||
A: local_cpulist=0-5\n
|
|
||||||
A: local_cpus=3f\n
|
|
||||||
A: modalias=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30\n
|
|
||||||
A: msi_bus=1\n
|
|
||||||
A: msi_irqs/125=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 15 20 2112 20\nxHCI ring segments 46 76 4096 76\nbuffer-2048 0 32 2048 16\nbuffer-512 0 32 512 4\nbuffer-128 3 32 128 1\nbuffer-32 0 128 32 1\n
|
|
||||||
A: power/control=on\n
|
|
||||||
A: power/runtime_active_time=837797789\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
A: power/wakeup_abort_count=0\n
|
|
||||||
A: power/wakeup_active=0\n
|
|
||||||
A: power/wakeup_active_count=67\n
|
|
||||||
A: power/wakeup_count=0\n
|
|
||||||
A: power/wakeup_expire_count=67\n
|
|
||||||
A: power/wakeup_last_time_ms=835747082\n
|
|
||||||
A: power/wakeup_max_time_ms=108\n
|
|
||||||
A: power/wakeup_total_time_ms=6974\n
|
|
||||||
A: power_state=D0\n
|
|
||||||
A: resource=0x00000000b1320000 0x00000000b132ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
|
||||||
A: revision=0x10\n
|
|
||||||
A: subsystem_device=0x312a\n
|
|
||||||
A: subsystem_vendor=0x17aa\n
|
|
||||||
A: vendor=0x8086\n
|
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 106 KiB |
@@ -1,220 +0,0 @@
|
|||||||
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10
|
|
||||||
N: bus/usb/001/047=12010002000000405E04CA000001010203010902200001010080820904000002FFFFFF000705810340000807058202400000
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/047
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=45e/ca/100
|
|
||||||
E: TYPE=0/0/0
|
|
||||||
E: BUSNUM=001
|
|
||||||
E: DEVNUM=047
|
|
||||||
E: MAJOR=189
|
|
||||||
E: MINOR=46
|
|
||||||
E: SUBSYSTEM=usb
|
|
||||||
E: ID_VENDOR=Microsoft
|
|
||||||
E: ID_VENDOR_ENC=Microsoft
|
|
||||||
E: ID_VENDOR_ID=045e
|
|
||||||
E: ID_MODEL=Microsoft®_Fingerprint_Reader
|
|
||||||
E: ID_MODEL_ENC=Microsoft®\x20Fingerprint\x20Reader
|
|
||||||
E: ID_MODEL_ID=00ca
|
|
||||||
E: ID_REVISION=0100
|
|
||||||
E: ID_SERIAL=Microsoft_Microsoft®_Fingerprint_Reader__BE815DAD-15E4-0745-AA30-41DEBCAC5913_
|
|
||||||
E: ID_SERIAL_SHORT=_BE815DAD-15E4-0745-AA30-41DEBCAC5913_
|
|
||||||
E: ID_BUS=usb
|
|
||||||
E: ID_USB_INTERFACES=:ffffff:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Microsoft Corp.
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Fingerprint Reader
|
|
||||||
E: ID_PATH=pci-0000:00:14.0-usb-0:10
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_10
|
|
||||||
E: LIBFPRINT_DRIVER=Digital Persona U.are.U 4000/4000B/4500
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_10
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=00\n
|
|
||||||
A: bDeviceProtocol=00\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=260mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0100\n
|
|
||||||
A: bmAttributes=80\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12010002000000405E04CA000001010203010902200001010080820904000002FFFFFF000705810340000807058202400000
|
|
||||||
A: dev=189:46\n
|
|
||||||
A: devnum=47\n
|
|
||||||
A: devpath=10\n
|
|
||||||
L: driver=../../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d/device:57
|
|
||||||
A: idProduct=00ca\n
|
|
||||||
A: idVendor=045e\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Microsoft\n
|
|
||||||
A: maxchild=0\n
|
|
||||||
L: port=../1-0:1.0/usb1-port10
|
|
||||||
A: power/active_duration=31642\n
|
|
||||||
A: power/autosuspend=2\n
|
|
||||||
A: power/autosuspend_delay_ms=2000\n
|
|
||||||
A: power/connected_duration=1177852\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/persist=0\n
|
|
||||||
A: power/runtime_active_time=31877\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=1145731\n
|
|
||||||
A: product=Microsoft\302\256 Fingerprint Reader\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=removable\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial={BE815DAD-15E4-0745-AA30-41DEBCAC5913}\n
|
|
||||||
A: speed=12\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=183\n
|
|
||||||
A: version= 2.00\n
|
|
||||||
|
|
||||||
P: /devices/pci0000:00/0000:00:14.0/usb1
|
|
||||||
N: bus/usb/001/001=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
E: DEVNAME=/dev/bus/usb/001/001
|
|
||||||
E: DEVTYPE=usb_device
|
|
||||||
E: DRIVER=usb
|
|
||||||
E: PRODUCT=1d6b/2/513
|
|
||||||
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.12-200.fc34.x86_64_xhci-hcd
|
|
||||||
E: ID_VENDOR_ENC=Linux\x205.13.12-200.fc34.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.12-200.fc34.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:
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Linux Foundation
|
|
||||||
E: ID_AUTOSUSPEND=1
|
|
||||||
E: ID_MODEL_FROM_DATABASE=2.0 root hub
|
|
||||||
E: ID_PATH=pci-0000:00:14.0
|
|
||||||
E: ID_PATH_TAG=pci-0000_00_14_0
|
|
||||||
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
|
|
||||||
E: TAGS=:seat:
|
|
||||||
E: CURRENT_TAGS=:seat:
|
|
||||||
A: authorized=1\n
|
|
||||||
A: authorized_default=1\n
|
|
||||||
A: avoid_reset_quirk=0\n
|
|
||||||
A: bConfigurationValue=1\n
|
|
||||||
A: bDeviceClass=09\n
|
|
||||||
A: bDeviceProtocol=01\n
|
|
||||||
A: bDeviceSubClass=00\n
|
|
||||||
A: bMaxPacketSize0=64\n
|
|
||||||
A: bMaxPower=0mA\n
|
|
||||||
A: bNumConfigurations=1\n
|
|
||||||
A: bNumInterfaces= 1\n
|
|
||||||
A: bcdDevice=0513\n
|
|
||||||
A: bmAttributes=e0\n
|
|
||||||
A: busnum=1\n
|
|
||||||
A: configuration=
|
|
||||||
H: descriptors=12010002090001406B1D020013050302010109021900010100E0000904000001090000000705810304000C
|
|
||||||
A: dev=189:0\n
|
|
||||||
A: devnum=1\n
|
|
||||||
A: devpath=0\n
|
|
||||||
L: driver=../../../../bus/usb/drivers/usb
|
|
||||||
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c/device:4d
|
|
||||||
A: idProduct=0002\n
|
|
||||||
A: idVendor=1d6b\n
|
|
||||||
A: interface_authorized_default=1\n
|
|
||||||
A: ltm_capable=no\n
|
|
||||||
A: manufacturer=Linux 5.13.12-200.fc34.x86_64 xhci-hcd\n
|
|
||||||
A: maxchild=16\n
|
|
||||||
A: power/active_duration=775798957\n
|
|
||||||
A: power/autosuspend=0\n
|
|
||||||
A: power/autosuspend_delay_ms=0\n
|
|
||||||
A: power/connected_duration=775798957\n
|
|
||||||
A: power/control=auto\n
|
|
||||||
A: power/level=auto\n
|
|
||||||
A: power/runtime_active_time=775798954\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=disabled\n
|
|
||||||
A: power/wakeup_abort_count=\n
|
|
||||||
A: power/wakeup_active=\n
|
|
||||||
A: power/wakeup_active_count=\n
|
|
||||||
A: power/wakeup_count=\n
|
|
||||||
A: power/wakeup_expire_count=\n
|
|
||||||
A: power/wakeup_last_time_ms=\n
|
|
||||||
A: power/wakeup_max_time_ms=\n
|
|
||||||
A: power/wakeup_total_time_ms=\n
|
|
||||||
A: product=xHCI Host Controller\n
|
|
||||||
A: quirks=0x0\n
|
|
||||||
A: removable=unknown\n
|
|
||||||
A: rx_lanes=1\n
|
|
||||||
A: serial=0000:00:14.0\n
|
|
||||||
A: speed=480\n
|
|
||||||
A: tx_lanes=1\n
|
|
||||||
A: urbnum=1381\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:A36D
|
|
||||||
E: PCI_SUBSYS_ID=17AA:312A
|
|
||||||
E: PCI_SLOT_NAME=0000:00:14.0
|
|
||||||
E: MODALIAS=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30
|
|
||||||
E: SUBSYSTEM=pci
|
|
||||||
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
|
|
||||||
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
|
|
||||||
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
|
|
||||||
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
|
|
||||||
E: ID_MODEL_FROM_DATABASE=Cannon Lake PCH USB 3.1 xHCI Host Controller
|
|
||||||
A: ari_enabled=0\n
|
|
||||||
A: broken_parity_status=0\n
|
|
||||||
A: class=0x0c0330\n
|
|
||||||
H: config=86806DA3060490021030030C00008000040032B1000000000000000000000000000000000000000000000000AA172A31000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000970B083900000000316000000000000000000000000000000180C2C1080000000000000000000000059087009802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F400200000100006000000008020000010000000400000090000000001800000005000000000000000300000C0000004000000080000000030000000000000000000000000000000000000000000000B50F110112000000
|
|
||||||
A: consistent_dma_mask_bits=64\n
|
|
||||||
A: d3cold_allowed=1\n
|
|
||||||
A: dbc=disabled\n
|
|
||||||
A: device=0xa36d\n
|
|
||||||
A: dma_mask_bits=64\n
|
|
||||||
L: driver=../../../bus/pci/drivers/xhci_hcd
|
|
||||||
A: driver_override=(null)\n
|
|
||||||
A: enable=1\n
|
|
||||||
L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4c
|
|
||||||
A: index=3\n
|
|
||||||
A: irq=125\n
|
|
||||||
A: label=Onboard - Other\n
|
|
||||||
A: local_cpulist=0-5\n
|
|
||||||
A: local_cpus=3f\n
|
|
||||||
A: modalias=pci:v00008086d0000A36Dsv000017AAsd0000312Abc0Csc03i30\n
|
|
||||||
A: msi_bus=1\n
|
|
||||||
A: msi_irqs/125=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 15 20 2112 20\nxHCI ring segments 46 76 4096 76\nbuffer-2048 0 32 2048 16\nbuffer-512 0 32 512 4\nbuffer-128 3 32 128 1\nbuffer-32 0 128 32 1\n
|
|
||||||
A: power/control=on\n
|
|
||||||
A: power/runtime_active_time=775799103\n
|
|
||||||
A: power/runtime_status=active\n
|
|
||||||
A: power/runtime_suspended_time=0\n
|
|
||||||
A: power/wakeup=enabled\n
|
|
||||||
A: power/wakeup_abort_count=0\n
|
|
||||||
A: power/wakeup_active=0\n
|
|
||||||
A: power/wakeup_active_count=61\n
|
|
||||||
A: power/wakeup_count=0\n
|
|
||||||
A: power/wakeup_expire_count=61\n
|
|
||||||
A: power/wakeup_last_time_ms=773160682\n
|
|
||||||
A: power/wakeup_max_time_ms=108\n
|
|
||||||
A: power/wakeup_total_time_ms=6358\n
|
|
||||||
A: power_state=D0\n
|
|
||||||
A: resource=0x00000000b1320000 0x00000000b132ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
|
|
||||||
A: revision=0x10\n
|
|
||||||
A: subsystem_device=0x312a\n
|
|
||||||
A: subsystem_vendor=0x17aa\n
|
|
||||||
A: vendor=0x8086\n
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user