现在的位置: 首页 > 综合 > 正文

外部串口造成ActiveSync软件无法连接的问题

2013年08月31日 ⁄ 综合 ⁄ 共 2399字 ⁄ 字号 评论关闭

//-------------------------------------------------------------------------------------------------

// 作者:wogoyixikexie@gliet

//论坛账号:gooogleman (经常在CSDN出没)

// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet

// 平台:wince5.0 2440 5.0 BSP

// 发布日期:2009年8月15日 15:07:01

// 最后修改:

// 注意事项:未经作者同意,不得在转载的时候擅自修改、删除文章的任何部分

//-------------------------------------------------------------------------------------------------

      是这样的,我把外部串口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

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

 

引用 1 楼 chenyqzyf 的回复:

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

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

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

还好能用了。

 

======================哈哈,五个月之后,无意中找到了答案=============
这个明显是串口索引号和同步软件虚拟串口索引号冲突导致的。现在终于找到了
[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!把这个改动就可以了。嘿嘿。

转载请标明:作者wogoyixikexie@gliet.桂林电子科技大学一系科协,原文地址:http://www.cnblogs.com/wogoyixikexie/(或者我在CSDN的博客:http://blog.csdn.net/gooogleman——如有错误,希望能够留言指出;如果你有更加好的方法,也请在博客后面留言,我会感激你的批评和分享。

抱歉!评论已关闭.