阅读:2278回复:3
我的usb总是unknowdevice
我的程序设置NAT位后win98总出现找到USBDEVICE然后提示unknowdevice,程序总停在发送完18字节的最后1个包后得不到ACK确认,我的问题出在哪里?
我的描述符:12h,01h,10h,01h,00h,00h,00h,08h,00h,04h,5bh,c3h,00,10h,00h,00h,00h,01h |
|
沙发#
发布于:2001-08-30 18:34
UNKNOWDEVICE只能说明你的设备与HOST没有完成交互,也就是枚举过程没有完成,只要中间有任何问题,就会失败。而出现UNKNOWDEVICE表明你的设备的上拉是没有问题,也就是初始化接口芯片通过!
具体枚举过程是: 1、HOST发获取描述符请求,设备返回8字节的设备描述符,成功之后,HOST会发给设备设置地址的请求,给你一个设备地址,你要将设备地址写入接口芯片的寄存器,以后设备就按此地址给你请求 2、HOST发获取设备描述符请求,设备将返回18字节的设备描述符,成功之后,HOST发获取配置描述符,然后设备将所有描述符返给HOST,成功之后,PC将出现找到新硬件,并要求你安装相应驱动程序的画面。也就是完成了枚举的过程。 根据问题,只说明你的枚举一次都没成功(HOST共做3次枚举尝试),检查你发多包(8字节/包)时的DATA PID是否正确。这点很重要。 |
|
|
板凳#
发布于:2001-08-27 17:41
1.看看设备描述符里的Product ID和你的.inf文件是不是一样;
2.总线上拉得对不对?电压稳不稳?我遇到过相似的问题,原因就是这个。 设备类型定义成0好象没关系。 弄好了告我一声。 :) [Cuter 编辑于 2001-08-27 17:43] [Cuter 编辑于 2001-08-27 17:44] |
|
地板#
发布于:2001-08-27 16:43
为什么把设备类型定义为0?
|
|
|