Windows biometric framework sample umdf driver: This device cannot start. (Code 10)The device cannot start . (code 10) error in umdf driver developmentUMDF driver for loopback joystick deviceWindows Kernel Driver signing and service creationInf2Cat error when compile sample code from “Windows Driver Kit (WDK) 8.0 Samples”How to fix preinstalled driver on Windows 8.1Virtual printer driver INF configuration for v4 print drivesThe device cannot start . (code 10) error in umdf driver developmentHow do I test the WDK 8.1 scanner file system minifilter driver sample?WDK Driver load issue (The service cannot be started, either because it is disabled)VerifyTrustFailed for C:Windowssystem32WdfCoInstaller01011.dllDetails about signed Windows driver
Iterate over non-const variables in C++
(1 of 11: Numberlink) What is Pyramid Cult's Favorite Activity?
High income, sudden windfall
Convert a string like 4h53m12s to a total number of seconds in JavaScript
Airplanes in static display at Whiteman AFB
USA: Can a witness take the 5th to avoid perjury?
The seven story archetypes. Are they truly all of them?
How do professional electronic musicians/sound engineers combat listening fatigue?
Does academia have a lazy work culture?
Area of parallelogram = Area of square. Shear transform
Why no ";" after "do" in sh loops?
What do I do when a student working in my lab "ghosts" me?
How to copy a file transactionally?
How do we explain the E major chord in this progression?
Strange Cron Job takes up 100% of CPU Ubuntu 18 LTS Server
Can a teleportation spell to a false destination have no similar area?
Is the "cosmological constant tension" the prime reason that we believe the expansion of the universe is accelerating?
What exactly makes a General Products hull nearly indestructible?
What does Kasparov mean by "I was behind in three and even in one after six games"?
Which Roman general was killed by his own soldiers for not letting them to loot a newly conquered city?
Are there any examples of technologies have been lost over time?
Why is a dedicated QA team member necessary?
What is the meaning of "you has the wind of me"?
Anagramming in sixes
Windows biometric framework sample umdf driver: This device cannot start. (Code 10)
The device cannot start . (code 10) error in umdf driver developmentUMDF driver for loopback joystick deviceWindows Kernel Driver signing and service creationInf2Cat error when compile sample code from “Windows Driver Kit (WDK) 8.0 Samples”How to fix preinstalled driver on Windows 8.1Virtual printer driver INF configuration for v4 print drivesThe device cannot start . (code 10) error in umdf driver developmentHow do I test the WDK 8.1 scanner file system minifilter driver sample?WDK Driver load issue (The service cannot be started, either because it is disabled)VerifyTrustFailed for C:Windowssystem32WdfCoInstaller01011.dllDetails about signed Windows driver
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am trying to run a windows biometric driver sample and I am naive to driver development
I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on my Windows 10 Pro version 1803.
I am using a Fingerprint Morpho Device 1300 E3
Driver got installed successfully but there is one error showing up:
This device cannot start. (Code 10)
The specified request is not a valid operation for the target device.
I reviewed the file C:WindowsINFsetupapi.dev.log
It shows the next warnings:
sig: _VERIFY_FILE_SIGNATURE 10:13:03.130
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ewudfbiousbsample.inf
sig: Catalog = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ebiometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
!!! dvi: Device not started: Device has problem: 0x0a (CM_PROB_FAILED_START), problem status: 0xc0000450.
But I installed the TestCertificate on the Trusted Root Certification Authorities and Trusted Publishers on the local machine
I also checked the EventViewer:
Application and Services Logs > MicrosoftWindowsCodeIntegrity
Application and Services Logs > MicrosoftWindowsBiometrics
I tried to debug with wdfverifier.exe following some videos from msdn but the process is not started so I couldn't debug :(
I verified that Visual Studio is not signing the EngineAdapter.dll plugin file so I disabled driver signing and did it manually following this paper. But I get the same error code 10 :(
I also wondered if error code 10 is this the expected behavior because the code of EngineAdapter.dll is not implemented.
UPDATE: I am testing on a Windows 10 Pro Version 1709 Virtual Machine VMWare and I get other error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
!!! dvi: Device not started: Device has problem: 0x1f (CM_PROB_FAILED_ADD), problem status: 0xc0000001.
And the same warnings:
sig: _VERIFY_FILE_SIGNATURE 17:19:01.646
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: _VERIFY_FILE_SIGNATURE exit(0x800b0109) 17:19:01.661
sig: _VERIFY_FILE_SIGNATURE 17:19:01.676
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
sig: _VERIFY_FILE_SIGNATURE exit(0xe0000241) 17:19:01.708
sto: DRIVERSTORE IMPORT VALIDATE: exit(0x00000000) 17:19:01.739
Full log file here setupapi.dev.log
I tought the driver does not load because the warnings about the certificate or the error could be somewhere else.
If someone could give me a small advice to continue. I am stuck now :(
Many Thanks.
c++ wdk umdf wbf wbdi
add a comment |
I am trying to run a windows biometric driver sample and I am naive to driver development
I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on my Windows 10 Pro version 1803.
I am using a Fingerprint Morpho Device 1300 E3
Driver got installed successfully but there is one error showing up:
This device cannot start. (Code 10)
The specified request is not a valid operation for the target device.
I reviewed the file C:WindowsINFsetupapi.dev.log
It shows the next warnings:
sig: _VERIFY_FILE_SIGNATURE 10:13:03.130
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ewudfbiousbsample.inf
sig: Catalog = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ebiometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
!!! dvi: Device not started: Device has problem: 0x0a (CM_PROB_FAILED_START), problem status: 0xc0000450.
But I installed the TestCertificate on the Trusted Root Certification Authorities and Trusted Publishers on the local machine
I also checked the EventViewer:
Application and Services Logs > MicrosoftWindowsCodeIntegrity
Application and Services Logs > MicrosoftWindowsBiometrics
I tried to debug with wdfverifier.exe following some videos from msdn but the process is not started so I couldn't debug :(
I verified that Visual Studio is not signing the EngineAdapter.dll plugin file so I disabled driver signing and did it manually following this paper. But I get the same error code 10 :(
I also wondered if error code 10 is this the expected behavior because the code of EngineAdapter.dll is not implemented.
UPDATE: I am testing on a Windows 10 Pro Version 1709 Virtual Machine VMWare and I get other error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
!!! dvi: Device not started: Device has problem: 0x1f (CM_PROB_FAILED_ADD), problem status: 0xc0000001.
And the same warnings:
sig: _VERIFY_FILE_SIGNATURE 17:19:01.646
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: _VERIFY_FILE_SIGNATURE exit(0x800b0109) 17:19:01.661
sig: _VERIFY_FILE_SIGNATURE 17:19:01.676
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
sig: _VERIFY_FILE_SIGNATURE exit(0xe0000241) 17:19:01.708
sto: DRIVERSTORE IMPORT VALIDATE: exit(0x00000000) 17:19:01.739
Full log file here setupapi.dev.log
I tought the driver does not load because the warnings about the certificate or the error could be somewhere else.
If someone could give me a small advice to continue. I am stuck now :(
Many Thanks.
c++ wdk umdf wbf wbdi
This may or may not help, but I often useprocmonfrom SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background:procmonis a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.
– ArtHare
Feb 21 at 14:25
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29
add a comment |
I am trying to run a windows biometric driver sample and I am naive to driver development
I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on my Windows 10 Pro version 1803.
I am using a Fingerprint Morpho Device 1300 E3
Driver got installed successfully but there is one error showing up:
This device cannot start. (Code 10)
The specified request is not a valid operation for the target device.
I reviewed the file C:WindowsINFsetupapi.dev.log
It shows the next warnings:
sig: _VERIFY_FILE_SIGNATURE 10:13:03.130
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ewudfbiousbsample.inf
sig: Catalog = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ebiometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
!!! dvi: Device not started: Device has problem: 0x0a (CM_PROB_FAILED_START), problem status: 0xc0000450.
But I installed the TestCertificate on the Trusted Root Certification Authorities and Trusted Publishers on the local machine
I also checked the EventViewer:
Application and Services Logs > MicrosoftWindowsCodeIntegrity
Application and Services Logs > MicrosoftWindowsBiometrics
I tried to debug with wdfverifier.exe following some videos from msdn but the process is not started so I couldn't debug :(
I verified that Visual Studio is not signing the EngineAdapter.dll plugin file so I disabled driver signing and did it manually following this paper. But I get the same error code 10 :(
I also wondered if error code 10 is this the expected behavior because the code of EngineAdapter.dll is not implemented.
UPDATE: I am testing on a Windows 10 Pro Version 1709 Virtual Machine VMWare and I get other error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
!!! dvi: Device not started: Device has problem: 0x1f (CM_PROB_FAILED_ADD), problem status: 0xc0000001.
And the same warnings:
sig: _VERIFY_FILE_SIGNATURE 17:19:01.646
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: _VERIFY_FILE_SIGNATURE exit(0x800b0109) 17:19:01.661
sig: _VERIFY_FILE_SIGNATURE 17:19:01.676
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
sig: _VERIFY_FILE_SIGNATURE exit(0xe0000241) 17:19:01.708
sto: DRIVERSTORE IMPORT VALIDATE: exit(0x00000000) 17:19:01.739
Full log file here setupapi.dev.log
I tought the driver does not load because the warnings about the certificate or the error could be somewhere else.
If someone could give me a small advice to continue. I am stuck now :(
Many Thanks.
c++ wdk umdf wbf wbdi
I am trying to run a windows biometric driver sample and I am naive to driver development
I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on my Windows 10 Pro version 1803.
I am using a Fingerprint Morpho Device 1300 E3
Driver got installed successfully but there is one error showing up:
This device cannot start. (Code 10)
The specified request is not a valid operation for the target device.
I reviewed the file C:WindowsINFsetupapi.dev.log
It shows the next warnings:
sig: _VERIFY_FILE_SIGNATURE 10:13:03.130
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ewudfbiousbsample.inf
sig: Catalog = C:WINDOWSSystem32DriverStoreTempee9ffca3-751f-0b4e-a7ac-dce2543d995ebiometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
!!! dvi: Device not started: Device has problem: 0x0a (CM_PROB_FAILED_START), problem status: 0xc0000450.
But I installed the TestCertificate on the Trusted Root Certification Authorities and Trusted Publishers on the local machine
I also checked the EventViewer:
Application and Services Logs > MicrosoftWindowsCodeIntegrity
Application and Services Logs > MicrosoftWindowsBiometrics
I tried to debug with wdfverifier.exe following some videos from msdn but the process is not started so I couldn't debug :(
I verified that Visual Studio is not signing the EngineAdapter.dll plugin file so I disabled driver signing and did it manually following this paper. But I get the same error code 10 :(
I also wondered if error code 10 is this the expected behavior because the code of EngineAdapter.dll is not implemented.
UPDATE: I am testing on a Windows 10 Pro Version 1709 Virtual Machine VMWare and I get other error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
!!! dvi: Device not started: Device has problem: 0x1f (CM_PROB_FAILED_ADD), problem status: 0xc0000001.
And the same warnings:
sig: _VERIFY_FILE_SIGNATURE 17:19:01.646
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: _VERIFY_FILE_SIGNATURE exit(0x800b0109) 17:19:01.661
sig: _VERIFY_FILE_SIGNATURE 17:19:01.676
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1wudfbiousbsample.inf
sig: Catalog = C:WindowsSystem32DriverStoreTemp85323f79-3f5f-f84c-a52b-639b6ae57db1biometrics.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
sig: _VERIFY_FILE_SIGNATURE exit(0xe0000241) 17:19:01.708
sto: DRIVERSTORE IMPORT VALIDATE: exit(0x00000000) 17:19:01.739
Full log file here setupapi.dev.log
I tought the driver does not load because the warnings about the certificate or the error could be somewhere else.
If someone could give me a small advice to continue. I am stuck now :(
Many Thanks.
c++ wdk umdf wbf wbdi
c++ wdk umdf wbf wbdi
edited Feb 20 at 22:47
Juan Rojas
asked Feb 19 at 3:04
Juan RojasJuan Rojas
6,5251 gold badge15 silver badges24 bronze badges
6,5251 gold badge15 silver badges24 bronze badges
This may or may not help, but I often useprocmonfrom SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background:procmonis a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.
– ArtHare
Feb 21 at 14:25
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29
add a comment |
This may or may not help, but I often useprocmonfrom SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background:procmonis a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.
– ArtHare
Feb 21 at 14:25
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29
This may or may not help, but I often use
procmon from SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background: procmon is a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.– ArtHare
Feb 21 at 14:25
This may or may not help, but I often use
procmon from SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background: procmon is a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.– ArtHare
Feb 21 at 14:25
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29
add a comment |
1 Answer
1
active
oldest
votes
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)$(ConfigurationName)EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriver
.sympath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriverx64Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > MicrosoftWindowsBiometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54758289%2fwindows-biometric-framework-sample-umdf-driver-this-device-cannot-start-code%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)$(ConfigurationName)EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriver
.sympath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriverx64Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > MicrosoftWindowsBiometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device
add a comment |
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)$(ConfigurationName)EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriver
.sympath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriverx64Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > MicrosoftWindowsBiometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device
add a comment |
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)$(ConfigurationName)EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriver
.sympath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriverx64Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > MicrosoftWindowsBiometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)$(ConfigurationName)EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriver
.sympath+ C:UsersmyuserDocumentsWindows-driver-samplesbiometricsdriverx64Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > MicrosoftWindowsBiometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device
edited Mar 26 at 16:32
answered Feb 27 at 20:09
Juan RojasJuan Rojas
6,5251 gold badge15 silver badges24 bronze badges
6,5251 gold badge15 silver badges24 bronze badges
add a comment |
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54758289%2fwindows-biometric-framework-sample-umdf-driver-this-device-cannot-start-code%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
This may or may not help, but I often use
procmonfrom SysInternals if I'm getting opaque failure messages like that. Sometimes you can see a chain of registry or filesystem lookups that give you a strong hint about what under-the-hood part failed. Background:procmonis a windows app that shows you every FS or Registry lookup the system makes, including callstacks if you've got symbols.– ArtHare
Feb 21 at 14:25
One more tool will be useful Thanks @ArtHare . I was able to debug my biometric driver at startup (Disable/Enable Device) with a video from: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/…
– Juan Rojas
Feb 21 at 19:22
After debugging I got an Access violation Exception at the Line: UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); indicated by JinZhuXing github.com/Microsoft/Windows-driver-samples/issues/346 I will change the code and Debug again
– Juan Rojas
Feb 21 at 19:31
After some changes specific to my device I got my driver working: This device is working properly :)
– Juan Rojas
Feb 21 at 23:09
Please consider writing your changes as an answer and accepting it. This question is showing as open with a bounty on it.
– Deepak Garud
Feb 26 at 7:29