开发者

We're using winusb driver for our device, but it doesn't work on Windows 7 x64

What do we do wrong?

Inf file:

; Adapted from the example INF in the Microsoft document "How to Use WinUSB to Communicate wi开发者_如何学Goth a USB Device"

[Version]
Signature = "$Windows NT$"
Class = NTMR
ClassGUID={6E76E110-A9AC-46fb-AD33-1F0444672821}
Provider = %ProviderName%
DriverVer=05/20/2009,1.0.0
CatalogFile=ti_0451_9001_ia64.cat

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

[ClassInstall32]
Addreg=UsbReg

[UsbReg]
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_0451&PID_9001

[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0451&PID_9001

[MyDevice_WinUSB.NTia64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0451&PID_9001

; =================== 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,"{ca4f3183-4521-4a24-81aa-46dfcb2cb017}"

[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WinUSBCoInstaller.dll","WUDFUpdate_01007.dll","WdfCoInstaller01007.dll,WdfCoInstaller"

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01007.dll
WUDFUpdate_01007.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

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

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

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll=1
WdfCoInstaller01007.dll=1
WUDFUpdate_01007.dll=1

[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll=2
WdfCoInstaller01007.dll=2
WUDFUpdate_01007.dll=2

[SourceDisksFiles.ia64]
WinUSBCoInstaller.dll=3
WdfCoInstaller01007.dll=3
WUDFUpdate_01007.dll=3

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

[Strings]
ProviderName="NTMR"
USB\MyDevice.DeviceDesc="TMS320VC5509A WinUSB driver"
WinUSB_SvcDesc="TMS320VC5509A board"
DISK_NAME="TI_WINUSB Install Disk"
ClassName="NTMR"


The only differences I can see between my version and yours is the following:

  1. Newer version of WinUSB - (WdfCoInstaller01009.dll, WinUSBCoInstaller2.dll)
  2. I have not commented out "Include=winusb.inf" under both USB_Install and USB_Install.Services.
  3. My KmdfLibraryVersion is 1.5 (not 1.7). Which seems strange to me, since it would appear that I have a newer version of the WinUSB driver. Also, my DriverVer is set to 2010, but I'm not sure if that would cause a problem.
  4. I do not have "UmdfServiceOrder" under my USB_Install.Wdf.

Unfortunately I cannot see anything blatantly wrong with your inf file. Give these a try? My inf file works fine for Win7 x64. You could also try removing the .cat file for testing purposes, since it isn't needed for installation under Win7.


Well, you are aware of the distinction between ia64 and x64, right? The .cat file, by name, suggests that the driver is for Itanium. Personally I'm not even aware of an Itanium build for Windows 7, but I could be wrong.

Either way, x64 and ia64 are not the same and a driver compiled for one would not work on the other.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜