From 62448492af7a3412267cf68be55e24d7eb530855 Mon Sep 17 00:00:00 2001 From: hermanlin Date: Tue, 10 Aug 2021 16:22:54 +0800 Subject: [PATCH] elanmoc: Adjustments to protocol change (passing an empty user ID) --- libfprint/drivers/elanmoc/elanmoc.c | 2 +- libfprint/drivers/elanmoc/elanmoc.h | 2 +- tests/elanmoc/custom.pcapng | Bin 29940 -> 19368 bytes tests/elanmoc/device | 334 ++++++++++++++-------------- 4 files changed, 170 insertions(+), 168 deletions(-) diff --git a/libfprint/drivers/elanmoc/elanmoc.c b/libfprint/drivers/elanmoc/elanmoc.c index 49ea267..2a9b526 100644 --- a/libfprint/drivers/elanmoc/elanmoc.c +++ b/libfprint/drivers/elanmoc/elanmoc.c @@ -431,7 +431,7 @@ elan_enroll_run_state (FpiSsm *ssm, FpDevice *dev) case MOC_ENROLL_REENROLL_CHECK: data = fpi_ssm_get_data (ssm); cmd_buf = elanmoc_compose_cmd (&elanmoc_check_reenroll_cmd); - cmd_buf[4] = data[16]; + memcpy (cmd_buf + 3, data, ELAN_USERDATE_SIZE); elanmoc_get_cmd (dev, cmd_buf, elanmoc_check_reenroll_cmd.cmd_len, elanmoc_check_reenroll_cmd.resp_len, 0, elanmoc_reenroll_cb); break; diff --git a/libfprint/drivers/elanmoc/elanmoc.h b/libfprint/drivers/elanmoc/elanmoc.h index 84eed7e..daf630e 100644 --- a/libfprint/drivers/elanmoc/elanmoc.h +++ b/libfprint/drivers/elanmoc/elanmoc.h @@ -135,7 +135,7 @@ static const struct elanmoc_cmd elanmoc_set_mod_cmd = { static const struct elanmoc_cmd elanmoc_check_reenroll_cmd = { .cmd_header = {0x40, 0xff, 0x22}, - .cmd_len = 5, + .cmd_len = 3 + ELAN_USERDATE_SIZE, .resp_len = 2, }; diff --git a/tests/elanmoc/custom.pcapng b/tests/elanmoc/custom.pcapng index 63d2a4588c268cb0daee4036358410507c2d0329..a41ac1626fe77062bf0bbfe81773715dd8a9a222 100644 GIT binary patch literal 19368 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 QnE!q=SN$Uy0ZttM1Ehp|k^lez literal 29940 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 diff --git a/tests/elanmoc/device b/tests/elanmoc/device index 8876b8c..8d47c2d 100644 --- a/tests/elanmoc/device +++ b/tests/elanmoc/device @@ -1,14 +1,14 @@ -P: /devices/pci0000:00/0000:00:14.0/usb1/1-3 -N: bus/usb/001/017=1201000200000040F3047E0C06030102000109025300010100A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 -E: DEVNAME=/dev/bus/usb/001/017 +P: /devices/pci0000:00/0000:00:14.0/usb1/1-1 +N: bus/usb/001/010=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 +E: DEVNAME=/dev/bus/usb/001/010 E: DEVTYPE=usb_device E: DRIVER=usb -E: PRODUCT=4f3/c7e/306 +E: PRODUCT=4f3/c7e/305 E: TYPE=0/0/0 E: BUSNUM=001 -E: DEVNUM=017 +E: DEVNUM=010 E: MAJOR=189 -E: MINOR=16 +E: MINOR=9 E: SUBSYSTEM=usb E: ID_VENDOR=ELAN E: ID_VENDOR_ENC=ELAN @@ -16,208 +16,210 @@ E: ID_VENDOR_ID=04f3 E: ID_MODEL=ELAN:ARM-M4 E: ID_MODEL_ENC=ELAN:ARM-M4 E: ID_MODEL_ID=0c7e -E: ID_REVISION=0306 +E: ID_REVISION=0305 E: ID_SERIAL=ELAN_ELAN:ARM-M4 E: ID_BUS=usb E: ID_USB_INTERFACES=:ff0000: E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. -E: ID_PATH=pci-0000:00:14.0-usb-0:3 -E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3 -E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_3 -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=100mA\n -A: bNumConfigurations=1\n -A: bNumInterfaces= 1\n -A: bcdDevice=0306\n -A: bmAttributes=a0\n -A: busnum=1\n -A: configuration= -H: descriptors=1201000200000040F3047E0C06030102000109025300010100A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 -A: dev=189:16\n -A: devnum=17\n -A: devpath=3\n +E: ID_PATH=pci-0000:00:14.0-usb-0:1 +E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1 +A: authorized=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=00 +A: bDeviceProtocol=00 +A: bDeviceSubClass=00 +A: bMaxPacketSize0=64 +A: bMaxPower=100mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=0305 +A: bmAttributes=a0 +A: busnum=1 +A: configuration=add909c9-e67e-4126-a6f7-1e31179e27d9 +H: descriptors=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 +A: dev=189:9 +A: devnum=10 +A: devpath=1 L: driver=../../../../../bus/usb/drivers/usb -L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d/device:20 -A: idProduct=0c7e\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-port3 -A: power/active_duration=2748\n -A: power/autosuspend=2\n -A: power/autosuspend_delay_ms=2000\n -A: power/connected_duration=18266\n -A: power/control=auto\n -A: power/level=auto\n -A: power/persist=1\n -A: power/runtime_active_time=2603\n -A: power/runtime_status=active\n -A: power/runtime_suspended_time=15422\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=ELAN:ARM-M4\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=12\n -A: version= 2.00\n +A: idProduct=0c7e +A: idVendor=04f3 +A: ltm_capable=no +A: manufacturer=ELAN +A: maxchild=0 +L: port=../1-0:1.0/usb1-port1 +A: power/active_duration=94712 +A: power/async=enabled +A: power/autosuspend=2 +A: power/autosuspend_delay_ms=2000 +A: power/connected_duration=94712 +A: power/control=on +A: power/level=on +A: power/persist=1 +A: power/runtime_active_kids=0 +A: power/runtime_active_time=94436 +A: power/runtime_enabled=forbidden +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=1 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: product=ELAN:ARM-M4 +A: quirks=0x0 +A: removable=removable +A: rx_lanes=1 +A: speed=12 +A: tx_lanes=1 +A: urbnum=12 +A: version= 2.00 P: /devices/pci0000:00/0000:00:14.0/usb1 -N: bus/usb/001/001=12010002090001406B1D020012050302010109021900010100E0000904000001090000000705810304000C +N: bus/usb/001/001=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C E: DEVNAME=/dev/bus/usb/001/001 E: DEVTYPE=usb_device E: DRIVER=usb -E: PRODUCT=1d6b/2/512 +E: PRODUCT=1d6b/2/504 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.12.12-300.fc34.x86_64_xhci-hcd -E: ID_VENDOR_ENC=Linux\x205.12.12-300.fc34.x86_64\x20xhci-hcd +E: ID_VENDOR=Linux_5.4.0-42-generic_xhci-hcd +E: ID_VENDOR_ENC=Linux\x205.4.0-42-generic\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=0512 -E: ID_SERIAL=Linux_5.12.12-300.fc34.x86_64_xhci-hcd_xHCI_Host_Controller_0000:00:14.0 +E: ID_REVISION=0504 +E: ID_SERIAL=Linux_5.4.0-42-generic_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=0512\n -A: bmAttributes=e0\n -A: busnum=1\n +A: authorized=1 +A: authorized_default=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=09 +A: bDeviceProtocol=01 +A: bDeviceSubClass=00 +A: bMaxPacketSize0=64 +A: bMaxPower=0mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=0504 +A: bmAttributes=e0 +A: busnum=1 A: configuration= -H: descriptors=12010002090001406B1D020012050302010109021900010100E0000904000001090000000705810304000C -A: dev=189:0\n -A: devnum=1\n -A: devpath=0\n +H: descriptors=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C +A: dev=189:0 +A: devnum=1 +A: devpath=0 L: driver=../../../../bus/usb/drivers/usb -L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d -A: idProduct=0002\n -A: idVendor=1d6b\n -A: interface_authorized_default=1\n -A: ltm_capable=no\n -A: manufacturer=Linux 5.12.12-300.fc34.x86_64 xhci-hcd\n -A: maxchild=12\n -A: power/active_duration=187216979\n -A: power/autosuspend=0\n -A: power/autosuspend_delay_ms=0\n -A: power/connected_duration=187239996\n -A: power/control=auto\n -A: power/level=auto\n -A: power/runtime_active_time=187220224\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=3372\n -A: version= 2.00\n +A: idProduct=0002 +A: idVendor=1d6b +A: interface_authorized_default=1 +A: ltm_capable=no +A: manufacturer=Linux 5.4.0-42-generic xhci-hcd +A: maxchild=12 +A: power/active_duration=74604360 +A: power/async=enabled +A: power/autosuspend=0 +A: power/autosuspend_delay_ms=0 +A: power/connected_duration=74606456 +A: power/control=auto +A: power/level=auto +A: power/runtime_active_kids=4 +A: power/runtime_active_time=74605838 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: product=xHCI Host Controller +A: quirks=0x0 +A: removable=unknown +A: rx_lanes=1 +A: serial=0000:00:14.0 +A: speed=480 +A: tx_lanes=1 +A: urbnum=490 +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 +E: PCI_SUBSYS_ID=103C:85EF E: PCI_SLOT_NAME=0000:00:14.0 -E: MODALIAS=pci:v00008086d00009DEDsv000017AAsd00002292bc0Csc03i30 +E: MODALIAS=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30 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=8680ED9D060490021130030C00008000040022EA000000000000000000000000000000000000000000000000AA179222000000007000000000000000FF010000 -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 +A: ari_enabled=0 +A: broken_parity_status=0 +A: class=0x0c0330 +H: config=8680ED9D060490023030030C00008000040030A10000000000000000000000000000000000000000000000003C10EF85000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000181C030400000000316000000000000000000000000000000180C2C1080000000000000000000000059087007802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000B50F300112000000 +A: consistent_dma_mask_bits=64 +A: d3cold_allowed=1 +A: dbc=disabled +A: device=0x9ded +A: dma_mask_bits=64 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 58 62 4096 62\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=187221117\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 +A: driver_override=(null) +A: enable=1 +A: irq=124 +A: local_cpulist=0-3 +A: local_cpus=f +A: modalias=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30 +A: msi_bus=1 +A: msi_irqs/124=msi +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 +A: power/async=enabled +A: power/control=auto +A: power/runtime_active_kids=1 +A: power/runtime_active_time=74606194 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: power/wakeup=enabled +A: power/wakeup_abort_count=0 +A: power/wakeup_active=0 +A: power/wakeup_active_count=0 +A: power/wakeup_count=0 +A: power/wakeup_expire_count=0 +A: power/wakeup_last_time_ms=0 +A: power/wakeup_max_time_ms=0 +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 +A: revision=0x30 +A: subsystem_device=0x85ef +A: subsystem_vendor=0x103c +A: vendor=0x8086