阅读:2481回复:15
我的usb2.0设备工作后其它的usb2.0设备无法识别,why?(300分!)
当我的usb设备插到电脑上后,其它的usb设备就不能工作了,如果是之前已经识别出来的就会自动断掉,如果是之后插上的就无法识别!
那位兄弟遇到过这种问题?给指条路,不胜感激! 详细情况如下: 我写了个usb2.0的驱动程序,是参考bulkusb写的,在使用过程中偶尔会有内存泄露,但运行基本上还算可以。但有如下问题,不清楚原因: 1,如果我的设备在pc上识别出来并可以使用,那么其他的usb2.0设备插上后只能按1.1的枚举和使用 2,如果主机上有其他usb2.0设备存在,那么我的设备死活都认不出来了!调试时发现枚举到第一步(就是get Device Descriptor)就完了!我想这应该不是我驱动的问题,因为这时候我的驱动还没有加载呢! 3,如果我的设备插上时有其他usb2.0设备已经存在,比如爱国者的usb2.0移动硬盘,那么我的设备识别出来后这个移动硬盘会自动拔除!也就是设备管理器里没这个设备了!然后再插上它就认不出来了。 4, 如果我的设备插上时之前有usb2.0设备存在,那么有的时候在驱动程序运行到 “从configuration descriptro里面parse接口”的时候死活都弄不出接口信息来 (就是用那个USBD_ParseConfigurationDescriptorEx()函数获得Interface Descriptor的时候),好像每次得到的都是一个0x0010049的东西,非常奇怪,我用softice看驱动得到的配置描述符里的接口信息没有问题的,可就是不明白为什么那个函数解析不出来! 那位xdjm遇到过以上的情况还望稍微浪费一些时间近来和偶讨论一下 不胜感激,不胜感激! [编辑 - 4/28/04 by jinghuiren] |
|
沙发#
发布于:2004-04-26 14:56
唉,为什么我发帖子总没人理呀
郁闷! |
|
板凳#
发布于:2004-04-26 17:56
兄弟 是啥好玩的东东阿
|
|
|
地板#
发布于:2004-04-26 17:58
能说的详细点吗???
|
|
|
地下室#
发布于:2004-04-28 12:18
详细情况如下:
我写了个usb2.0的驱动程序,是参考bulkusb写的,在使用过程中偶尔会有内存泄露,但运行基本上还算可以。但有如下问题,不清楚原因: 1,如果我的设备在pc上识别出来并可以使用,那么其他的usb2.0设备插上后只能按1.1的枚举和使用 2,如果主机上有其他usb2.0设备存在,那么我的设备死活都认不出来了!调试时发现枚举到第一步(就是get Device Descriptor)就完了!我想这应该不是我驱动的问题,因为这时候我的驱动还没有加载呢! 3,如果我的设备插上时有其他usb2.0设备已经存在,比如爱国者的usb2.0移动硬盘,那么我的设备识别出来后这个移动硬盘会自动拔除!也就是设备管理器里没这个设备了!然后再插上它就认不出来了。 4, 如果我的设备插上时之前有usb2.0设备存在,那么有的时候在驱动程序运行到 “从configuration descriptro里面parse接口”的时候死活都弄不出接口信息来 (就是用那个USBD_ParseConfigurationDescriptorEx()函数获得Interface Descriptor的时候),好像每次得到的都是一个0x0010049的东西,非常奇怪,我用softice看驱动得到的配置描述符里的接口信息没有问题的,可就是不明白为什么那个函数解析不出来! 那位xdjm遇到过以上的情况还望稍微浪费一些时间近来和偶讨论一下 不胜感激,不胜感激! |
|
5楼#
发布于:2004-04-28 14:26
高手作答,菜鸟闪。
故我闪。 |
|
|
6楼#
发布于:2004-04-28 15:26
1、主板是2.0还是1.1?你识别出来的设备是在2.0还是1.1模式?
2和3似乎有矛盾,究竟有其他2.0设备时你的设备能还是不能识别? 我建议你先在一个1.1的主板调好,使你的设备工作正常并且和别的设备没有冲突后再在2.0下调试。 |
|
|
7楼#
发布于:2004-04-28 16:56
真的很郁闷啊,看来是有冲突了可能你的什么注册信息和别人的重复了,好好找找吧。。。。。。
|
|
|
8楼#
发布于:2004-04-28 17:03
郁闷~
不懂! 可惜那么多分了! |
|
9楼#
发布于:2004-04-28 18:04
用户被禁言,该主题自动屏蔽! |
|
10楼#
发布于:2004-04-28 18:27
我感觉首先你该搞清书是硬件还是软件的问题
你现在还不知道是应软件的那一个吧 :D 这个才是根本 |
|
|
11楼#
发布于:2004-04-28 18:36
我想解决这个问题很简单是吧
解决了下一步就跟简单了 :D 我只懂吹牛 哈哈 骗了不少人 呵呵 |
|
|
12楼#
发布于:2004-04-28 19:49
先解决可能的硬件问题。
2,如果主机上有其他usb2.0设备存在,那么我的设备死活都认不出来了!调试时发现枚举到第一步(就是get Device Descriptor)就完了!我想这应该不是我驱动的问题,因为这时候我的驱动还没有加载呢! :o |
|
|
13楼#
发布于:2004-04-29 10:58
1、主板是2.0还是1.1?你识别出来的设备是在2.0还是1.1模式? 我的设备一开始就是按2.0定位的,所以1.1的没怎么调,严格的说对1.1还不是很支持,每次能正常工作的情况都是2.0 2和3的问题是这样的,对于不同的其他设备状况不一样,比如我现在用合众达的一个usb2.0仿真器,如果它之前插在pc机上的话,我的设备就死活认不出来了,就是2的情况;可是如果是爱国者的2.0移动硬盘,那么就会出现3的情况 现在一个很疑惑的地方就是,如果在一个usb2.0的设备插上之前主机上已经有2.0的设备存在了,那么这个设备是不是应该先按1.1的模式枚举,然后再转换到2.0的模式上?好像一般的主板上只有1个usb2.0 host controller,会不会跟这个有关系? 很感谢诸位的帮忙,问题解决了一定散分! :) |
|
14楼#
发布于:2004-04-29 11:23
建议你换一台机器先试一下,排除机器问题。
|
|
|
15楼#
发布于:2004-04-30 13:26
希望你早日成功,好给我散分。 :)
|
|
|