打印

?我的USB温度计产问题,驱动装不上去

[复制链接]
2776|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小李志|  楼主 | 2007-6-7 19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用D12做一个USB的温度采集系统,驱动程序用别人的,但就是装不上去,每次插上设备时,通过向导来添加程序,但都显示找不到相关硬件信息
设备描述符如下:
sizeof(DEVICE_DESCRIPTOR_STRUCT),                  //设备描述符的字节数大小
DEVICE_DESCRIPTOR,                                     //设备描述符类型编号
0x1001,                                            //USB版本号
0x00,                                              //USB分配的设备类代码
0x00,                                              //USB分配的子类代码
0x00,                                              //USB分配的设备协议代码
0x10,                                              //端点0的最大包大小
0x7104,                                            //厂商编号VID,
0x2202,                                            //产品编号PID,
0x0001,                                            //设备出厂编号
0x01,                                              //设备厂商字符串的索引
0x02,                                              //描述产品字符串的索引
0x03,                                              //描述设备序列号字符串的索引
0x01 
接口描述如下:
{
sizeof(INTERFACE_DESCRIPTOR_STRUCT),                            //接口描述符的字节数大小
INTERFACE_DESCRIPTOR,                                            //接口描述符类型编号
0x00,                                                            //接口编号为0
0x00,                                                            //该接口描述符的编号
0x00,                                                //非0端点数量为0
0x00,                                                            //
0x00,                                                            //使用的子类
0x00,                                                            //
0x00                                                            //接口描述符字符串索引
},
INF文件如下:
Version]
Signature="$CHICAGO$"
Class=USB
provider=%PHILIPS%
LayoutFile=layout.inf

[Manufacturer]
%MfgName%=Philips

[Philips]
%USBVID_0471&PID_0222.DeviceDesc%=D12TEST.Dev, USBVID_0471&PID_0222
%USBVID_0471&PID_0666.DeviceDesc%=D12TEST.Dev, USBVID_0471&PID_0666
%USBVID_0471&PID_0888.DeviceDesc%=D12TEST.Dev, USBVID_0471&PID_0888

[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
D12TEST.Files.Ext = 10,System32Drivers
D12TEST.Files.Inf = 10,INF

[D12TEST.Dev]
CopyFiles=D12TEST.Files.Ext
AddReg=D12TEST.AddReg

[D12TEST.Dev.NT]
CopyFiles=D12TEST.Files.Ext
AddReg=D12TEST.AddReg

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

[D12TEST.AddService]
DisplayName    = %D12TEST.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 2                  ; SERVICE_AUTO_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%System32DriversD12TEST.sys
LoadOrderGroup = Base

[D12TEST.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,D12TEST.sys
HKLM,"SystemCurrentcontrolsetServicesD12TESTParameters","MaximumTransferSize",0x10001,65536
HKLM,"SystemCurrentcontrolsetServicesD12TESTParameters","DebugLevel",0x10001,2


[D12TEST.Files.Ext]
D12TEST.sys


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

[Strings]
PHILIPS="Philips Semiconductors"
MfgName="Philips"
USBVID_0471&PID_0222.DeviceDesc="Philips PDIUSBD12 Evaluation Board"
USBVID_0471&PID_0666.DeviceDesc="Philips PDIUSBD12 SMART Evaluation Board"
USBVID_0471&PID_0888.DeviceDesc="Philips PDIUSBD12 USB-EPP Evaluation Board"
D12TEST.SvcDesc="D12TEST.Sys PDIUSBD12 Bulk IO test driver"

相关帖子

沙发
小李志|  楼主 | 2007-6-7 19:31 | 只看该作者

补一下

顺便问一下,驱动程序是不是要在硬件没插就得安上,我只通过发现新设备的向导来安装,并把INF拷在WINDOW/INF下,SYS拷在WINDOWS/DRIVERS/SYSTEM32下

使用特权

评论回复
板凳
computer00| | 2007-6-7 20:19 | 只看该作者

USB驱动是在硬件连上后才安装驱动的。

你里面的类和子类使用0,不知道行不行,这个值是保留的。255是厂商自定的,你可以试试这个。

还有配置描述符,你的设备没有非0端点,不知道是不是还需要配置描述符?不清楚.也许要吧.
你可以在设备管理器里面看看这个设备的VID和PID,看是否已经枚举正确了。

使用特权

评论回复
地板
小李志|  楼主 | 2007-6-8 09:22 | 只看该作者

设备枚举没问题,我看了下你(COMPUTER 00)的键盘设备描述的类和子类也是0啊

使用特权

评论回复
5
computer00| | 2007-6-8 10:19 | 只看该作者

那不一样,如果在设备描述符里面类型指定为0,则表示在接口

我是在接口描述符里面指定了它是HID类的.

//interface_descritor                                             //接口描述符
{
 sizeof(INTERFACE_DESCRIPTOR_STRUCT),                             //接口描述符的字节数大小
 INTERFACE_DESCRIPTOR,                                            //接口描述符类型编号
 0x00,                                                            //接口编号为0
 0x00,                                                            //该接口描述符的编号
 ENDPOINT_NUMBER,                                                 //非0端点数量为2,只使用端点主端点输入和输出
 0x03,                                                            //人机接口设备(HID)类
 0x01,                                                            //使用的子类:支持BIOS根启动Boot的子类
 0x02,                                                            //使用的协议:鼠标
 0x00                                                             //接口描述符字符串索引
},

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

151

主题

727

帖子

3

粉丝