From: JWH on
We are attempting to pass WHQL for our device which uses winusb as the device
driver.

We are an unclassified device and are aware that we can get the signed
certificate but not the logo.

We fail 3 tests in the inftest.

The inf file we use is straight from the winusb_how_to.docx with
appropriate changes for our device and company.

We have WLK 1.5 and the QFEs from march. We don't have the latest QFEs, but
visual inspection of the QFEs from may doesn't look promising.

The errors from wtl are here:

"Log file content : Line 41: ERROR: (E22.1.1501) INF should add WUDFRd as a
service"

"Log file content : Line 52: ERROR: (E22.1.1058) Directive: UMDFSERVICE
required in section [USB_Install.Wdf]

"Log file content : Line 54: ERROR: (E22.1.1510) Service name 'WINUSB' has
not been defined using the UmdfService directive



Anyone aware of how to get around this?

From: Tim Roberts on
JWH <JWH(a)discussions.microsoft.com> wrote:
>
>We are attempting to pass WHQL for our device which uses winusb as the device
>driver.
>
>We are an unclassified device and are aware that we can get the signed
>certificate but not the logo.

Then what's the point of going through WHQL at all?

>We fail 3 tests in the inftest.
>
>The inf file we use is straight from the winusb_how_to.docx with
>appropriate changes for our device and company.
>...
>The errors from wtl are here:
>"Log file content : Line 41: ERROR: (E22.1.1501) INF should add WUDFRd as a
>service"
>"Log file content : Line 52: ERROR: (E22.1.1058) Directive: UMDFSERVICE
>required in section [USB_Install.Wdf]
>"Log file content : Line 54: ERROR: (E22.1.1510) Service name 'WINUSB' has
>not been defined using the UmdfService directive

Is your device a WPD device? That's the only way I can see you would get
these errors. If you have no unique requirements, then no driver is
required. Standard system services will handle it. If you do have unique
requirements that needs driver support, you are required to have a UMDF
driver, not just WinUSB.

http://www.microsoft.com/whdc/device/media/WPDguide.mspx
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.
From: JWH on
We use winusb.sys as a function driver and need it to be associated with our
device. The nornmal usb stack doesn't provide the APIs we need to communicate
with our device.
From: Tim Roberts on
JWH <JWH(a)discussions.microsoft.com> wrote:
>
>We use winusb.sys as a function driver and need it to be associated with our
>device. The nornmal usb stack doesn't provide the APIs we need to communicate
>with our device.

Well, you have a choice. If you need WinUSB.sys as a function driver, then
you cannot have your INF in Class=WPD. Just invent your own Class ans
ClassGUID. If you really need Class=WPD, then you will have to create a
UMDF driver. You cannot use WinUSB.sys by itself.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.
From: JWH on
We have created our own class. The inf file is below.
We did follow the instructions provided in the winusb_howto.docx cookbook.

FYI: We pass all WHQL tests except for this one test with the 3 errors.

;
; Installation file (.inf) for the USB Downloader USB-to-USB device driver.
;
; Copyright © 2010 TimeKeeping Systems, Inc.
;
; This file supports:
; Windows XP
; Windows Vista
; Windows 7

[Version]
Signature = "$Windows NT$"
Class = Downloaders
ClassGuid={764B8004-A028-4280-9269-49792819F85B}
Provider = %ProviderName%
DriverVer=02/11/2010,1.00.0.0
CatalogFile=USB_Driver_for_USB_Downloader.cat

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

[ClassInstall32]
Addreg=MyDeviceClassReg

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

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

[Manufacturer]
%ProviderName% = MyDevice_WinUSB,NTx86

[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_121A&PID_0001

; =================== Installation ===================

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

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

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

[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfServiceOrder=WINUSB

[WinUSB_Install]
KmdfLibraryVersion=1.7

[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F43D994B-7D0E-4CC5-9359-862C9564BB94}"
HKR,,"SystemWakeEnabled",0x00010001,1
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"DefaultIdleState", 0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,1800000
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"DeviceIdleIgnoreWakeEnable", 0x00010001,1
HKR,,"DeviceSelectiveSuspended", 0x00010001,1
HKR,WDF,"IdleInWorkingState", 0x00010001,0
HKR,WDF,"WakeFromSleepState", 0x00010001,1

[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WinUSBCoInstaller2.dll","WUDFUpdate_01009.dll","WdfCoInstaller01009.dll,WdfCoInstaller"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
WUDFUpdate_01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================

[SourceDisksNames.x86]
1 = %DISKNAME%, setup.exe

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

;*************************************************
*****************************
; Destination Directories
;------------------------------------------------------------------------------
[DestinationDirs]
DefaultDestDir = 12 ; %SystemRoot%\system32\drivers

; =================== Strings ===================

[Strings]
USB\MyDevice.DeviceDesc="USB Downloader USB-to-USB"
ProviderName="TimeKeeping Systems, Inc."
WinUSB_SvcDesc="USB Downloader USB-to-USB"
ClassName="USB Downloaders"
DISKNAME="Native Usb"