Yes I’m a noob. But…yes I’ve searched the forums. But I will admit ignorance, so I may not know how to best search these forums, so go easy on me
I have the FX2 hardware here. I’m trying to create an install to work on a clean Windows XP system that has no WDF stuff on it (I’ve not moved to Vista yet).
I’ve looked all over the net, and looked at samples. As best as I can tell, I’m doing this right. I was daring and wanted to write this from scratch, but I think I did well.
So here’s the inf…
; Copyright (c) 2008 Etcher Squared Games
;$ARCH$ cpu type (x86, amd)
;$UMDFVERSION$ corrct umdf version
;$UMDFCOINSTALLERVERSION$ co installer version
;$KMDFCOINSTALLERVERSION$
[Version]
Signature=“$Windows NT$”
;Class=Mouse
;ClassGuid={4d36e96f-e325-11ce-bfc1-08002be10318}
Class=Sample
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider=%E2G%
CatalogFile=custom.cat
DriverVer=02/16/2008,6.0.6000.16386
;PnpLockDown=1 ; prevent users from modifying files directly (???)
[SourceDisksNames]
1=%DiskNameDescription%
[SourceDisksFiles]
MyScratchDriver.dll=1
WUDFUpdate_01005.dll=1
WdfCoInstaller01005.dll=1
WinUSBCoInstaller.dll=1
[ClassInstall32]
; ID’s the section directly below
AddReg=AddRegisterySection
[AddRegisterySection]
HKR,%ClassName%
; unknown icon
HKR,Icon,“-18”
; this specifies where files are to go in this install
[DestinationDirs]
; specifies that by default all files go to %windows%/system32/drivers/*guid*
; I made this guid just so that I will not ever collide with other files
UMDriverCopy=12,UMDF ; copy to driversMdf
CoInstallersDir=11
[UMDriverCopy]
MyScratchDriver.dll
[CoInstallersDir]
WUDFUpdate_01005.dll
WdfCoInstaller01005.dll
WinUSBCoInstaller.dll
[Manufacturer] ; this specifies “models” sections
%E2G%=E2GModelsSection,ntx86 ; arch gets replaced by the cpu type
; the “famous” “modles” section
[E2GModelsSection.ntx86] ; this sections says ONLY for this specific CPU
; cool name = “DDInstall” section name, usb unique id for THIS specific hardware
%OSRFx2Device%=OSRFx2DeviceInstallSection,USB\VID_0547&PID_1002&REV_0000
; where things start to get good
; ddinstall
[OSRFx2DeviceInstallSection.ntx86]
Include=winusb.inf
Needs=WINUSB.NT
DriverVer=01/25/2008,2.3.4.5
CopyFiles=UMDriverCopy
; wdf specific, umdf specific items
[E2GModelsSection.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=TheFX2Server,TheFX2Server_WDFInstall
UmdfServiceOrder=TheFX2Server
[WinUSB_Install]
KmdfLibraryVersion=1.5
[TheFX2Server_WDFInstall]
UmdfLibraryVersion=1.5.0
DriverCLSID=“{97eb6f84-3285-494b-9f3f-824d7473cf95}”
ServiceBinary = “%12%\UMDF\MyScratchDriver.dll”
[OSRFx2DeviceInstallSection.ntx86.Services]
Include=winusb.inf
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall
AddService=WinUSB,0x000001f8,WinUSB_ServiceInstall
[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
[OSRFx2DeviceInstallSection.ntx86.HW]
AddReg=OsrUsb_Device_AddReg
[OsrUsb_Device_AddReg]
HKR,“LowerFilters”,0x00010008,“WinUsb” ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
[OSRFx2DeviceInstallSection.ntx86.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallersDir
[CoInstallers_AddReg]
HKR,CoInstallers32,0x00010000, \
“WUDFUpdate_01005.dll”, \
“WinUSBCoInstaller.dll”, \
“WdfCoInstaller01005.dll,WdfCoInstaller”
[Strings]
WinUSB_SvcDesc=“Microsoft WinUSB Driver”
E2G=“Etcher Squared Games”
DiskNameDescription=“customdisk”
ClassName=“customtype”
OSRFx2Device=“coolness osr fx2 play device”
WudfRdDisplayName=“Windows Driver Foundation - User-mode Driver Framework Reflector”
And now setupapi.log after setting log value to FF (for max logging)
[2008/02/16 09:40:23 6056.908]
#-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_0547&pid_1002&rev_0000,usb\vid_0547&pid_1002
#-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_0547&PID_1002&REV_0000” in C:\WINDOWS\inf\oem45.inf; Device: “coolness osr fx2 play device”; Driver: “coolness osr fx2 play device”; Provider: “Etcher Squared Games”; Mfg: “Etcher Squared Games”; Section name: “OSRFx2DeviceInstallSection”.
#I087 Driver node not trusted, rank changed from 0x00000000 to 0x00008000.
#I023 Actual install section: [OSRFx2DeviceInstallSection.NTx86]. Rank: 0x00008000. Effective driver date: 01/25/2008.
#-019 Searching for hardware ID(s): usb\vid_0547&pid_1002&rev_0000,usb\vid_0547&pid_1002
#-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_0547&pid_1002&rev_0000,usb\vid_0547&pid_1002
#-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_0547&pid_1002&rev_0000,usb\vid_0547&pid_1002
#-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_0547&PID_1002&REV_0000” in c:\data\scratch\install\MyScratch.inf; Device: “coolness osr fx2 play device”; Driver: “coolness osr fx2 play device”; Provider: “Etcher Squared Games”; Mfg: “Etcher Squared Games”; Section name: “OSRFx2DeviceInstallSection”.
#I087 Driver node not trusted, rank changed from 0x00000000 to 0x00008000.
#I023 Actual install section: [OSRFx2DeviceInstallSection.NTx86]. Rank: 0x00008000. Effective driver date: 01/25/2008.
#-124 Doing copy-only install of “USB\VID_0547&PID_1002\5&1FBB5FC0&0&1”.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\custom.cat” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#W187 Install failed, attempting to restore original files.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\custom.cat” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#-024 Copying file “c:\data\scratch\install\MyScratchDriver.dll” to “C:\WINDOWS\system32\DRIVERS\UMDF\MyScratchDriver.dll”.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\MyScratchDriver.dll” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#-336 Copying file “c:\data\scratch\install\WUDFUpdate_01005.dll” to “C:\WINDOWS\system32\WUDFUpdate_01005.dll” via temporary file “C:\WINDOWS\system32\SET91C.tmp”.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\WUDFUpdate_01005.dll” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#-336 Copying file “c:\data\scratch\install\WdfCoInstaller01005.dll” to “C:\WINDOWS\system32\WdfCoInstaller01005.dll” via temporary file “C:\WINDOWS\system32\SET91E.tmp”.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\WdfCoInstaller01005.dll” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#-336 Copying file “c:\data\scratch\install\WinUSBCoInstaller.dll” to “C:\WINDOWS\system32\WinUSBCoInstaller.dll” via temporary file “C:\WINDOWS\system32\SET920.tmp”.
#E360 An unsigned or incorrectly signed file “c:\data\scratch\install\WinUSBCoInstaller.dll” for driver “coolness osr fx2 play device” will be installed (Policy=Ignore). Error 0x800b0100: No signature was present in the subject.
#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.
#-166 Device install function: DIF_INSTALLINTERFACES.
#-011 Installing section [OSRFx2DeviceInstallSection.NTx86.Interfaces] from “c:\data\scratch\install\myscratch.inf”.
#I054 Interfaces installed.
#-166 Device install function: DIF_INSTALLDEVICE.
#E151 Coinstaller 1 of 3 failed. Error 0xe0000101: The required section was not found in the INF.
If I comment out the WUDF and WDF coinstallers, it goes further and then I get other errors, but I don’t care about that right now. I just want to know what those coinstallers seemingly aren’t working.
The WDK documentation doesn’t say anything about additional sections that I need for those coinstallers.
Oh maybe I should include this: I made a convenient batch file to run within a build development. And I should also mention I’m building in the Vista Checked environment because I read that even if building for XP to use this environment. And I’ve tried Free build with no additional success.
Ok here’s the batch
cls
del .\install*.* /q
del .\result*.* /q
del .\result\htm*.* /q
build -cZg
mkdir install
mkdir result
copy .\objchk_wlh_x86\i386*.dll .\install
copy .\objchk_wlh_x86\i386*.inf .\install
copy C:\WinDDK\6000\redist\wdf\x86*.* .\install
copy C:\WinDDK\6000\redist\winusb\x86*.* .\install
“C:\Program Files\Microsoft Winqual Submission Tool 2\Inf2Cat” /driver:C:\data\scratch\install\ /os:XP_X86
C:\WinDDK\6000\tools\chkinf\chkinf .\install*.inf /l .\result\inftext.txt /o .\result\htm
The idea being clean up old files, build the new one, copy needed files to a nice convenient single location called “install”, build the cat file, and run the chkinf (which only gives errors about not able to find “winusb.inf” and warnings since it doesn’t see references to the wdf file…eh ok, here’s that file too
.\install\MyScratch.inf: FAILED
NTLOG REPORT--------------
Total Lines: 136 |
Total Errors: 2 |
Total Warnings: 5 |
---|
Line 63: ERROR: (E22.1.1002) Unable to include winusb.inf. Note that only system provided INFs may be specified with the INCLUDE directive. |
Line 87: ERROR: (E22.1.1002) Unable to include winusb.inf. Note that only system provided INFs may be specified with the INCLUDE directive. |
Line 0: WARNING: (W22.1.9998) NOTE: The ChkInf tool does not verify the WDF sections and directives of the INF file. |
Line 12: WARNING: (W22.1.2215) Class Sample (ClassGUID {78A1C341-4539-11d3-B88D-00C04FAD5171}) is unrecognized. |
Line 69: WARNING: (W22.1.2083) Section [E2GMODELSSECTION.WDF] not referenced |
Line 76: WARNING: (W22.1.2083) Section [WINUSB_INSTALL] not referenced |
Line 80: WARNING: (W22.1.2083) Section [THEFX2SERVER_WDFINSTALL] not referenced |
I’m sure just one character is wrong. And I’m missing it. I just need another pair of eyes. I’ve also read through almost all of the microsoft press book “Developing Drivers with the WDF” (I’m a geek, it was a fun read)
Ok, so, what’s run in this file? ty