5170|12

61

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

外部串口造成ActiveSync软件无法连接的问题 [复制链接]

  平台2440 5.0BSP
  是这样的,我把外部串口B加载后,会造成ActiveSync软件无法连接,PC右下角会提示“无法识别设备”
  我把该串口的注册表去掉,马上又可以连接了,这个确实是这个串口引起的。
  我找不出原因,外部串口A的注册表却不会影响ActiveSync软件。
外部串口B注册表

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UART4]
  "DeviceArrayIndex"=dword:4
  "Irq"=dword:27
  "IoBase"=dword:28000000
  "IoLen"=dword:8
  "Prefix"="COM"
  "Dll"="SER2440.Dll"
  "Order"=dword:0
  "Index"=dword:5
  "Priority"=dword:0
  "Port"="COM5:"
  "RegStride"=dword:1
  "DeviceType"=dword:0
  "FriendlyName"="Serial Cable on COM5:"
  "Tsp"="Unimodem.dll"
  "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
————————————————据以前的了解,这个ActiveSync相关的serialusbfn.dll和串口公用MDD。
它的注册表是
C:\WINCE500\PUBLIC\COMMON\OAK\FILES\common.reg(2474):
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
  "Dll"="serialusbfn.dll"
  "InterfaceSubClass"=dword:ff
  "InterfaceProtocol"=dword:ff
  "DeviceName"="USBFNS1:"
  "Tsp"="Unimodem.dll"
  "Prefix"="COM"
  "DeviceArrayIndex"=dword:0
  "DeviceType"=dword:0
  "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
; idVendor must be changed. 045E belongs to Microsoft and is only to be used for
; prototype devices in your labs. Visit http://www.usb.org to obtain a vendor id.
  "idVendor"=dword:045E
  "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
  "idProduct"=dword:00ce
  "Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)"
  "bcdDevice"=dword:0

这两个注册表没有什么冲突啊。请问这是怎么回事呢?

最新回复

======================哈哈,五个月之后,无意中找到了答案============= 这个明显是串口索引号和同步软件虚拟串口索引号冲突导致的。现在终于找到了 [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]            "FriendlyName"=LOC_USBFN_SERIAL_NAME            "idVendor"=dword:0547            "Manufacturer"=LOC_USBFN_SERIAL_MANUFACTURER            "idProduct"=dword:2720            "Product"=LOC_USBFN_SERIAL_PRODUCT            "Index"=dword:5——It's here!把这个改动就可以了。嘿嘿。  详情 回复 发表于 2009-8-15 13:56
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
试着"Index"=dword:5  改成其他值比如8。

估计usb是虚拟成串口,而你的B 恰好占用了usb_ser的串口号5。
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
1."Dll"="SER2440.Dll"  
  "Dll"="serialusbfn.dll"
2.  上面是 "Index"=dword:5
     下面你没有定义  "Index"=dword:?
     没有冲突的
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 xumercury 的回复:
1."Dll"="SER2440.Dll"  
  "Dll"="serialusbfn.dll"
2.  上面是 "Index"=dword:5
    下面你没有定义  "Index"=dword:?
    没有冲突的
[/quote]

下面的是微软自己弄的在common.reg中,我没有改动


[quote]引用 1 楼 chenyqzyf 的回复:
试着"Index"=dword:5  改成其他值比如8。

估计usb是虚拟成串口,而你的B 恰好占用了usb_ser的串口号5。


这个注册表在4.2BSP下能正常使用的。(4.2BSP也跑在wince5.0上)
5.0BSP同是跑wince5.0
怎么就不行了呢?

貌似都找不出什么理由。

我先按照你的方法试试。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 
外部串口的引脚和D+上拉引脚也毫不相干的。真是不知怎么回事,这等事就是撞上了。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
。。。。。。你确认是COM导致的Activesync无法链接吗
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

7
 
引用 5 楼 xumercury 的回复:
。。。。。。你确认是COM导致的Activesync无法链接吗


我不让COM5加载立即就能连接了,很明显是它了。

 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
没碰到过这种问题,这部分没有深入研究过。只能帮着瞎出主意了。

用Debug模式,看调试信息。

加载UART4之后,连USB线,PC肯定会发信息过来,如果真是UART4影响了,那这里的调试信息肯定能看出错误。

然后就跟正常的信息对比了。

这里你还是得重编镜像了,没法用kitl实时加载了。辛苦一点了。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 1 楼 chenyqzyf 的回复:
试着"Index"=dword:5  改成其他值比如8。

估计usb是虚拟成串口,而你的B 恰好占用了usb_ser的串口号5。


果然是这个"Index"=dword:5的问题。有时候这个世界很奇妙。
以前那个BSP用"Index"=dword:5没有事情,现在就有问题了,哈哈,无奈。

还好能用了。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
因为你这个问题我遇到过。

clear sdram那个问题...
我在OEMInit加入NKForceClearBoot后,现在情况反过来了。 断电久了反而不能启动了。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 chenyqzyf 的回复:
因为你这个问题我遇到过。

clear sdram那个问题...
我在OEMInit加入NKForceClearBoot后,现在情况反过来了。 断电久了反而不能启动了。


哈哈,貌似这个BSP的驱动我都换的差不多了,最好还要有个——移植到wince6.0的项目做做比较好。

这个东西我的加进去现在没有人来反馈了,估计好了。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
======================哈哈,五个月之后,无意中找到了答案=============
这个明显是串口索引号和同步软件虚拟串口索引号冲突导致的。现在终于找到了
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

13
 
======================哈哈,五个月之后,无意中找到了答案=============
这个明显是串口索引号和同步软件虚拟串口索引号冲突导致的。现在终于找到了
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
           "FriendlyName"=LOC_USBFN_SERIAL_NAME
           "idVendor"=dword:0547
           "Manufacturer"=LOC_USBFN_SERIAL_MANUFACTURER
           "idProduct"=dword:2720
           "Product"=LOC_USBFN_SERIAL_PRODUCT
           "Index"=dword:5——It's here!把这个改动就可以了。嘿嘿。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表