WinUSB installation at Windows 7

Let me first make clear that I am neither a driver nor a Windows 7 specialist, but was directed here by the Windows support, so any hint is welcome.

I followed instructions at http://msdn.microsoft.com/en-us/library/ff540196.aspx to install a WinUSB based driver for our OEM PIC (Microchip) - base device, without success.

I wrote the .inf file with the necessary adaptations and checked it with chkinf: 0 errors.

I tried to install the device (after several similar attempts) via the device manager - update driver and got the Code 10 error.

I tried to install with the devcon command and got the response
Device node created. Install is complete when drivers are installed…
Updating drivers for USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
from C:\Users\Photonita\GPB01\WinUSB\gpb01.inf.
devcon failed.

Details follow. Any light?


gpb01.inf

; This file is the USB driver for the GPB01 board.
; Copyright (C): Photonita Ltda, 2011

[Version]
Signature = “$Windows NT$”
Class = CustomUSBDevice
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider = %ProviderName%
CatalogFile=MyCatFile.cat
DriverVer=01/26/2011,1.0

; ================== Class section ==================

[ClassInstall32]
Addreg=MyDeviceClassReg

[MyDeviceClassReg]
HKR,0,%ClassName%
HKR,Icon,-1

; ========== Manufacturer/Models sections ===========

[Manufacturer]
%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64,NTia64

[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C

[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C

[MyDevice_WinUSB.NTia64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
; =================== Installation ===================

;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT

;[2]
[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

;[3]
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\winusb.sys

;[4]
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion=1.9

;[5]
[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
; HKR,DeviceInterfaceGUIDs,0x10000,“{D696BFEB-1734-417d-8A04-86D01071C512}”
HKR,DeviceInterfaceGUIDs,0x10000,“{00000001-0001-0001-0001-000000000001}”

;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,CoInstallers32,0x00010000,“WdfCoInstaller01009.dll,WdfCoInstaller”,“WinUSBCoInstaller2.dll”

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================
;[7]

[SourceDisksNames]
1 = %DISK_NAME%,\i386
2 = %DISK_NAME%,\amd64
3 = %DISK_NAME%,\ia64

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll=1
WdfCoInstaller01009.dll=1

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll=2
WdfCoInstaller01009.dll=2

[SourceDisksFiles.ia64]
WinUSBCoInstaller2.dll=3
WdfCoInstaller01009.dll=3
; =================== Strings ===================

[Strings]
ProviderName=“Photonita Ltda”
USB\MyDevice.DeviceDesc=“GPB01 - General Purpose Board V.01”
WinUSB_SvcDesc=“WinUSB Test”
DISK_NAME=“USB_Install_Disk”
ClassName=“Custom USB Device”


setupapi.dev.log after first attempt (update driver)

>> [Device Install (Hardware initiated) - STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot20]
>> Section start 2011/01/27 20:46:16.051
ump: Creating Install Process: DrvInst.exe 20:46:16.051
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Doing WU search last due to CM_DEVCAP_SILENTINSTALL flag.
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 20:46:16.066
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\inf’
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Created Driver Node:
dvi: HardwareID - STORAGE\VolumeSnapshot
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
dvi: DevDesc - C?pia de sombra de volume gen?rica
dvi: DrvDesc - C?pia de sombra de volume gen?rica
dvi: Provider - Microsoft
dvi: Mfg - Microsoft
dvi: ModelsSec - MSFT.NTx86
dvi: InstallSec - volume_snapshot_install
dvi: ActualSec - volume_snapshot_install.NTx86
dvi: Rank - 0x00ff0000
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7600.16385
inf: Searched 1 potential matches in published INF directory
inf: Searched 40 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List - exit(0x00000000)} 20:46:16.175
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 20:46:16.175
dvi: No class installer for ‘C?pias de volume em mem?ria de armazenamento’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.175
dvi: {Select Best Driver}
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [C?pia de sombra de volume gen?rica]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf]
dvi: Section - [volume_snapshot_install]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff0000]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 20:46:16.175
inf: {SetupCopyOEMInf: C:\Windows\INF\volsnap.inf} 20:46:16.191
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
inf: Published Inf Path: C:\Windows\INF\volsnap.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 20:46:16.191
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install…
ndv: {Core Device Install} 20:46:16.191
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
sig: {_VERIFY_FILE_SIGNATURE} 20:46:16.207
sig: Key = volsnap.inf
sig: FilePath = C:\Windows\INF\volsnap.inf
sig: Success: A valid signature was found in an installed catalog
sig: Cat: ‘C:\Windows\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package~31bf3856ad364e35~x86~~6.1.7600.16385.cat’
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 20:46:16.222
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
dvi: {DIF_ALLOW_INSTALL} 20:46:16.222
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.222
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 20:46:16.222
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 20:46:16.238
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.238
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
dvi: Processing co-installer registration section [volume_snapshot_install.NTx86.CoInstallers].
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 20:46:16.238
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=0
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 20:46:16.238
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.238
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 20:46:16.253
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 20:46:16.253
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.253
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 20:46:16.253
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 20:46:16.253
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.253
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw]}
inf: Empty section
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Microsoft
dvi: DriverDate 06/21/2006
dvi: DriverVersion=6.1.7600.16385
dvi: Class name=VolumeSnapshot
dvi: Manufacturer=Microsoft
dvi: Matching DeviceID=storage\volumesnapshot
dvi: Strong Name=volsnap.inf:MSFT.NTx86:volume_snapshot_install:6.1.7600.16385:storage\volumesnapshot
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services]}
inf: AddService=,2, (volsnap.inf line 31)
! dvi: Add Service: NULL Controlling service.
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services] exit(0x00000000)}
dvi: Updated reflected section names for: volsnap.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=C?pia de sombra de volume gen?rica
dvi: DeviceDisplayName=C?pia de sombra de volume gen?rica
dvi: Install Device: Removing device sub-tree. 20:46:16.269
dvi: Install Device: Removing device sub-tree completed. 20:46:16.285
dvi: Install Device: Restarting device. 20:46:16.285
dvi: Install Device: Restarting device completed. 20:46:16.363
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 20:46:16.363
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 20:46:16.363
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.363
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 20:46:16.363
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup…
ndv: {Core Device Install - exit(0x00000000)} 20:46:16.363
ump: Server install process exited with code 0x00000000 20:46:16.378
<<< Section end 2011/01/27 20:46:16.378
<<< [Exit status: SUCCESS]


setupapi.dev.log after second attempt (devcon)

>> [Device Install (UpdateDriverForPlugAndPlayDevices) - USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C]
>> Section start 2011/01/28 13:58:37.545
cmd: devcon install gpb01.inf “USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C”
dvi: Set selected driver complete.
dvi: {Build Driver List} 13:58:37.608
dvi: Searching for hardware ID(s):
dvi: usb\vid_04d8&pid_fff1, usb\vid_04d8&pid_000c
cpy: Policy is set to make all digital signatures equal.
dvi: Processing a single INF: ‘c:\users\photonita\gpb01\winusb\gpb01.inf’
inf: Opened INF: ‘c:\users\photonita\gpb01\winusb\gpb01.inf’ ([strings])
dvi: {Build Driver List - exit(0x00000000)} 13:58:37.623
dvi: {DIF_SELECTBESTCOMPATDRV} 13:58:37.623
dvi: No class installer for ‘Custom USB Device’
dvi: No CoInstallers found
dvi: Default installer: Enter 13:58:37.623
dvi: {Select Best Driver}
! dvi: Selecting driver failed(0xe0000228)
dvi: {Select Best Driver - exit(0xe0000228)}
! dvi: Default installer: failed!
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 13:58:37.623
<<< Section end 2011/01/28 13:58:37.623
<<< [Exit status: SUCCESS]

xxxxx@photonita.com.br wrote:

Let me first make clear that I am neither a driver nor a Windows 7 specialist, but was directed here by the Windows support, so any hint is welcome.

I followed instructions at http://msdn.microsoft.com/en-us/library/ff540196.aspx to install a WinUSB based driver for our OEM PIC (Microchip) - base device, without success.

I wrote the .inf file with the necessary adaptations and checked it with chkinf: 0 errors.

I tried to install the device (after several similar attempts) via the device manager - update driver and got the Code 10 error.

I tried to install with the devcon command and got the response
Device node created. Install is complete when drivers are installed…
Updating drivers for USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
from C:\Users\Photonita\GPB01\WinUSB\gpb01.inf.
devcon failed.

Details follow. Any light?

First, let me point out that you cannot just make up any number you want
for a GUID. The format of a GUID is an international standard that is
specified in an RFC. Some of those bytes are bit fields that have
specific meaning (like a version number). This GUID is not valid:

HKR,DeviceInterfaceGUIDs,0x10000,“{00000001-0001-0001-0001-000000000001}”

GUIDs are free. You can create as many of them as you want. Run
“uuidgen.exe” or “guidgen.exe” as often as you want, but don’t just make
them up.

A few seconds of scanning should have shown you that your first
setupapi.dev.log snippet had nothing to do with your driver. That was
installing a new disk device. You probably inserted a USB drive, or
something similar.

Did you set up your directory tree correctly? You will need these files:

gpb01.inf
i386\WinUSBCoinstaller2.dll
i386\WdfCoInstaller01009.dll
amd64\WinUSBCoinstaller2.dll
amd64\WdfCoInstaller01009.dll
ia64\WinUSBCoinstaller2.dll
ia64\WdfCoInstaller01009.dll


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I substituted the device interface GUID for one I generated as suggested.

For the case that the ClassGuid describes a disk device, I generated a new value for this one too.

I didn’t have the amd64 and ia64 subdirectories at my first trial because I am working on a 32 bit machine, but now I included them. My actual directory contains:

amd64\WdfCoInstaller01009.dll
amd64\winusbcoinstaller2.dll
i386\WdfCoInstaller01009.dll
i386\winusbcoinstaller2.dll
ia64\WdfCoInstaller01009.dll
ia64\winusbcoinstaller2.dll
devcon.exe
gpb01.inf

I connected the board.

From the directory above I executed:
devcon install gpb01.inf “USB\VID_04D8&PID_FFF1”

This time the execution took considerably longer (some seconds) and reported success. But the device manager describes the state of the device with code 10 (The device cannot start).

The setupapi.dev.log snippet below is correct, I checked the time stamp. If it again describes a disk device, then I don’t know why.

Must the device be connected when installing the driver with devcon?


>> [Device Install (Hardware initiated) - STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot27]
>> Section start 2011/01/31 20:24:10.806
ump: Creating Install Process: DrvInst.exe 20:24:10.806
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Doing WU search last due to CM_DEVCAP_SILENTINSTALL flag.
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 20:24:10.806
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\inf’
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Created Driver Node:
dvi: HardwareID - STORAGE\VolumeSnapshot
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
dvi: DevDesc - C?pia de sombra de volume gen?rica
dvi: DrvDesc - C?pia de sombra de volume gen?rica
dvi: Provider - Microsoft
dvi: Mfg - Microsoft
dvi: ModelsSec - MSFT.NTx86
dvi: InstallSec - volume_snapshot_install
dvi: ActualSec - volume_snapshot_install.NTx86
dvi: Rank - 0x00ff0000
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7600.16385
inf: Searched 1 potential matches in published INF directory
inf: Searched 40 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List - exit(0x00000000)} 20:24:10.915
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 20:24:10.915
dvi: No class installer for ‘C?pias de volume em mem?ria de armazenamento’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:24:10.930
dvi: {Select Best Driver}
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [C?pia de sombra de volume gen?rica]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf]
dvi: Section - [volume_snapshot_install]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff0000]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 20:24:10.930
inf: {SetupCopyOEMInf: C:\Windows\INF\volsnap.inf} 20:24:10.930
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
inf: Published Inf Path: C:\Windows\INF\volsnap.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 20:24:10.930
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install…
ndv: {Core Device Install} 20:24:10.930
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
sig: {_VERIFY_FILE_SIGNATURE} 20:24:10.946
sig: Key = volsnap.inf
sig: FilePath = C:\Windows\INF\volsnap.inf
sig: Success: A valid signature was found in an installed catalog
sig: Cat: ‘C:\Windows\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package~31bf3856ad364e35~x86~~6.1.7600.16385.cat’
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 20:24:10.977
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
dvi: {DIF_ALLOW_INSTALL} 20:24:10.977
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:24:10.977
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 20:24:10.977
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 20:24:10.977
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:24:10.977
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
dvi: Processing co-installer registration section [volume_snapshot_install.NTx86.CoInstallers].
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 20:24:10.977
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=0
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 20:24:10.993
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:24:10.993
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 20:24:10.993
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 20:24:10.993
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:24:10.993
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 20:24:10.993
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 20:24:10.993
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:24:10.993
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw]}
inf: Empty section
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Microsoft
dvi: DriverDate 06/21/2006
dvi: DriverVersion=6.1.7600.16385
dvi: Class name=VolumeSnapshot
dvi: Manufacturer=Microsoft
dvi: Matching DeviceID=storage\volumesnapshot
dvi: Strong Name=volsnap.inf:MSFT.NTx86:volume_snapshot_install:6.1.7600.16385:storage\volumesnapshot
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services]}
inf: AddService=,2, (volsnap.inf line 31)
! dvi: Add Service: NULL Controlling service.
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services] exit(0x00000000)}
dvi: Updated reflected section names for: volsnap.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=C?pia de sombra de volume gen?rica
dvi: DeviceDisplayName=C?pia de sombra de volume gen?rica
dvi: Install Device: Removing device sub-tree. 20:24:11.024
dvi: Install Device: Removing device sub-tree completed. 20:24:11.055
dvi: Install Device: Restarting device. 20:24:11.055
dvi: Install Device: Restarting device completed. 20:24:11.133
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 20:24:11.133
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 20:24:11.133
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:24:11.133
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 20:24:11.133
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup…
ndv: {Core Device Install - exit(0x00000000)} 20:24:11.133
ump: Server install process exited with code 0x00000000 20:24:11.133
<<< Section end 2011/01/31 20:24:11.149
<<< [Exit status: SUCCESS]

You need to run devcon update, not devcon install. install creates a root enumerated device which is not what your driver is expecting. For now, it will be easier if you plug in the device before you run devcon, in the future once everything works, you can install the driver package to test the scenario where you preinstall the driver before the hw is physically present.

d

xxxxx@photonita.com.br wrote:

I substituted the device interface GUID for one I generated as suggested.

For the case that the ClassGuid describes a disk device, I generated a new value for this one too.

I didn’t have the amd64 and ia64 subdirectories at my first trial because I am working on a 32 bit machine, but now I included them. My actual directory contains:

I connected the board.

>From the directory above I executed:
devcon install gpb01.inf “USB\VID_04D8&PID_FFF1”

There it is! That was your fatal mistake. It is a very easy mistake to
make.

“devcon install” cannot be used to install a plug-and-play device. What
that does is create a FAKE device with a device identifier that matches
your hardware, and then installs your driver to handle that fake device.

What you need to do is pre-install your driver package. You can use
either “dpinst” or “devcon dp_add” to do that. That adds your driver to
the “driver store”. Then, when you eventually plug in the device, the
real installation will happen.

The setupapi.dev.log snippet below is correct, I checked the time stamp. If it again describes a disk device, then I don’t know why.

It does. Do you see your VID/PID mentioned anywhere? You should have
scanned backwards from the end to see if your device was in some
previous installation.

Must the device be connected when installing the driver with devcon?

The device must be connected, but you must not use “devcon install” to
do so.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Ok, with de device unconnected:

C:\Users\Photonita\GPB01\WinUSB>devcon dp_add gpb01.inf
Driver package ‘oem15.inf’ added

Then I plugged in the device and got again the error code 10 (The device cannot start). Below follows the setupapi.dev.log snippet with the last 2 entries. I simply don’t know where to focus my attention on those large entries.


>> [SetupCopyOEMInf - C:\Users\Photonita\GPB01\WinUSB\gpb01.inf]
>> Section start 2011/02/07 12:36:51.149
cmd: devcon dp_add gpb01.inf
! inf: Package was already in store: skipping Driver Store add
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
inf: Published Inf Path: C:\Windows\INF\oem15.inf
<<< Section end 2011/02/07 12:36:51.165
<<< [Exit status: SUCCESS]

>> [Device Install (Hardware initiated) - USB\VID_04D8&PID_FFF1\5&28b2efbf&0&2]
>> Section start 2011/02/07 12:37:09.682
ump: Creating Install Process: DrvInst.exe 12:37:09.682
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Searching just Driver Store…
dvi: {Build Driver List} 12:37:09.729
dvi: Searching for hardware ID(s):
dvi: usb\vid_04d8&pid_fff1&rev_0000
dvi: usb\vid_04d8&pid_fff1
dvi: Searching for compatible ID(s):
dvi: usb\class_00&subclass_00&prot_00
dvi: usb\class_00&subclass_00
dvi: usb\class_00
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\INF’
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
sig: {_VERIFY_FILE_SIGNATURE} 12:37:09.786
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000057)} 12:37:09.816
sig: {_VERIFY_FILE_SIGNATURE} 12:37:09.816
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)
sig: {_VERIFY_FILE_SIGNATURE exit(0x80092003)} 12:37:09.816
dvi: Created Driver Node:
dvi: HardwareID - USB\VID_04D8&PID_FFF1
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
dvi: DevDesc - GPB01 - General Purpose Board V.01
dvi: DrvDesc - GPB01 - General Purpose Board V.01
dvi: Provider - Photonita Ltda
dvi: Mfg - Photonita Ltda
dvi: ModelsSec - MyDevice_WinUSB.NTx86
dvi: InstallSec - USB_Install
dvi: ActualSec - USB_Install
dvi: Rank - 0x80ff0001
dvi: Signer - N?o assinado digitalmente
dvi: Signer Score - Not digitally signed
dvi: DrvDate - 01/26/2011
dvi: Version - 1.0.0.0
inf: Searched 1 potential matches in published INF directory
inf: Searched 40 INFs in directory: ‘C:\Windows\INF’
dvi: {Build Driver List - exit(0x00000000)} 12:37:09.924
ndv: Selecting best match from just Driver Store…
dvi: {DIF_SELECTBESTCOMPATDRV} 12:37:09.948
dvi: No class installer for ‘Photonita Gen.Purpose Board’
dvi: No CoInstallers found
dvi: Default installer: Enter 12:37:09.949
dvi: {Select Best Driver}
dvi: Selected driver installs from section [USB_Install] in ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’.
dvi: Class GUID of device changed to: {6261f39d-8fa0-46b0-8762-411a65fa67e5}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [GPB01 - General Purpose Board V.01]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf]
dvi: Section - [USB_Install]
dvi: Signer - [N?o assinado digitalmente]
dvi: Rank - [0x80ff0001]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 12:37:09.954
inf: Opened PNF: ‘C:\Windows\INF\oem15.inf’ ([strings])
ndv: Searching Windows Update for drivers… 12:37:09.967
ndv: Acquired WU search serialization mutex. 12:37:09.968
ndv: About to release WU search serialization mutex. 12:37:14.736
ndv: No driver found on Windows Update. 12:37:14.736
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 12:37:14.736
dvi: Searching for hardware ID(s):
dvi: usb\vid_04d8&pid_fff1&rev_0000
dvi: usb\vid_04d8&pid_fff1
dvi: Searching for compatible ID(s):
dvi: usb\class_00&subclass_00&prot_00
dvi: usb\class_00&subclass_00
dvi: usb\class_00
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\inf’
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
sig: {_VERIFY_FILE_SIGNATURE} 12:37:14.752
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000057)} 12:37:14.752
sig: {_VERIFY_FILE_SIGNATURE} 12:37:14.752
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)
sig: {_VERIFY_FILE_SIGNATURE exit(0x80092003)} 12:37:14.752
dvi: Created Driver Node:
dvi: HardwareID - USB\VID_04D8&PID_FFF1
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
dvi: DevDesc - GPB01 - General Purpose Board V.01
dvi: DrvDesc - GPB01 - General Purpose Board V.01
dvi: Provider - Photonita Ltda
dvi: Mfg - Photonita Ltda
dvi: ModelsSec - MyDevice_WinUSB.NTx86
dvi: InstallSec - USB_Install
dvi: ActualSec - USB_Install
dvi: Rank - 0x80ff0001
dvi: Signer - N?o assinado digitalmente
dvi: Signer Score - Not digitally signed
dvi: DrvDate - 01/26/2011
dvi: Version - 1.0.0.0
inf: Searched 1 potential matches in published INF directory
inf: Searched 40 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List - exit(0x00000000)} 12:37:14.877
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 12:37:14.877
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: No CoInstallers found
dvi: Default installer: Enter 12:37:14.877
dvi: {Select Best Driver}
dvi: Selected driver installs from section [USB_Install] in ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’.
dvi: Class GUID of device changed to: {6261f39d-8fa0-46b0-8762-411a65fa67e5}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [GPB01 - General Purpose Board V.01]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf]
dvi: Section - [USB_Install]
dvi: Signer - [N?o assinado digitalmente]
dvi: Rank - [0x80ff0001]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 12:37:14.877
inf: {SetupCopyOEMInf: C:\Windows\INF\oem15.inf} 12:37:14.877
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
inf: Published Inf Path: C:\Windows\INF\oem15.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 12:37:14.877
dvi: Searching for hardware ID(s):
dvi: usb\vid_04d8&pid_fff1&rev_0000
dvi: usb\vid_04d8&pid_fff1
dvi: Searching for compatible ID(s):
dvi: usb\class_00&subclass_00&prot_00
dvi: usb\class_00&subclass_00
dvi: usb\class_00
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
sig: {_VERIFY_FILE_SIGNATURE} 12:37:14.892
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000057)} 12:37:14.892
sig: {_VERIFY_FILE_SIGNATURE} 12:37:14.892
sig: Key = gpb01.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf
sig: Catalog = C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\MyCatFile.cat
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)
sig: {_VERIFY_FILE_SIGNATURE exit(0x80092003)} 12:37:14.892
dvi: Selected driver installs from section [USB_Install] in ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’.
dvi: Class GUID of device changed to: {6261f39d-8fa0-46b0-8762-411a65fa67e5}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install…
ndv: {Core Device Install} 12:37:14.892
inf: Opened PNF: ‘C:\Windows\INF\oem15.inf’ ([strings])
inf: Opened PNF: ‘C:\Windows\INF\oem15.inf’ ([strings])
dvi: {DIF_ALLOW_INSTALL} 12:37:14.908
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: No CoInstallers found
dvi: Default installer: Enter 12:37:14.908
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 12:37:14.908
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 12:37:14.908
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: Default installer: Enter 12:37:14.908
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
inf: Opened PNF: ‘C:\Windows\INF\winusb.inf’ ([strings.0416])
inf: {Install Inf Section [USB_Install]}
inf: {Install Inf Section [USB_Install] exit (0x00000000)}
inf: {Install Inf Section [WINUSB.NT]}
inf: CopyFiles=WINUSB.CopyFiles (winusb.inf line 26)
cpy: Open PnpLockdownPolicy: Err=2. This is OK. Use LockDownPolicyDefault
flq: QueueSingleCopy…
flq: Inf : ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’
flq: SourceInf: ‘C:\Windows\INF\winusb.inf’
flq: SourceSection: [sourcedisksfiles]
flq: Source root path based on SourceInf
flq: SourceRootPath: ‘C:\Windows\System32\DriverStore\FileRepository\winusb.inf_x86_neutral_a972dcba4f5b4113’
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x01000000
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x01000000
flq: SourceRootPath - ‘C:\Windows\System32\DriverStore\FileRepository\winusb.inf_x86_neutral_a972dcba4f5b4113’
flq: SourceFilename - ‘winusb.sys’
flq: TargetDirectory- ‘C:\Windows\system32\DRIVERS’
flq: TargetFilename - ‘winusb.sys’
flq: SourceDesc - ‘windows cd’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY exit(0x00000000)}
inf: {Install Inf Section [WINUSB.NT] exit (0x00000000)}
dvi: Processing co-installer registration section [USB_Install.CoInstallers].
inf: {Install Inf Section [USB_Install.CoInstallers]}
inf: CopyFiles=CoInstallers_CopyFiles (gpb01.inf line 71)
flq: QueueSingleCopy…
flq: Inf : ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’
flq: SourceInf: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’
flq: SourceSection: [sourcedisksfiles.x86]
flq: Source root path based on SourceInf
flq: SourceRootPath: ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f’
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f’
flq: SourcePath - ‘\i386’
flq: SourceFilename - ‘WinUSBCoInstaller2.dll’
flq: TargetDirectory- ‘C:\Windows\system32’
flq: TargetFilename - ‘WinUSBCoInstaller2.dll’
flq: SourceDesc - ‘USB_Install_Disk’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: QueueSingleCopy…
flq: Inf : ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’
flq: SourceInf: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’
flq: SourceSection: [sourcedisksfiles.x86]
flq: Source root path based on SourceInf
flq: SourceRootPath: ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f’
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - ‘C:\Windows\System32\DriverStore\FileRepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f’
flq: SourcePath - ‘\i386’
flq: SourceFilename - ‘WdfCoInstaller01009.dll’
flq: TargetDirectory- ‘C:\Windows\system32’
flq: TargetFilename - ‘WdfCoInstaller01009.dll’
flq: SourceDesc - ‘USB_Install_Disk’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY exit(0x00000000)}
inf: {Install Inf Section [USB_Install.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [USB_Install.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 12:37:14.939
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=3
flq: File ‘C:\Windows\system32\DRIVERS\winusb.sys’ pruned from copy.
sig: Using catalog ‘C:\Windows\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Package_1_for_KB975599~31bf3856ad364e35~x86~~6.1.1.0.cat’.
cpy: DrpSetRegFileProt ‘C:\Windows\system32\DRIVERS\winusb.sys’ Status=0 Class=Inbox Windows protected
flq: File ‘C:\Windows\system32\WinUSBCoInstaller2.dll’ pruned from copy.
cpy: DrpSetRegFileProt ‘C:\Windows\system32\WinUSBCoInstaller2.dll’ Status=0 Class=OEM Legacy
flq: File ‘C:\Windows\system32\WdfCoInstaller01009.dll’ pruned from copy.
cpy: DrpSetRegFileProt ‘C:\Windows\system32\WdfCoInstaller01009.dll’ Status=0 Class=OEM Legacy
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 12:37:15.235
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: Default installer: Enter 12:37:15.235
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
inf: {Install Inf Section [USB_Install.CoInstallers]}
inf: AddReg=CoInstallers_AddReg (gpb01.inf line 70)
inf: {Install Inf Section [USB_Install.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 12:37:15.251
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 12:37:15.251
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: Using exported function ‘WdfCoInstaller’ in module ‘C:\Windows\system32\WdfCoInstaller01009.dll’.
dvi: CoInstaller 1 == WdfCoInstaller01009.dll,WdfCoInstaller
dvi: Using exported function ‘CoDeviceInstall’ in module ‘C:\Windows\system32\WinUSBCoInstaller2.dll’.
dvi: CoInstaller 2 == WinUSBCoInstaller2.dll
dvi: CoInstaller 1: Enter 12:37:15.251
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 12:37:15.251
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 12:37:15.251
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
dvi: Installing section [USB_Install.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 12:37:15.251
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 12:37:15.251
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: CoInstaller 1: Enter 12:37:15.251
inf: Opened PNF: ‘C:\Windows\INF\oem15.inf’ ([strings])
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 12:37:15.267
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 12:37:15.298
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\gpb01.inf_x86_neutral_e4875f5cc4fcaa0f\gpb01.inf’ ([strings])
inf: Opened PNF: ‘C:\Windows\INF\winusb.inf’ ([strings.0416])
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [USB_Install]}
inf: {Install Inf Section [USB_Install] exit (0x00000000)}
inf: {Install Inf Section [WINUSB.NT]}
inf: AddReg=WINUSB.AddReg (winusb.inf line 27)
inf: {Install Inf Section [WINUSB.NT] exit (0x00000000)}
inf: {Install Inf Section [USB_Install.Hw]}
inf: AddReg=Dev_AddReg (gpb01.inf line 63)
inf: {Install Inf Section [USB_Install.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Photonita Ltda
dvi: DriverDate 01/26/2011
dvi: DriverVersion=1.0.0.0
dvi: Class name=CustomUSBDevice
dvi: Manufacturer=Photonita Ltda
dvi: Matching DeviceID=usb\vid_04d8&pid_fff1
dvi: Strong Name=oem15.inf:MyDevice_WinUSB.NTx86:USB_Install:1.0.0.0:usb\vid_04d8&pid_fff1:usb\vid_04d8&pid_000c
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [USB_Install.Services]}
inf: AddService=WinUSB,0x00000002,WinUSB_ServiceInstall (gpb01.inf line 44)
inf: ServiceType=1 (gpb01.inf line 49)
inf: StartType=3 (gpb01.inf line 50)
inf: ErrorControl=1 (gpb01.inf line 51)
inf: ServiceBinary=C:\Windows\system32\DRIVERS\winusb.sys (gpb01.inf line 52)
inf: DisplayName=“WinUSB Test” (gpb01.inf line 48)
dvi: Add Service: Modified existing service ‘WinUSB’.
inf: {Install Inf Section [USB_Install.Services] exit(0x00000000)}
dvi: Updated reflected section names for: oem15.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=GPB01 - General Purpose Board V.01
dvi: DeviceDisplayName=GPB01 - General Purpose Board V.01
dvi: Install Device: Restarting device. 12:37:15.438
dvi: Install Device: Restarting device completed. 12:37:15.485
!!! dvi: Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.
dvi: Default installer: Exit
dvi: CoInstaller 1: Enter (Post Processing) 12:37:15.485
dvi: CoInstaller 1: Exit (Post Processing)
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 12:37:15.743
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 12:37:15.743
dvi: No class installer for ‘GPB01 - General Purpose Board V.01’
dvi: CoInstaller 1: Enter 12:37:15.743
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 12:37:15.753
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 12:37:15.753
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 12:37:15.753
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup…
! ndv: Queueing up error report since device has a PnP problem…
ndv: {Core Device Install - exit(0x00000000)} 12:37:15.753
dvi: {DIF_DESTROYPRIVATEDATA} 12:37:15.753
dvi: CoInstaller 1: Enter 12:37:15.753
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 12:37:15.753
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 12:37:15.753
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 12:37:15.753
ump: Server install process exited with code 0x00000000 12:37:15.753
<<< Section end 2011/02/07 12:37:15.763
<<< [Exit status: SUCCESS]

xxxxx@photonita.com.br wrote:

Ok, with de device unconnected:

C:\Users\Photonita\GPB01\WinUSB>devcon dp_add gpb01.inf
Driver package ‘oem15.inf’ added

Then I plugged in the device and got again the error code 10 (The device cannot start). Below follows the setupapi.dev.log snippet with the last 2 entries. I simply don’t know where to focus my attention on those large entries.

Odd. I don’t know what conditions would cause WinUSB.sys to fail to start.

I assume you have written your own descriptors. Can you post them,
either as the detailed usbview output, or as your original PIC source
code? Perhaps WinUSB found something in the descriptors it didn’t like.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hopefully this log will say what caused the code 10:

http://blogs.msdn.com/b/usbcoreblog/archive/2010/02/05/how-to-generate-and-view-a-winusb-debug-trace-log.aspx

On 2/7/2011 11:19 AM, Tim Roberts wrote:

xxxxx@photonita.com.br wrote:
> Ok, with de device unconnected:
>
> C:\Users\Photonita\GPB01\WinUSB>devcon dp_add gpb01.inf
> Driver package ‘oem15.inf’ added
>
> Then I plugged in the device and got again the error code 10 (The device cannot start). Below follows the setupapi.dev.log snippet with the last 2 entries. I simply don’t know where to focus my attention on those large entries.

Odd. I don’t know what conditions would cause WinUSB.sys to fail to start.

I assume you have written your own descriptors. Can you post them,
either as the detailed usbview output, or as your original PIC source
code? Perhaps WinUSB found something in the descriptors it didn’t like.

I was nearly giving up when my device began to appear as bus controller. But finally the Microchip support responded informing me that my firmware probably has to be updated. So I will first dive into that one.

Thanks for your help, I have learned something and come back if necessary.