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

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

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

HUB扩展了两个USB接口。一个用于插U盘、鼠标等设备,另一个用于接3G
...全文
497 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
shukunn 2014-09-17
  • 打赏
  • 举报
回复
强!!!!!
zhujinqiang 2012-12-09
  • 打赏
  • 举报
回复
引用 20 楼 brantyou 的回复:
问题已经解决。 原来是USB的OHCI驱动的问题,开启了USB的休眠模式,但是该驱动中却没有实际进入到对应的休眠处理去。导致,每次休眠唤醒的时候都跑去复位USB控制器了,这就出现了有时候USB挂掉的问题。 这种情况会影响到U盘,有时候在唤醒后发现盘符还在,而不是唤醒后,盘符消失,然后再重新出现。接上3G模块之后,加剧了这种情况的发生。修改了InitializeOH……
恭喜楼主!
一介布衣萧萧 2012-12-07
  • 打赏
  • 举报
回复
问题已经解决。 原来是USB的OHCI驱动的问题,开启了USB的休眠模式,但是该驱动中却没有实际进入到对应的休眠处理去。导致,每次休眠唤醒的时候都跑去复位USB控制器了,这就出现了有时候USB挂掉的问题。 这种情况会影响到U盘,有时候在唤醒后发现盘符还在,而不是唤醒后,盘符消失,然后再重新出现。接上3G模块之后,加剧了这种情况的发生。修改了InitializeOHCI()之后就OK了。
简单并快乐着 2012-12-06
  • 打赏
  • 举报
回复
如果没有3G驱动的源码,那就有点难找原因了, 通常wince都是没有3G的源码的,这是他的软肋。
woshi_ziyu 2012-12-06
  • 打赏
  • 举报
回复
有没有3G模块的驱动的源码
一介布衣萧萧 2012-12-06
  • 打赏
  • 举报
回复
走过的路过的,给点意见吧~~~ 换了华为的模块测试,发现还是会引起USB挂掉的情况。使用U盘测试是正常的,为啥接了3G模块之后,就会影响到USB呢?硬件也就检测到D+那个跳变的问题上,不能进一步确定。
简单并快乐着 2012-12-06
  • 打赏
  • 举报
回复
引用 15 楼 brantyou 的回复:
引用 13 楼 lqxandroid2012 的回复:如果没有3G驱动的源码,那就有点难找原因了, 通常wince都是没有3G的源码的,这是他的软肋。 的确呀~~
还是android强大,随便咱玩的。嘿嘿。
zhujinqiang 2012-12-06
  • 打赏
  • 举报
回复
主程序里面不能迟点加载?
一介布衣萧萧 2012-12-06
  • 打赏
  • 举报
回复
引用 16 楼 zhujinqiang 的回复:
引用 10 楼 brantyou 的回复:也试过单独接上3G模块,在模块启动后,测试系统的休眠唤醒,系统里面没有加3G驱动,结果没有出现USB挂掉的情况。 跟硬件那边讨论了下,说这个USB挂掉应该是CPU那边控制成USB输出了(系统唤醒后),而插上设备拉高的信号通知不了CPU。一个输出,一个输入,一负一正,两个信号相撞了,就出现这个USB用不了的问题。也检测过,正常的时……
这个延迟不了啊,3G驱动厂方只提供了个dll,无法控制这个延时
zhujinqiang 2012-12-06
  • 打赏
  • 举报
回复
引用 10 楼 brantyou 的回复:
也试过单独接上3G模块,在模块启动后,测试系统的休眠唤醒,系统里面没有加3G驱动,结果没有出现USB挂掉的情况。 跟硬件那边讨论了下,说这个USB挂掉应该是CPU那边控制成USB输出了(系统唤醒后),而插上设备拉高的信号通知不了CPU。一个输出,一个输入,一负一正,两个信号相撞了,就出现这个USB用不了的问题。也检测过,正常的时候,插上设备,这个D+是高电平的,2.9v以上,但是不正常的时候,D+变成低电平了,小于2.4V
貌似3G驱动在系统唤醒后把HUB的U口 D+电平拉低了?可以这样理解对吧? 那么系统唤醒后可以延迟多一点再调用3G驱动吗?
一介布衣萧萧 2012-12-06
  • 打赏
  • 举报
回复
引用 13 楼 lqxandroid2012 的回复:
如果没有3G驱动的源码,那就有点难找原因了, 通常wince都是没有3G的源码的,这是他的软肋。
的确呀~~
一介布衣萧萧 2012-12-06
  • 打赏
  • 举报
回复
引用 11 楼 brantyou 的回复:
走过的路过的,给点意见吧~~~ 换了华为的模块测试,发现还是会引起USB挂掉的情况。使用U盘测试是正常的,为啥接了3G模块之后,就会影响到USB呢?硬件也就检测到D+那个跳变的问题上,不能进一步确定。
木有啊,3G的那个驱动源码厂家都不提供,只给个dll。也问过他们的技术支持了,也木得搞
一介布衣萧萧 2012-11-28
  • 打赏
  • 举报
回复
引用 7 楼 zhujinqiang 的回复:
不然,你换个USB HUB试试?
问题是,硬件那边说要找到这个管脚相同的hub不容易~~~
zhujinqiang 2012-11-28
  • 打赏
  • 举报
回复
不然,你换个USB HUB试试?
zhujinqiang 2012-11-28
  • 打赏
  • 举报
回复
wince 6 高级的,不懂.帮顶了.
一介布衣萧萧 2012-11-28
  • 打赏
  • 举报
回复
搞了块板子,直接接到CPU的那个HOST USB上,情况还是一样。在飞凌6410的开发板上测试,情况也是一样。 同时,也试过,直接用这些板子接3G的开发板,但是发现,开始两次拔插是正常的。就是进入系统后,再插上3G,然后打开3G,发现运行正常,然后拔掉3G,进入休眠。唤醒之后,再插入3G,打开3G,也正常,再进入休眠,唤醒后插入3G,板子跑去重启了。暂不知道是什么原因,初步断定是插入3G的时候,瞬间电流过大导致重启了。 有知道怎么解决的吗?给点思路也好啊~~~
一介布衣萧萧 2012-11-28
  • 打赏
  • 举报
回复
引用 9 楼 zhujinqiang 的回复:
引用 1 楼 brantyou 的回复:有朋友遇到过这样的情况吗? 为啥这个3G加上去会引起主U口都用不了?情况是:有时行有时不行,不确定发生的因素。 问了模块的技术支持,他说他有几个客户,使用的是直接接到CPU的主U口上的,这样又没事。 难道就因为加了个集线器就会出现这样的情况?? PS:3G模块的电源是另外供的,不是由USB那里供电的。 要不,试试从主板给3……
供电是独立的,也试过由USB供电,发现情况都一样。HUB在USB就绪之后就可以用了。 时序这个倒有可能,因为尝试在USB的powerdown实际处理之前进行延时,发现USB挂掉的没这么快。起码前面几次休眠唤醒是正常的。 也试过单独接上3G模块,在模块启动后,测试系统的休眠唤醒,系统里面没有加3G驱动,结果没有出现USB挂掉的情况。 跟硬件那边讨论了下,说这个USB挂掉应该是CPU那边控制成USB输出了(系统唤醒后),而插上设备拉高的信号通知不了CPU。一个输出,一个输入,一负一正,两个信号相撞了,就出现这个USB用不了的问题。也检测过,正常的时候,插上设备,这个D+是高电平的,2.9v以上,但是不正常的时候,D+变成低电平了,小于2.4V
zhujinqiang 2012-11-28
  • 打赏
  • 举报
回复
引用 1 楼 brantyou 的回复:
有朋友遇到过这样的情况吗? 为啥这个3G加上去会引起主U口都用不了?情况是:有时行有时不行,不确定发生的因素。 问了模块的技术支持,他说他有几个客户,使用的是直接接到CPU的主U口上的,这样又没事。 难道就因为加了个集线器就会出现这样的情况?? PS:3G模块的电源是另外供的,不是由USB那里供电的。
要不,试试从主板给3G模块供电. 会不会是时序有先后导致的? 从睡眠唤醒之后HUB是不是立即就绪的?
一介布衣萧萧 2012-11-27
  • 打赏
  • 举报
回复
刚才找另一款3G模块测试了一下,发现问题一样。在系统唤醒之后,主USB就挂了,连U盘都识别不了了。看来很有可能就是这个HUB引起的
一介布衣萧萧 2012-11-27
  • 打赏
  • 举报
回复
引用 2 楼 LouisScola 的回复:
用这种hub接到电脑上可以使用3G吗 在开发板上的hub上使用其他的device可以吗?比如usb wifi?
这个接USB鼠标、u盘之类的是可以的。手头上木有其他的USB wifi,测试不了
加载更多回复(2)
Re:CCNA_CCNP 思科网络认证 网络层安全(通过 ACL 访问控制列表实现)======================# 本章内容大纲        网络安全简介        标准访问控制列表        扩展访问控制列表        命名控制列表        基于时间的访问控制列表        使用ACL降低安全威胁        ACL的位置 # 从OSI参考模型来看网络安全 (1)物理层安全        举例: 整栋楼统一装修后部分楼层因故出租,导致物理层(布线)安全隐患...!解决之道:物理隔离        通过网络设备进行攻击: 例如:Hub集线器(广播到所有端口被捕获)和无线AP(可见AP发现)进行攻击。        物理层安全措施: 交换机替代Hub,给无线AP配置密码(或不可见)实现无线设备的接入保护和实现数据加密通信。 (2)数据链路层安全 ([第08章 交换和 VLAN]实现)        数据链路层攻击举例: 恶意获取数据或伪造mac地址,例如ARP欺骗、ARP广播等等。        数据链路层安全措施举例:        在交换机的端口上控制连接计算机的数量或绑定MAC地址        或在交换机上划分VLAN也属于数据链路层安全。        AxDSL拨号上网(使用PPPoE协议)的账号和密码实现的是数据链路层安全。 (3)网络层安全 (本章重点:通过路由器ACL[访问控制列表])        网络层攻击举例:        IP Spoofing          (IP欺骗)、        Fragmentation Attacks(碎片攻击)、        Reassembly attacks   (重组攻击)、        PING of death        (Ping死攻击)。        网络层安全措施举例:        在路由器上设置访问控制列表ACL        和IPSec [第13章 VPN虚拟专用网络]        在Windows上实现的Windows防火墙和IPSec (4)传输层安全        传输层攻击举例:        Port Scan (端口扫描)        TCP reset attack (TCP重置攻击)        SYN DoS floods (SYN拒绝服务攻击)        LAND attack (LAND攻击)        Session hijacking (会话劫持) (5)应用层安全        应用层攻击举例:        MS-SQL Slammer worm 缓冲区溢出、        IIS红色警报、Email 蠕虫、蠕虫,病毒,木马、垃圾邮件、IE漏洞。        安全措施:        安装杀毒软件,更新操作系统。        善用虚拟机 # 创建 ACL 访问控制列表的逻辑: (1) 哪个路由器 (2) 标准或扩展 (3) 哪个接口 (4) in或out方向 # 边界路由器常规 ACL 防御计划: IP地址入站或出站欺骗;  外部SYN攻击; Smurf攻击(广播地址); 过滤ICMP出站或入站------------------------------------------      

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧