当前位置: 代码迷 >> WinCE >> 6410 USB HUB + 3G 休眠唤醒招致主USB接口用不了
  详细解决方案

6410 USB HUB + 3G 休眠唤醒招致主USB接口用不了

热度:631   发布时间:2016-04-28 12:35:43.0
6410 USB HUB + 3G 休眠唤醒导致主USB接口用不了
本帖最后由 brantyou 于 2012-11-26 16:14:30 编辑
在6410的wince 6系统上,加了个3G模块,接的是从HUB扩展出来的USB口。其中,发现一些问题:
1、加上3G驱动之后,发现通AT指令的虚拟串口无法发送AT指令,只能接收,这个按照网上的例子修改了一下USB驱动中的两个传输buffer之后就解决了。
2、系统进入休眠,唤醒之后,发现有时候会出现3G的驱动无法虚拟出串口,同时发现主U口也不能使用,但是这个时候却能够使用辅助USB接口。检测集线器的晶振发现正常,正数据电平不正常(正常情况应该是高,但不知道为什么唤醒系统后就变成了低)。出现这种情况之后,发现插入U盘已经检测不到了,但是插到辅助USB口,进行同步却可以。

请问各位,这个有可能是什么原因导致的,有解决的办法吗?

HUB扩展了两个USB接口。一个用于插U盘、鼠标等设备,另一个用于接3G
------解决方案--------------------
引用:
有朋友遇到过这样的情况吗?
为啥这个3G加上去会引起主U口都用不了?情况是:有时行有时不行,不确定发生的因素。
问了模块的技术支持,他说他有几个客户,使用的是直接接到CPU的主U口上的,这样又没事。
难道就因为加了个集线器就会出现这样的情况??
PS:3G模块的电源是另外供的,不是由USB那里供电的。

要不,试试从主板给3G模块供电.

会不会是时序有先后导致的?

从睡眠唤醒之后HUB是不是立即就绪的?
------解决方案--------------------
有没有3G模块的驱动的源码 
------解决方案--------------------
如果没有3G驱动的源码,那就有点难找原因了,
通常wince都是没有3G的源码的,这是他的软肋。
------解决方案--------------------
引用:
也试过单独接上3G模块,在模块启动后,测试系统的休眠唤醒,系统里面没有加3G驱动,结果没有出现USB挂掉的情况。
跟硬件那边讨论了下,说这个USB挂掉应该是CPU那边控制成USB输出了(系统唤醒后),而插上设备拉高的信号通知不了CPU。一个输出,一个输入,一负一正,两个信号相撞了,就出现这个USB用不了的问题。也检测过,正常的时候,插上设备,这个D+是高电平的,2.9v以上,但是不正常的时候,D+变成低电平了,小于2.4V

貌似3G驱动在系统唤醒后把HUB的U口 D+电平拉低了?可以这样理解对吧?

那么系统唤醒后可以延迟多一点再调用3G驱动吗?
------解决方案--------------------
主程序里面不能迟点加载?
------解决方案--------------------
引用:
引用:如果没有3G驱动的源码,那就有点难找原因了,
通常wince都是没有3G的源码的,这是他的软肋。

的确呀~~


还是android强大,随便咱玩的。嘿嘿。