C
CB.TH
Guest
Hi, we are a company who develops UMDF2 based driver for our fingerprint sensor.
Our question is as below.
- We developed our UMDF2 based driver for fingerprint sensor, based on Windows 10 1903(19H1)
- When we do HLK test on our driver, it gets succeeded result on its operation as <Picture 1> in 'Directed FX Single Device Test' item.
- But it's actually ended with 'FAIL' result, during its "TestMethodCleanup' process.
- Is there any way to avoid this issue?
Below is the routine we checked this issue further. There's no problem as <Picture 4> by 'pwrtest command' testing.
1. We got 'FAIL' on "Directed FX Single Device Test" item of HLK Test.
<Picture 1> - The Client PC screen during HLK Test
<Picture 2> The Server PC Screen for HLK Test Result
2. As seen on <Picture 1>, we get "PASS" on its functional test, but get "FAIL" during "TestMethodCleanup" item after then. So, it's finally finished as "FAIL" in DFx item eventually as <Picture 2>.
3. When we checked Windows Event Viewer in our Client PC, we can check there's a crash occurred in "te.processhost.exe" as <Picture 3-3>
<Picture 3-1> "0xc0000374" error(STATUS_HEAP_CORRUPTION) is occurred in te.processhost.exe
<Picture 3-2> Event Viewer Details
<Picture 3-3> Event Viewer HLK Log
-> It was crashed by ArgumentNullException occured, due to get "NULL" argument on calling "BuildCopyFileInfosForDirectory" function inside te.processhost.exe
4. When we tried to do independent test by "pwrtest command" in command line, we can check DFx test is succeeded as below.
C:\Windows\system32>pwrtest /directedfx /device:"USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000" /p:10 /c:1
Device string in use: $Console:enablelvl=Msg|Error|Warn|Assert
WTTLogger_CPP_GitEnlistment(winpbld); Version: 2.7.3483.0
SYSTEM_POWER_CAPABILITIES
SystemS1StateSupported = 0
SystemS2StateSupported = 0
SystemS3StateSupported = 0
SystemS4StateSupported = 1
SystemS5StateSupported = 1
WakeAlarmPresent = 1
AcOnLineWakeSupported = 0
RtcWakeSupported = S4
FastSystemS4 = 0
VideoDimPresent = 1
HiberFilePresent = 1
AoAc = 1
Directed FX capable devices:
- Realtek High Definition Audio (INTELAUDIO\FUNC_01&VEN_10EC&DEV_0298&SUBSYS_144DC169&REV_1001\4&7b80604&0&0001) = INTELAUDIO\FUNC_01&VEN_10EC&DEV_0298&SUBSYS_144DC169&REV_1001\4&7b80604&0&0001
- Intel(R) Display Audio (INTELAUDIO\FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&7b80604&0&0201) = INTELAUDIO\FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&7b80604&0&0201
- Intel(R) UHD Graphics 620 (\_SB.PCI0.GFX0) = PCI\VEN_8086&DEV_3EA0&SUBSYS_C169144D&REV_00\3&11583659&0&10
- CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000) = USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000
Directed FX devices to test:
Registering device 'USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000'.
Starting Cycle 1
Entering connected standby for '10' seconds.
Gathering events...
Idle Resiliency was engaged for 2.557s.
Directed Drips was disengaged for 5.630ms.
- Watchdog Debounce (0) = 0s
- Transition Lock (0) = 0s
- Wait Wake (0) = 0s
- Device Surprise Powered On (0) = 0s
- PNP (1) = 5.630ms
Device 'CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000)':
Flags: 0x0000000F
Instance Path: USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000
Broadcast Tree Id: 0
Dfx Transitions: 2
Transition Flags: 0x00060000
Max Power Up Time: 1.745ms
Max Power Down Time: 107.942ms
Broadcast Tree 0:
CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000):
DFX Transition Count: 2
Total Cycles = 1, Passed Cycles = 1, Failed Cycles = 0
Unregistering device 'USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000'.
C:\Windows\system32>
Continue reading...
Our question is as below.
- We developed our UMDF2 based driver for fingerprint sensor, based on Windows 10 1903(19H1)
- When we do HLK test on our driver, it gets succeeded result on its operation as <Picture 1> in 'Directed FX Single Device Test' item.
- But it's actually ended with 'FAIL' result, during its "TestMethodCleanup' process.
- Is there any way to avoid this issue?
Below is the routine we checked this issue further. There's no problem as <Picture 4> by 'pwrtest command' testing.
1. We got 'FAIL' on "Directed FX Single Device Test" item of HLK Test.
<Picture 1> - The Client PC screen during HLK Test
<Picture 2> The Server PC Screen for HLK Test Result
2. As seen on <Picture 1>, we get "PASS" on its functional test, but get "FAIL" during "TestMethodCleanup" item after then. So, it's finally finished as "FAIL" in DFx item eventually as <Picture 2>.
3. When we checked Windows Event Viewer in our Client PC, we can check there's a crash occurred in "te.processhost.exe" as <Picture 3-3>
<Picture 3-1> "0xc0000374" error(STATUS_HEAP_CORRUPTION) is occurred in te.processhost.exe
<Picture 3-2> Event Viewer Details
<Picture 3-3> Event Viewer HLK Log
-> It was crashed by ArgumentNullException occured, due to get "NULL" argument on calling "BuildCopyFileInfosForDirectory" function inside te.processhost.exe
4. When we tried to do independent test by "pwrtest command" in command line, we can check DFx test is succeeded as below.
C:\Windows\system32>pwrtest /directedfx /device:"USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000" /p:10 /c:1
Device string in use: $Console:enablelvl=Msg|Error|Warn|Assert
WTTLogger_CPP_GitEnlistment(winpbld); Version: 2.7.3483.0
SYSTEM_POWER_CAPABILITIES
SystemS1StateSupported = 0
SystemS2StateSupported = 0
SystemS3StateSupported = 0
SystemS4StateSupported = 1
SystemS5StateSupported = 1
WakeAlarmPresent = 1
AcOnLineWakeSupported = 0
RtcWakeSupported = S4
FastSystemS4 = 0
VideoDimPresent = 1
HiberFilePresent = 1
AoAc = 1
Directed FX capable devices:
- Realtek High Definition Audio (INTELAUDIO\FUNC_01&VEN_10EC&DEV_0298&SUBSYS_144DC169&REV_1001\4&7b80604&0&0001) = INTELAUDIO\FUNC_01&VEN_10EC&DEV_0298&SUBSYS_144DC169&REV_1001\4&7b80604&0&0001
- Intel(R) Display Audio (INTELAUDIO\FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&7b80604&0&0201) = INTELAUDIO\FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&7b80604&0&0201
- Intel(R) UHD Graphics 620 (\_SB.PCI0.GFX0) = PCI\VEN_8086&DEV_3EA0&SUBSYS_C169144D&REV_00\3&11583659&0&10
- CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000) = USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000
Directed FX devices to test:
Registering device 'USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000'.
Starting Cycle 1
Entering connected standby for '10' seconds.
Gathering events...
Idle Resiliency was engaged for 2.557s.
Directed Drips was disengaged for 5.630ms.
- Watchdog Debounce (0) = 0s
- Transition Lock (0) = 0s
- Wait Wake (0) = 0s
- Device Surprise Powered On (0) = 0s
- PNP (1) = 5.630ms
Device 'CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000)':
Flags: 0x0000000F
Instance Path: USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000
Broadcast Tree Id: 0
Dfx Transitions: 2
Transition Flags: 0x00060000
Max Power Up Time: 1.745ms
Max Power Down Time: 107.942ms
Broadcast Tree 0:
CanvasBio Fingerprint Driver (USB\VID_04E8&PID_730A&MI_00\6&ca7338&3&0000):
DFX Transition Count: 2
Total Cycles = 1, Passed Cycles = 1, Failed Cycles = 0
Unregistering device 'USB\VID_04E8&PID_730A&MI_00\6&CA7338&3&0000'.
C:\Windows\system32>
Continue reading...