阅读:1458回复:6
用DriverStudio生成的usb驱动无法安装
最近有个任务,是需要为一个usb板子写驱动程序,业务逻辑非常简单,就是外设和主机的双向数据通信,数据没有任何格式,也不属于已知的任何一种usb外设类型。
外设板子的程序很简单,就是初始化usb,然后在device descripotr里面指定 vendorid,productid, 另外设置class和subclass,protocol为0xFF(如前所述,此usb外设不属于任何一种已知类型) 在interface descripotr里面,也设定classs,subclass和protocol为0xFF 现在需要在windows上写一个简单的usb驱动来与外设通信,根据网上某篇教程《10分种开发一个USB驱动》http://www.driverdevelop.com/tutorial/ds/usb.php step by step做了一个简单的wdm驱动程序,向导过程中根据需要: 1.创建了两个endpoint,一个是bulk in,一个是bulk out, 2.设置了vendorid和productid(与设备端对应的), 3.设置驱动类型为USB(微软DDK上说不能将外设类型设置为USB???), 4.其他基本上按照默认值来设置。 生成代码以后,没有做任何改动,编译成功。 然后,将外设插入主机usb,可以识别设备id 的string,电脑设备管理器里面也能看到设备的vendorid和productid, 但是弹出对话框要求安装驱动程序,我选择了相应的inf文件,系统提示“指定的位置不包含有关硬件的信息”,这是怎么回事呢??这个驱动程序已经简单到不能简单,莫非遗漏了什么地方没有设置? 各位大侠多多指教。 另外,根据我的这个简单需求,是不是有更好的实现方法,或者系统里面已经有驱动程序能支持我的需求?? |
|
沙发#
发布于:2008-08-25 08:29
inf文件里面有没有写上对应的vid/pid?否则Windows因为找不到相同的hardware id而无法安装驱动
|
|
|
板凳#
发布于:2008-08-23 14:58
我再顶!
|
|
地板#
发布于:2008-08-20 11:55
。。。。。。
|
|
地下室#
发布于:2008-08-19 13:14
高手指教哪。。
|
|
5楼#
发布于:2008-08-19 02:34
深更半夜,自己顶一下不容易哪!
|
|
6楼#
发布于:2008-08-19 02:33
另外,我用usbtrace抓不到device descriptr,系统设备管理器里面为什么却可以看到这个设备的vendorid和productid呢?
|
|