qinxy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4410回复:35

USB驱动程序的安装问题

楼主#
更多 发布于:2002-05-10 19:08
我的VID和PID正确,并且硬件也插入了,但是还是安装不了。安装过程中,系统居然提示指定位置找不到驱动程序,但是.inf和.sys同在一个目录下,并且.inf文件中的目标文件和源文件路径正确。
另外,是不是VID和PID正确后,驱动程序就可以找到指定的硬件了。
LIUTANG老兄,AddDevice,Createdevice如何跟踪,驱动程序运行于核心态,VC++的调试器不能用。另外,如果使用多个pipe是不是要在OnStartDevice例程的ActiveConfigure函数重新配置,由dirverwizard生成的能否直接使用。
--------------------------------------------------------
可以使用,我参考那篇文章写出第一个框架的。
有时候用向导生成的驱动不一定能安装,大部分问题是出在OnStartDevice例程的ActiveConfigure函数里,因为ActiveConfigure函数有一个长度的参数,缺省为1200,但有时设备拒绝接收这么大的数,试着设小一点看看,可以用USBVIEW查出应该设置成多大,比那个值大就可以了。
另外,接口,端口等的设置一定要正确,别的就没什么了。
--------------------------------------------------------
我的driver好象不是这个问题,OnStartDevice例程的ActiveConfigure函数的configsize我使用的是64(D12的endpoint0的maxsize为16)。




 

最新喜欢:

pandengzhepanden... liuxf66liuxf6...
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-05-11 07:34
    跟踪驱动程序可以使用SOFTICE,有很多地方可以下载中文使用说明。
    如果设备有多个PIPE,在你需要使用其中一个时,应该定义一个变量,并做初始化。
    ActivateConfiguration的MaxConfigSize指配置信息的最大长度,和PIPE0的MAXSIZE无关,按说一般情况是大于64的,不过看你的设备了。
nuobo
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-11 10:55
请问哪里有softice的中文文档?
qinxy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-11 18:24
????
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-11 22:33
关于在指定位置找不到驱动程序的问题还是INF写的不对
lcy
lcy
驱动牛犊
驱动牛犊
  • 注册日期2001-07-17
  • 最后登录2005-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-12 01:15
各位大侠:请紧急救助一把!

     我用EZUSB开发了一套系统,用CYPRESS的开发套件,可在WIN2K下老说安装不成功,后来我我用CYPRESS的开发板直接Download下位机程序,然后操作系统提示发现新设备,并提示装载驱动程序,在它的提示下我一直NEXT到我写的inf文件,可系统还是提示说找不到相应的驱动程序。在万般无奈下,我想试试在系统的提示下也能否安装开发板的驱动程序,于是我把原来装好的开发板驱动程序从系统中删除(原来开发板的驱动程序我是用CYPRESS公司开发包中的Setup程序进行安装的),在重新把开发板插到PC机上,根据系统提示,我找到Ezusbw2k.inf可系统还是说无法找到相应的驱动程序,而且我是根据Ezusbw2k.inf的节把驱动程序放在同一个目录底下,但如果运行开发包中的Setup程序,则系统能很好的运行,这个问题捆绕了我很久,忠诚的希望你能帮助我
  
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-12 15:40
我也有相同的问题:在W2K下,系统也是找不到驱动。但是我将相同的INF文件、驱动程序使用在Win98下,采用相同的安装方法,一点问题也没有。请问WHY?
liuxf66
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-12 15:44
是找不到EZUSB.sys
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-05-12 15:45
或是PID,VID写的不对,看看PID,VID的两个字节的顺序问题

[编辑 -  5/12/02 by  WOOD]
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-05-12 15:49
关于2K下的问题,建议找一个2K下的INF看一下
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-05-12 16:22
首先,PID、VID绝对正确。
其次,我就是按照W2K下的INF文件修改的,结果在98下能用,在W2K下却不能用,见鬼!
不过同样谢谢你,请再帮我想想办法。
liuxf66
qinxy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-05-12 18:22
PID和VID没问题。GUID也没问题。
.inf文件中的SourceDisksNames和SourceDisksFiles节都注释掉了。
还是找不到。
crazy
驱动牛犊
驱动牛犊
  • 注册日期2001-10-18
  • 最后登录2005-08-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-05-12 18:59
把驱动程序copy到winnt\\system32\\drivers\\下,应该找得到啊?试一试吧! :)
crazy
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-05-12 20:52
把INF贴上来,一起研究
qinxy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-05-13 10:26
相应的FIRMWARE源程序为(与USBVIEW读出的一样,这是它配套给出的源程序):
code USB_DEVICE_DESCRIPTOR DeviceDescr =
{
    sizeof(USB_DEVICE_DESCRIPTOR),
    USB_DEVICE_DESCRIPTOR_TYPE,
    SWAP(0x0100),
    USB_CLASS_CODE_TEST_CLASS_DEVICE,
    0, 0,
EP0_PACKET_SIZE,
SWAP(0x0471),      //PID
SWAP(0x0666),      //VID
SWAP(0x0100),
    0, 0, 0,
25
};
相应的.inf文件为:
;; USBdriver.inf

;--------- Version Section ---------------------------------------------------

[Version]
Signature=\"$Windows 95$\"
Provider=%ProviderName%

Class=NewDeviceClass
ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b}

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------

;[SourceDisksNames]
;1 = \"Install Disk\",Disk1,,

;[SourceDisksFiles]
;USBdriver.sys = 1,,

;--------- ClassInstall/ClassInstall32 Section -------------------------------

; 9X Style
[ClassInstall]
Addreg=Class_AddReg

; NT Style
[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,,\"-18\"

;--------- DestinationDirs Section -------------------------------------------

[DestinationDirs]
USBdriver_Files_Driver = 10,System32\\Drivers

;--------- Manufacturer and Models Sections ----------------------------------

[Manufacturer]
%MfgName%=Mfg0

[Mfg0]
%DeviceDesc%=USBdriver_DDI, USB\\VID_0471&PID_0666

;---------- DDInstall Sections -----------------------------------------------
; --------- Windows 9X -----------------

[USBdriver_DDI]
CopyFiles=USBdriver_Files_Driver
AddReg=USBdriver_9X_AddReg

[USBdriver_9X_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,USBdriver.sys
HKR, \"Parameters\", \"BreakOnEntry\", 0x00010001, 0

; --------- Windows NT -----------------

[USBdriver_DDI.NT]
CopyFiles=USBdriver_Files_Driver
AddReg=USBdriver_NT_AddReg

[USBdriver_DDI.NT.Services]
Addservice = USBdriver, 0x00000002, USBdriver_AddService

[USBdriver_AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\USBdriver.sys

[USBdriver_NT_AddReg]
HKLM, \"System\\CurrentControlSet\\Services\\USBdriver\\Parameters\",\\
\"BreakOnEntry\", 0x00010001, 0


; --------- Files (common) -------------

[USBdriver_Files_Driver]
USBdriver.sys

;--------- Strings Section ---------------------------------------------------

[Strings]
ProviderName=\"Your Company Name here\"
MfgName=\"Name of HW Manufacturer here\"
DeviceDesc=\"USB DRIVER\"
DeviceClassName=\"Description of Device class here\"
SvcDesc=\"Description of NT service here\"
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-05-13 10:45
我的INF文件来了,说明:用的是EZUSB的AN2131QC,loader.sys是下载firmware的,ezusb.sys是功能驱动部分。
INF文件:

[Version]
Signature=\"$CHICAGO$\"

Class=USB
provider=%Cypress%
LayoutFile=layout.inf

[Manufacturer]
%Cypress%=Cypress

[Cypress]
%USB\\VID_0547&PID_1234.DeviceDesc%=EZUSBDEV.Dev, USB\\VID_0547&PID_1234
%USB\\VID_0547&PID_2345.DeviceDesc%=EZUSB.Dev, USB\\VID_0547&PID_2345

[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
EZUSB.Files.Ext = 10,System32\\Drivers
EZUSB.Files.Inf = 10,INF
EZUSBDEV.Files.Ext = 10,System32\\Drivers
EZUSBDEV.Files.Inf = 10,INF

[EZUSB.Dev]
CopyFiles=EZUSB.Files.Ext, EZUSB.Files.Inf
AddReg=EZUSB.AddReg

[EZUSB.Dev.NT]
; copyfiles commented out for Win2K to avoid user intervention during install
; CopyFiles=EZUSB.Files.Ext, EZUSB.Files.Inf
AddReg=EZUSB.AddReg

[EZUSB.Dev.NT.Services]
Addservice = EZUSB, 0x00000002, EZUSB.AddService

[EZUSB.AddService]
DisplayName    = %EZUSB.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 2                  ; SERVICE_AUTO_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\ezusb.sys
LoadOrderGroup = Base

[EZUSB.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,ezusb.sys

[EZUSB.Files.Ext]
ezusb.sys

[EZUSB.Files.Inf]
TouchPen.inf

[EZUSBDEV.Dev]
CopyFiles=EZUSBDEV.Files.Ext, EZUSBDEV.Files.Inf
AddReg=EZUSBDEV.AddReg

[EZUSBDEV.Dev.NT]
; copyfiles commented out for Win2K to avoid user intervention during install
; CopyFiles=EZUSBDEV.Files.Ext, EZUSBDEV.Files.Inf
AddReg=EZUSBDEV.AddReg

[EZUSBDEV.Dev.NT.Services]
Addservice = EZUSBDEV, 0x00000002, EZUSBDEV.AddService

[EZUSBDEV.AddService]
DisplayName    = %EZUSBDEV.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 2                  ; SERVICE_AUTO_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\loader.sys
LoadOrderGroup = Base

[EZUSBDEV.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,loader.sys

[EZUSBDEV.Files.Ext]
loader.sys

[EZUSBDEV.Files.Inf]
TouchPen.inf

;---------------------------------------------------------------;

[Strings]
Cypress=\"Cypress Semiconductor\"
USB\\VID_0547&PID_1234.DeviceDesc=\"TouchPen Initialize---Designed by LXF\"
USB\\VID_0547&PID_2345.DeviceDesc=\"TouchPen---Designed by LXF\"

EZUSB.SvcDesc=\"Cypress General Purpose USB Driver (ezusb.sys)\"
EZUSBDEV.SvcDesc=\"Cypress General Purpose USB Driver w/ Keil Monitor (loader.sys)\"
liuxf66
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-05-13 21:58
TO:liuxf66
1234和2345?EZUSB有这种PID吗?
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-05-13 22:01
TO:qinxy
VID_0471&PID_0666好象也不是EZUSB最初始的PID吧

liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-05-13 22:46
这个VID、PID无所谓的,可以任意指定,只要INF文件中的VID、PID和EEPROM以及firmware中的VID、PID相同即可。我是这样理解的。
另外,我换了个VID_0547、PID_0080之类比较“正常”的号也不行,请帮忙看看INF文件中别的地方有没有问题。谢谢!
liuxf66
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-05-14 08:14
你用EEPROM装载FIREWARE?
上一页
游客

返回顶部