Мы используем драйвер winusb для нашего устройства, но он не работает на Windows 7 x64 - PullRequest
0 голосов
/ 13 сентября 2010

Что мы делаем не так?

Инф. Файл:

; Adapted from the example INF in the Microsoft document "How to Use WinUSB to Communicate with 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"

Ответы [ 2 ]

0 голосов
/ 12 февраля 2011

Ну, вы знаете о различии между ia64 и x64, верно?Файл .cat по имени предполагает, что драйвер предназначен для Itanium.Лично я даже не знаю о сборке Itanium для Windows 7, но могу ошибаться.

В любом случае, x64 и ia64 не совпадают, и драйвер, скомпилированный для одного, не будет работать на другом.

0 голосов
/ 31 октября 2010

Единственная разница, которую я вижу между моей версией и вашей, заключается в следующем:

  1. Более новая версия WinUSB - (WdfCoInstaller01009.dll, WinUSBCoInstaller2.dll)
  2. У меня нетзакомментировал "Include = winusb.inf" в разделах USB_Install и USB_Install.Services.
  3. Моя версия KmdfLibraryVersion равна 1,5 (а не 1,7).Что мне кажется странным, поскольку может показаться, что у меня установлена ​​более новая версия драйвера WinUSB.Кроме того, мой DriverVer установлен на 2010, но я не уверен, что это вызовет проблему.
  4. У меня нет "UmdfServiceOrder" в моем USB_Install.Wdf.

К сожалению, я не вижу ничего явно неправильного в вашем файле inf.Дай этим попробовать?Мой inf файл отлично работает на Win7 x64.Вы также можете попробовать удалить файл .cat в целях тестирования, поскольку он не требуется для установки под Win7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...