nb2033: Add umockdev test for NB-2033-U driver

Add USB capture replay test using umockdev, generated with
create-driver-test.py on a Fujitsu notebook with NB-2033-U reader.

Signed-off-by: Sebastian van de Meer <kernel-error@kernel-error.com>
This commit is contained in:
Sebastian van de Meer 2026-03-18 06:42:04 +01:00
parent 2ea0813c15
commit aafc6eadb8
4 changed files with 379 additions and 0 deletions

View file

@ -50,6 +50,7 @@ drivers_tests = [
'vfs7552',
'goodixmoc',
'nb1010',
'nb2033',
'egis0570',
'egismoc',
'egismoc-05a1',

BIN
tests/nb2033/capture.pcapng Normal file

Binary file not shown.

BIN
tests/nb2033/capture.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

378
tests/nb2033/device Normal file
View file

@ -0,0 +1,378 @@
P: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.1
N: bus/usb/001/006=12010002000000408D29332001000102030109022000010104A0FA0904000002FFFFFF050705810240000007050202400000
E: BUSNUM=001
E: CURRENT_TAGS=:seat:
E: DEVNAME=/dev/bus/usb/001/006
E: DEVNUM=006
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_AUTOSUSPEND=1
E: ID_BUS=usb
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_6_1
E: ID_MODEL=NB-2033-U
E: ID_MODEL_ENC=NB-2033-U
E: ID_MODEL_ID=2033
E: ID_PATH=pci-0000:00:14.0-usb-0:6.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_6_1
E: ID_PATH_WITH_USB_REVISION=pci-0000:00:14.0-usbv2-0:6.1
E: ID_PERSIST=0
E: ID_REVISION=0001
E: ID_SERIAL=NEXT_Biometrics_NB-2033-U_205D333C4353
E: ID_SERIAL_SHORT=205D333C4353
E: ID_USB_INTERFACES=:ffffff:
E: ID_USB_MODEL=NB-2033-U
E: ID_USB_MODEL_ENC=NB-2033-U
E: ID_USB_MODEL_ID=2033
E: ID_USB_REVISION=0001
E: ID_USB_SERIAL=NEXT_Biometrics_NB-2033-U_205D333C4353
E: ID_USB_SERIAL_SHORT=205D333C4353
E: ID_USB_VENDOR=NEXT_Biometrics
E: ID_USB_VENDOR_ENC=NEXT\x20Biometrics
E: ID_USB_VENDOR_ID=298d
E: ID_VENDOR=NEXT_Biometrics
E: ID_VENDOR_ENC=NEXT\x20Biometrics
E: ID_VENDOR_FROM_DATABASE=Next Biometrics
E: ID_VENDOR_ID=298d
E: MAJOR=189
E: MINOR=5
E: PRODUCT=298d/2033/1
E: SUBSYSTEM=usb
E: TAGS=:seat:
E: TYPE=0/0/0
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=500mA\n
A: bNumConfigurations=1\n
A: bNumInterfaces= 1\n
A: bcdDevice=0001\n
A: bmAttributes=a0\n
A: busnum=1\n
A: configuration=Default Config\n
H: descriptors=12010002000000408D29332001000102030109022000010104A0FA0904000002FFFFFF050705810240000007050202400000
A: dev=189:5\n
A: devnum=6\n
A: devpath=6.1\n
L: driver=../../../../../../bus/usb/drivers/usb
L: firmware_node=../../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d/device:2b/device:2c
A: idProduct=2033\n
A: idVendor=298d\n
A: ltm_capable=no\n
A: manufacturer=NEXT Biometrics\n
A: maxchild=0\n
A: physical_location/dock=no\n
A: physical_location/horizontal_position=left\n
A: physical_location/lid=no\n
A: physical_location/panel=unknown\n
A: physical_location/vertical_position=upper\n
L: port=../1-6:1.0/1-6-port1
A: power/active_duration=214490\n
A: power/async=enabled\n
A: power/autosuspend=2\n
A: power/autosuspend_delay_ms=2000\n
A: power/connected_duration=767786\n
A: power/control=auto\n
A: power/level=auto\n
A: power/persist=0\n
A: power/runtime_active_kids=0\n
A: power/runtime_active_time=214663\n
A: power/runtime_enabled=enabled\n
A: power/runtime_status=active\n
A: power/runtime_suspended_time=552975\n
A: power/runtime_usage=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=NB-2033-U\n
A: quirks=0x0\n
A: removable=fixed\n
A: rx_lanes=1\n
A: serial=205D333C4353\n
A: speed=12\n
A: tx_lanes=1\n
A: urbnum=17164\n
A: version= 2.00\n
P: /devices/pci0000:00/0000:00:14.0/usb1/1-6
N: bus/usb/001/002=1201000209000140E305080632880001000109021900010100E0320904000001090000000705810301000C
E: BUSNUM=001
E: CURRENT_TAGS=:seat:
E: DEVNAME=/dev/bus/usb/001/002
E: DEVNUM=002
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_6
E: ID_MODEL=USB2.0_Hub
E: ID_MODEL_ENC=USB2.0\x20Hub
E: ID_MODEL_FROM_DATABASE=Hub
E: ID_MODEL_ID=0608
E: ID_PATH=pci-0000:00:14.0-usb-0:6
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_6
E: ID_PATH_WITH_USB_REVISION=pci-0000:00:14.0-usbv2-0:6
E: ID_REVISION=8832
E: ID_SERIAL=05e3_USB2.0_Hub
E: ID_USB_INTERFACES=:090000:
E: ID_USB_MODEL=USB2.0_Hub
E: ID_USB_MODEL_ENC=USB2.0\x20Hub
E: ID_USB_MODEL_ID=0608
E: ID_USB_REVISION=8832
E: ID_USB_SERIAL=05e3_USB2.0_Hub
E: ID_USB_VENDOR=05e3
E: ID_USB_VENDOR_ENC=05e3
E: ID_USB_VENDOR_ID=05e3
E: ID_VENDOR=05e3
E: ID_VENDOR_ENC=05e3
E: ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
E: ID_VENDOR_ID=05e3
E: MAJOR=189
E: MINOR=1
E: PRODUCT=5e3/608/8832
E: SUBSYSTEM=usb
E: TAGS=:seat:
E: TYPE=9/0/1
A: authorized=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=100mA\n
A: bNumConfigurations=1\n
A: bNumInterfaces= 1\n
A: bcdDevice=8832\n
A: bmAttributes=e0\n
A: busnum=1\n
A: configuration=
H: descriptors=1201000209000140E305080632880001000109021900010100E0320904000001090000000705810301000C
A: dev=189:1\n
A: devnum=2\n
A: devpath=6\n
L: driver=../../../../../bus/usb/drivers/usb
L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d/device:2b
A: idProduct=0608\n
A: idVendor=05e3\n
A: ltm_capable=no\n
A: maxchild=4\n
A: physical_location/dock=no\n
A: physical_location/horizontal_position=left\n
A: physical_location/lid=no\n
A: physical_location/panel=unknown\n
A: physical_location/vertical_position=upper\n
L: port=../1-0:1.0/usb1-port6
A: power/active_duration=382588\n
A: power/async=enabled\n
A: power/autosuspend=0\n
A: power/autosuspend_delay_ms=0\n
A: power/connected_duration=1148422\n
A: power/control=auto\n
A: power/level=auto\n
A: power/runtime_active_kids=1\n
A: power/runtime_active_time=383001\n
A: power/runtime_enabled=enabled\n
A: power/runtime_status=active\n
A: power/runtime_suspended_time=765185\n
A: power/runtime_usage=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=USB2.0 Hub\n
A: quirks=0x0\n
A: removable=fixed\n
A: rx_lanes=1\n
A: speed=480\n
A: tx_lanes=1\n
A: urbnum=244\n
A: version= 2.00\n
P: /devices/pci0000:00/0000:00:14.0/usb1
N: bus/usb/001/001=12010002090001406B1D020017060302010109021900010100E0000904000001090000000705810304000C
E: BUSNUM=001
E: CURRENT_TAGS=:seat:
E: DEVNAME=/dev/bus/usb/001/001
E: DEVNUM=001
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_AUTOSUSPEND=1
E: ID_BUS=usb
E: ID_FOR_SEAT=usb-pci-0000_00_14_0
E: ID_MODEL=xHCI_Host_Controller
E: ID_MODEL_ENC=xHCI\x20Host\x20Controller
E: ID_MODEL_FROM_DATABASE=2.0 root hub
E: ID_MODEL_ID=0002
E: ID_PATH=pci-0000:00:14.0
E: ID_PATH_TAG=pci-0000_00_14_0
E: ID_REVISION=0617
E: ID_SERIAL=Linux_6.17.0-19-generic_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
E: ID_SERIAL_SHORT=0000:00:14.0
E: ID_USB_INTERFACES=:090000:
E: ID_USB_MODEL=xHCI_Host_Controller
E: ID_USB_MODEL_ENC=xHCI\x20Host\x20Controller
E: ID_USB_MODEL_ID=0002
E: ID_USB_REVISION=0617
E: ID_USB_SERIAL=Linux_6.17.0-19-generic_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
E: ID_USB_SERIAL_SHORT=0000:00:14.0
E: ID_USB_VENDOR=Linux_6.17.0-19-generic_xhci-hcd
E: ID_USB_VENDOR_ENC=Linux\x206.17.0-19-generic\x20xhci-hcd
E: ID_USB_VENDOR_ID=1d6b
E: ID_VENDOR=Linux_6.17.0-19-generic_xhci-hcd
E: ID_VENDOR_ENC=Linux\x206.17.0-19-generic\x20xhci-hcd
E: ID_VENDOR_FROM_DATABASE=Linux Foundation
E: ID_VENDOR_ID=1d6b
E: MAJOR=189
E: MINOR=0
E: PRODUCT=1d6b/2/617
E: SUBSYSTEM=usb
E: TAGS=:seat:
E: TYPE=9/0/1
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=0617\n
A: bmAttributes=e0\n
A: busnum=1\n
A: configuration=
H: descriptors=12010002090001406B1D020017060302010109021900010100E0000904000001090000000705810304000C
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: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 6.17.0-19-generic xhci-hcd\n
A: maxchild=12\n
A: power/active_duration=396820\n
A: power/async=enabled\n
A: power/autosuspend=0\n
A: power/autosuspend_delay_ms=0\n
A: power/connected_duration=1148561\n
A: power/control=auto\n
A: power/level=auto\n
A: power/runtime_active_kids=1\n
A: power/runtime_active_time=396815\n
A: power/runtime_enabled=enabled\n
A: power/runtime_status=active\n
A: power/runtime_suspended_time=751744\n
A: power/runtime_usage=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=382\n
A: version= 2.00\n
P: /devices/pci0000:00/0000:00:14.0
E: DRIVER=xhci_hcd
E: ID_AUTOSUSPEND=1
E: ID_MODEL_FROM_DATABASE=Comet Lake PCH-LP USB 3.1 xHCI Host Controller
E: ID_PATH=pci-0000:00:14.0
E: ID_PATH_TAG=pci-0000_00_14_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: MODALIAS=pci:v00008086d000002EDsv00001E26sd0000003Fbc0Csc03i30
E: PCI_CLASS=C0330
E: PCI_ID=8086:02ED
E: PCI_SLOT_NAME=0000:00:14.0
E: PCI_SUBSYS_ID=1E26:003F
E: SUBSYSTEM=pci
A: ari_enabled=0\n
A: broken_parity_status=0\n
A: class=0x0c0330\n
H: config=8680ED02060490020030030C00008000040012A2000000000000000000000000000000000000000000000000261E3F00000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F000000000000000000000000316000000000000000000000000000000180C2C10800000000000000000000000590B7001804E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B50F000112000000
A: consistent_dma_mask_bits=64\n
A: d3cold_allowed=1\n
A: dbc=disabled\n
A: dbc_bInterfaceProtocol=01\n
A: dbc_bcdDevice=0010\n
A: dbc_idProduct=0010\n
A: dbc_idVendor=1d6b\n
A: dbc_poll_interval_ms=64\n
A: device=0x02ed\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
L: iommu=../../virtual/iommu/dmar1
L: iommu_group=../../../kernel/iommu_groups/2
A: irq=126\n
A: local_cpulist=0-7\n
A: local_cpus=ff\n
A: modalias=pci:v00008086d000002EDsv00001E26sd0000003Fbc0Csc03i30\n
A: msi_bus=1\n
A: msi_irqs/126=msi\n
A: msi_irqs/127=msi\n
A: msi_irqs/128=msi\n
A: msi_irqs/129=msi\n
A: msi_irqs/130=msi\n
A: msi_irqs/131=msi\n
A: msi_irqs/132=msi\n
A: msi_irqs/133=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 256 port bw ctx arrays 0 0 256 0\nxHCI 1KB stream ctx arrays 0 0 1024 0\nxHCI 256 byte stream ctx arrays 0 0 256 0\nxHCI input/output contexts 8 9 2112 9\nxHCI ring segments 29 29 4096 29\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0\n
A: power/async=enabled\n
A: power/control=auto\n
A: power/runtime_active_kids=1\n
A: power/runtime_active_time=397455\n
A: power/runtime_enabled=enabled\n
A: power/runtime_status=active\n
A: power/runtime_suspended_time=751497\n
A: power/runtime_usage=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=0x00000000a2120000 0x00000000a212ffff 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=0x00\n
A: subsystem_device=0x003f\n
A: subsystem_vendor=0x1e26\n
A: vendor=0x8086\n