xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2055回复:19

紧急求助!HID设备在XP及2000下正常,98下出错

楼主#
更多 发布于:2004-08-09 11:52
我们开发的HID设备在XP及2000下一切正常。在98下能正常枚举,但随后无论做什么都出现蓝屏,实在是不理解。

马上就得给用户提交了,真是艰难。恳请哪位高手指点一下。


[编辑 -  8/10/04 by  xiaorang]
szyuwei
驱动小牛
驱动小牛
  • 注册日期2002-11-08
  • 最后登录2019-04-08
  • 粉丝0
  • 关注0
  • 积分218分
  • 威望52点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-08-09 12:02
怎么样不正常?你不说没有人会知道的
QQ:262286607 MSN:szyuwei@msn.com TEL:13316539282
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-09 14:34
就是设备检测的时候,在HID设备上出一个问号。程序也无法检测到设备。
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-09 23:07
不知道是不是巧合,恰好在XP上做的开发,做好之后也就只能在XP上用.在2000上和98上都是有问题的设备.
谁能告诉我在98和2000上对xp的支持有什么不同?
doomerzt
驱动牛犊
驱动牛犊
  • 注册日期2003-10-18
  • 最后登录2010-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-09 23:15
跟我前几天的情况一样。
我是用开发板在xp和98下均成功调试。但是用写inf加载sys时候死活在98下无法正确加载driver。
后来干脆换了24LC64,把firmware直接烧到eeprom里面,问题解决。

但是还是不太明白为什么98不行。我改写了很多inf,还是没法正确加载驱动。


有空共同交流提高。
doomerzt
驱动牛犊
驱动牛犊
  • 注册日期2003-10-18
  • 最后登录2010-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-09 23:17
还有一点。
当我采用inf加载ddk编译好的sys文件方式时候
xp跟98必须采用各自的ddk编译。
我xpddk编译的sys放到98下是无法正确加载
然后用98ddk编译了,结果是加载倒是可以加载,window的控制面板里面的硬件也看上去正常,可硬件无法正确工作。我估计还是98编译的sys虽然被98正确load了,但是还是有些细节未搞懂。
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-10 08:59
个人发现,通用usb控制器(intel,via系列)兼容性比主控型usb控制器(nforce,sis)强,主控型usb主机控制器的信号要求严格一点。另外,发现不同windows版本的驱动兼容性也略有不同。在win2k sp4\winxp home中与windows其它版本兼容性有差别。
我使用的是d12开发hid设备,解决方法是发送数据后延时5ms。
qiuhua
驱动牛犊
驱动牛犊
  • 注册日期2004-04-19
  • 最后登录2007-11-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-10 09:59
个人发现,通用usb控制器(intel,via系列)兼容性比主控型usb控制器(nforce,sis)强,主控型usb主机控制器的信号要求严格一点。另外,发现不同windows版本的驱动兼容性也略有不同。在win2k sp4winxp home中与windows其它版本兼容性有差别。
我使用的是d12开发hid设备,解决方法是发送数据后延时5ms。

分析的很不错,我现在也是在做hid设备的。
请问一下这位大侠,我看数据手册上并没有延时的要求呀,不知道你的延时是主要对什么产生作用?
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-10 11:35
[quote]个人发现,通用usb控制器(intel,via系列)兼容性比主控型usb控制器(nforce,sis)强,主控型usb主机控制器的信号要求严格一点。另外,发现不同windows版本的驱动兼容性也略有不同。在win2k sp4winxp home中与windows其它版本兼容性有差别。
我使用的是d12开发hid设备,解决方法是发送数据后延时5ms。

分析的很不错,我现在也是在做hid设备的。
请问一下这位大侠,我看数据手册上并没有延时的要求呀,不知道你的延时是主要对什么产生作用? [/quote]
哪个手册都没有写,是我分析数据后试验的结果。很多时候都是枚举过程中主机就不发命令了,导致经常出现叹号、“设备不可用”。原因应该是主机没有完全接收到设备上一次数据,延时几个ms让主机收到所有数据就正常了。
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2004-08-10 14:43
我倒是遇到98下正常,W2K,WXP下不正常的情况。谈谈你的设备情况。

[编辑 -  8/10/04 by  lejianz]
一起交流,共同提高!
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-10 15:15
非常感谢大家的帮助。
我发现固件程序中有一个错误,而XP竟然容忍过去了,但2000不容忍了。改掉这个错误后,2000下已经正常了。但98下仍然不对,现在能找到设备了,但设备安装后,不能做任何操作,一操作就变成蓝屏。
还请大家继续帮忙。
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-08-10 22:58
这个HID设备在XP及2000下一切正常。在98下能正常枚举,但随后无论做什么都出现蓝屏,实在是不理解!
doomerzt
驱动牛犊
驱动牛犊
  • 注册日期2003-10-18
  • 最后登录2010-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-08-10 23:27
这个HID设备在XP及2000下一切正常。在98下能正常枚举,但随后无论做什么都出现蓝屏,实在是不理解!



有用开发板在98下跑过程序么?

还有请问如果是linux怎么调试?
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
13楼#
发布于:2004-08-11 09:27
老兄,你的HID REPORT DESCRIPTOR有问题,好好查一下吧。
一起交流,共同提高!
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-08-11 10:12
lejianz,真是一针见血地指出了问题。我把 REPORT DESCRIPTOR 发上来了,请您帮我看看。非常感谢。
-------------------------------------------------
retlw 0x06
retlw 0x00
retlw 0xFF ; usage page (Vendor defined)
retlw 0x09
retlw 0x01 ; usage (Vendor defined)
retlw 0xA1
retlw 0x01 ; COLLECTION (Application)
retlw 0x15
retlw 0x00 ; LOGICAL_MINIMUM (0)
retlw 0x26
retlw 0xFF
retlw 0x00 ; LOGICAL_MAXIMUM (255)
retlw 0x75
retlw 0x08 ; REPORT_SIZE (8)
retlw 0x95
retlw 0x20 ; REPORT_COUNT (32) ;by zy
retlw 0x09
retlw 0x01 ; usage (Vendor defined)
retlw 0xB1
retlw 0x02 ; FEATURE (Data, Var, Abs)
retlw 0xC0 ; end collection
-------------------------------------------------
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
15楼#
发布于:2004-08-11 12:07
retlw 0x06
retlw 0x00
retlw 0xFF ; usage page (Vendor defined)
retlw 0x09
retlw 0x01 ; usage (Vendor defined)
retlw 0xA1
retlw 0x01 ; COLLECTION (Application)
retlw 0x15
retlw 0x00 ; LOGICAL_MINIMUM (0)
retlw 0x26
retlw 0xFF
retlw 0x00 ; LOGICAL_MAXIMUM (255)
retlw 0x75
retlw 0x08 ; REPORT_SIZE (8)
retlw 0x95
retlw 0x20 ; REPORT_COUNT (32) ;by zy
retlw 0xB1
retlw 0x02 ; FEATURE (Data, Var, Abs)
retlw 0xC0 ; end collection
一起交流,共同提高!
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-08-11 13:29
lejianz,你好。我试验您给的Report Descriptor,虽然不再出现蓝屏,但发现设备成为了带问号的设备。我用Descriptor Tool分析了一下,好象还是提示缺少一个Usage,是不是还有什么地方须改?
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-08-11 17:43
非常感谢大家的帮助,终于找到了问题所在,现公布出来为遇到类似问题的朋友做参考。
是由于98下不支持全feature的report,必须在里面加上Input字段才可以。
doomerzt
驱动牛犊
驱动牛犊
  • 注册日期2003-10-18
  • 最后登录2010-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-08-11 20:59
非常感谢大家的帮助,终于找到了问题所在,现公布出来为遇到类似问题的朋友做参考。
是由于98下不支持全feature的report,必须在里面加上Input字段才可以。
 


能再具体点么
xiaorang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-08-11 21:53
你看一下我的report descriptor 就知道了。因为传递数据比较少,又不频繁,所以就用了feature report来通讯,但在98下必须包含Input report 才可以。
游客

返回顶部