The installation of KMDF+UMDF+WinUSB finished successfully according to the logs.
Can you try debugging your driver and see for example, if CMyDriver::CreateInstance() gets hit (or the corresponding function in your driver, if you’ve changed the function names in the OSR fx2 sample)? If it does, then you can debug the rest of the code in your driver and see what is failing. If it does not, then we’ll have to dig deeper in UMDF logging.
Ilias
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Friday, March 05, 2010 1:45 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Re: WUDFRd.sys is not present - win XP
Hi,
Thank you very much for the replies.
I corrected the inf file as per your advice. I customized the umdf fx2 final sample and tried. And this time, the installation fails with the error message saying :
Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.
I found the following error message in the setupact.log file and I dont know whether this is causing the problem.
GetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Wdf\Kmdf\KmdfLibrary\Versions) failed: error(2) The system cannot find the file specified.
I searched the OSR ntdev list for this error before posting again. But, cudnt figure out what causes the error in my case. I’m sending the relevant statements from setupapi.log, setupact.log and inf files as attachment.
First of all, I request your advice in choosing the sample driver and mode. I want to develop a driver to support our company’s usb device which contains one interface and three endpoints (Interrupt IN, Bulk Out, and Bulk IN). I want to know which driver sample from wdk that I can take as a base code. Should I go for kmdf or umdf is enough. What other customizations I’ve to do in the code other than the steps given in the document Sample Drivers for the User-Mode Driver Framework(UMDF-samp.doc). Please advice.
Thanks for the help.
Lalitha.
****************************** Inf File ******************************
;
; UsbRnd.inf - Install the USB R&D Bulk user-mode driver
;
[Version]
Signature=“$Windows NT$”
Class=Sample
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider=%My Company%
DriverVer=02/26/2010,6.1.7600.16385
CatalogFile=wudf.cat
[Manufacturer]
%My Company%=My Company,NTx86
[My Company.NTx86]
%UsbDeviceName%=Usb_Install, USB\Vid_045e&Pid_94aa&mi_00
%UsbDeviceName%=Usb_Install, USB\VID_1C06&PID_FFFE&rev_0100
[ClassInstall32]
AddReg=SampleClass_RegistryAdd
[SampleClass_RegistryAdd]
HKR,%ClassName%
HKR,Icon,“-10”
[SourceDisksFiles]
UsbRnd.dll=1
WudfUpdate_01009.dll=1
WdfCoInstaller01009.dll=1
WinUsbCoinstaller2.dll=1
[SourceDisksNames]
1 = %MediaDescription%
; =================== UMDF UsbRnd Device ==================================
[Usb_Install.NT]
CopyFiles=UMDriverCopy
Include=WINUSB.INF ; Import sections from WINUSB.INF
Needs=WINUSB.NT ; Run the CopyFiles & AddReg directives for WinUsb.INF
[Usb_Install.NT.hw]
AddReg=Usb_Device_AddReg
[Usb_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall ; flag 0x2 sets this as the service for the device
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall ; this service is installed because its a filter.
[Usb_Install.NT.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=UsbRnd, UsbRnd_Install
UmdfServiceOrder=UsbRnd
[Usb_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles
[WinUsb_Install]
KmdfLibraryVersion = 1.9
[UsbRnd_Install]
UmdfLibraryVersion=1.9.0
DriverCLSID = “{0865b2b0-6b73-428f-a3ea-2172832d6bfc}”
ServiceBinary = “%12%\UMDF\UsbRnd.dll”
[Usb_Device_AddReg]
HKR,“LowerFilters”,0x00010008,“WinUsb” ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
[WUDFRD_ServiceInstall]
DisplayName = %WudfRdDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WUDFRd.sys
LoadOrderGroup = Base
[WinUsb_ServiceInstall]
DisplayName = %WinUsb_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[CoInstallers_AddReg]
HKR,CoInstallers32,0x00010000,“WudfUpdate_01009.dll”, “WinUsbCoinstaller2.dll”, “WdfCoInstaller01009.dll,WdfCoInstaller”
[CoInstallers_CopyFiles]
WudfUpdate_01009.dll
WdfCoInstaller01009.dll
WinUsbCoinstaller2.dll
[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to driversMdf
CoInstallers_CopyFiles=11
[UMDriverCopy]
UsbRnd.dll
; =================== Generic ==================================
[Strings]
My Company=“My Company”
MediaDescription=" R&D Driver"
ClassName=“Sample Device”
WudfRdDisplayName=“Windows Driver Foundation - User-mode Driver Framework Reflector”
UsbDeviceName=“R&D Driver”
WinUsb_SvcDesc=“WinUSB Driver”
****************************** setupapi.log ******************************
[2010/03/05 10:56:34 1716.2923]
#-198 Command line processed: “C:\WINDOWS\system32\mmc.exe” C:\WINDOWS\system32\devmgmt.msc /s
#I060 Set selected driver.
#-019 Searching for hardware ID(s): usb\vid_1c06&pid_fffe&rev_0100,usb\vid_1c06&pid_fffe
#-018 Searching for compatible ID(s): usb\class_ff&subclass_00&prot_00,usb\class_ff&subclass_00,usb\class_ff
#-019 Searching for hardware ID(s): usb\vid_1c06&pid_fffe&rev_0100,usb\vid_1c06&pid_fffe
#-018 Searching for compatible ID(s): usb\class_ff&subclass_00&prot_00,usb\class_ff&subclass_00,usb\class_ff
#I022 Found “USB\VID_1C06&PID_FFFE&rev_0100” in e:\testdrivers\usbumdffinal\UsbRnd.inf; Device: “R&D Test Driver”; Driver: “R&D Test Driver”; Provider: “MyCompany”; Mfg: “MyCompany”; Section name: “Usb_Install”.
#I087 Driver node not trusted, rank changed from 0x00000000 to 0x00008000.
#I023 Actual install section: [Usb_Install.NT]. Rank: 0x00008000. Effective driver date: 03/05/2010.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [Usb_Install] in “e:\testdrivers\usbumdffinal\usbrnd.inf”.
#I320 Class GUID of device remains: {78A1C341-4539-11D3-B88D-00C04FAD5171}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
#-124 Doing copy-only install of “USB\VID_1C06&PID_FFFE\000-0000”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\wudf.cat” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#W187 Install failed, attempting to restore original files.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\wudf.cat” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#-024 Copying file “e:\testdrivers\usbumdffinal\UsbRnd.dll” to “C:\WINDOWS\system32\DRIVERS\UMDF\UsbRnd.dll”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\UsbRnd.dll” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#-336 Copying file “e:\testdrivers\usbumdffinal\WudfUpdate_01009.dll” to “C:\WINDOWS\system32\WudfUpdate_01009.dll” via temporary file “C:\WINDOWS\system32\SET9.tmp”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\WudfUpdate_01009.dll” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#-336 Copying file “e:\testdrivers\usbumdffinal\WdfCoInstaller01009.dll” to “C:\WINDOWS\system32\WdfCoInstaller01009.dll” via temporary file “C:\WINDOWS\system32\SETA.tmp”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\WdfCoInstaller01009.dll” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#-336 Copying file “e:\testdrivers\usbumdffinal\WinUsbCoinstaller2.dll” to “C:\WINDOWS\system32\WinUsbCoinstaller2.dll” via temporary file “C:\WINDOWS\system32\SETB.tmp”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\WinUsbCoinstaller2.dll” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0x80092003: An error occurred while reading or writing to a file.
#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.
#-166 Device install function: DIF_INSTALLINTERFACES.
#-011 Installing section [Usb_Install.NT.Interfaces] from “e:\testdrivers\usbumdffinal\usbrnd.inf”.
#I054 Interfaces installed.
#-166 Device install function: DIF_INSTALLDEVICE.
#I123 Doing full install of “USB\VID_1C06&PID_FFFE\000-0000”.
#E360 An unsigned or incorrectly signed file “e:\testdrivers\usbumdffinal\usbrnd.inf” for driver “R&D Test Driver” will be installed (Policy=Ignore). Error 0xe000022f: The third-party INF does not contain digital signature information.
#I163 Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.
#I121 Device install of “USB\VID_1C06&PID_FFFE\000-0000” finished successfully.
****************************** setupact.log ******************************
[03/05/2010 10:56.44.515] WudfUpdate: installing version (1,9,0,7600).
[03/05/2010 10:56.44.546] WudfUpdate: Checking for presence of previous UMDF installation.
[03/05/2010 10:56.44.546] WudfUpdate: File C:\WINDOWS\system32\drivers\wudfrd.sys not found.
[03/05/2010 10:56.44.562] WudfUpdate: UMDF file %WINDIR%\system32\drivers\wudfrd.sys not found.
[03/05/2010 10:56.44.578] WudfUpdate: File C:\WINDOWS\system32\drivers\wudfpf.sys not found.
[03/05/2010 10:56.44.578] WudfUpdate: UMDF file %WINDIR%\system32\drivers\wudfpf.sys not found.
[03/05/2010 10:56.44.578] WudfUpdate: File C:\WINDOWS\system32\wudfhost.exe not found.
[03/05/2010 10:56.44.578] WudfUpdate: UMDF file %WINDIR%\system32\wudfhost.exe not found.
[03/05/2010 10:56.44.578] WudfUpdate: File C:\WINDOWS\system32\wudfsvc.dll not found.
[03/05/2010 10:56.44.578] WudfUpdate: UMDF file %WINDIR%\system32\wudfsvc.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: File C:\WINDOWS\system32\wudfx.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: UMDF file %WINDIR%\system32\wudfx.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: File C:\WINDOWS\system32\wudfplatform.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: UMDF file %WINDIR%\system32\wudfplatform.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: File C:\WINDOWS\system32\wudfcoinstaller.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: UMDF file %WINDIR%\system32\wudfcoinstaller.dll not found.
[03/05/2010 10:56.44.593] WudfUpdate: UMDF installation not found.
[03/05/2010 10:56.44.593] WudfUpdate: Locating resource stream WUDF_UPDATE_XP-SRV03.
[03/05/2010 10:56.44.593] WudfUpdate: unpacking update from resource to Microsoft User-Mode Driver Framework Install-v1.9-WinXP-Srv03.exe.
[03/05/2010 10:56.44.593] WudfUpdate: Temporary path is C:\WINDOWS\Temp\WDFC.tmp.
[03/05/2010 10:56.44.750] WudfUpdate: Invoking update “C:\WINDOWS\Temp\WDFC.tmp\Microsoft User-Mode Driver Framework Install-v1.9-WinXP-Srv03.exe” with command line “/quiet /o /ER /norestart /log:”%WINDIR%\temp\wudf_update.log"".
[03/05/2010 10:56.44.781] WudfUpdate: Waiting for update to terminate.
[03/05/2010 10:56.56.921] WudfUpdate: Update process returned 0.
[03/05/2010 10:56.56.921] WudfUpdate: WUDF version 1.9.0 () was installed successfully.
[03/05/2010 10:56.56.921] WudfUpdate: Cleaning up update.
[03/05/2010 10:56.56.921] WudfUpdate: Loading configuration coinstaller from C:\WINDOWS\system32\wudfcoinstaller.dll.
[03/05/2010 10:56.56.953] WudfCoInstaller: ReadWdfSection: Checking WdfSection [Usb_Install.NT.Wdf]
[03/05/2010 10:56.56.953] WudfCoInstaller: Using I/O dispatcher WinUSB.
[03/05/2010 10:56.56.968] WudfCoInstaller: Configuring UMDF Service UsbRnd.
[03/05/2010 10:56.56.968] WudfCoInstaller: UmdfDispatcher set to WinUSB
[03/05/2010 10:56.56.968] WudfCoInstaller: Using “Pre-Vista” service configuration
[03/05/2010 10:56.57.406] WudfCoInstaller: Service WudfSvc started successfully.
[03/05/2010 10:56.57.406] WudfCoInstaller: Final status: error(0) The operation completed successfully.
[03/05/2010 10:56.57.437] WinUSBUpdate: installing version (6,1,7600,16385).
[03/05/2010 10:56.57.437] WinUSBUpdate: Checking for presence of previous WinUSB installation.
[03/05/2010 10:56.57.437] WinUSBUpdate: File C:\WINDOWS\system32\drivers\winusb.sys not found.
[03/05/2010 10:56.57.437] WinUSBUpdate: WinUSB file %WINDIR%\system32\drivers\winusb.sys not found.
[03/05/2010 10:56.57.437] WinUSBUpdate: File C:\WINDOWS\system32\winusb.dll not found.
[03/05/2010 10:56.57.437] WinUSBUpdate: WinUSB file %WINDIR%\system32\winusb.dll not found.
[03/05/2010 10:56.57.468] WinUSBUpdate: WinUSB installation not found.
[03/05/2010 10:56.57.468] WinUSBUpdate: Locating resource stream WINUSB_UPDATE_XP-SRV03.
[03/05/2010 10:56.57.468] WinUSBUpdate: unpacking update from resource to WinUSB.exe.
[03/05/2010 10:56.57.468] WinUSBUpdate: Temporary path is C:\WINDOWS\Temp\WDF16.tmp.
[03/05/2010 10:56.57.515] WinUSBUpdate: Invoking update “C:\WINDOWS\Temp\WDF16.tmp\WinUSB.exe” with command line “/quiet /o /ER /norestart /log:”%WINDIR%\temp\winusb_update.log"".
[03/05/2010 10:56.57.593] WinUSBUpdate: Waiting for update to terminate.
[03/05/2010 10:57.01.484] WinUSBUpdate: Update process returned 0.
[03/05/2010 10:57.01.484] WinUSBUpdate: WinUSB version 6.1.7600 (Release) was installed successfully.
[03/05/2010 10:57.01.484] WinUSBUpdate: Cleaning up update.
WdfCoInstaller: [03/05/2010 10:57.01.500] DIF_INSTALLDEVICE: Pre-Processing
WdfCoInstaller: [03/05/2010 10:57.01.515] ReadComponents: WdfSection for Driver Service WINUSB using KMDF lib version Major 0x1, minor 0x9
WdfCoInstaller: [03/05/2010 10:57.01.515] DIF_INSTALLDEVICE: Coinstaller version: 1.9.7600
WdfCoInstaller: [03/05/2010 10:57.01.515] GetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Wdf\Kmdf\KmdfLibrary\Versions) failed: error(2) The system cannot find the file specified.
WdfCoInstaller: [03/05/2010 10:57.01.515] KMDF control key was not found
WdfCoInstaller: [03/05/2010 10:57.01.515] Using default name for KMDF service: Wdf01000
WdfCoInstaller: [03/05/2010 10:57.01.515] GetInMemoryVersionUlong: No information about in-memory KMDF version
WdfCoInstaller: [03/05/2010 10:57.01.515] DIF_INSTALLDEVICE: KMDF in-memory version: 0.0.0
WdfCoInstaller: [03/05/2010 10:57.01.515] GetLatestInstalledVersion: KMDF was not previously installed in the system
WdfCoInstaller: [03/05/2010 10:57.01.515] DIF_INSTALLDEVICE: No need for reboot, because KMDF was not found in the system
WdfCoInstaller: [03/05/2010 10:57.01.765] VerifyMSRoot: exit: error(0) The operation completed successfully.
WdfCoInstaller: [03/05/2010 10:57.01.812] Invoking “C:\WINDOWS\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe /quiet /norestart /o /ER”.
WdfCoInstaller: [03/05/2010 10:57.06.203] The package was installed successfully: error(0) The operation completed successfully.
.
WdfCoInstaller: [03/05/2010 10:57.06.203] InstallComponents: KMDF installed successfully
WdfCoInstaller: [03/05/2010 10:57.07.546] DIF_INSTALLDEVICE: Post-Processing
[03/05/2010 10:57.07.578] WudfCoInstaller: Created marker file C:\WINDOWS\system32\drivers\Msft_User_UsbRnd_01_09_00.Wdf.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer