com2引发的activesync无法连接问题
2008-01-05 20:19:58
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bluefish.blog.51cto.com/214870/58132 |
今天将wince4.2的(基于s3c2440)3串口移植到wince5下,在用uart0(com1)作为调试串口。这个当然没有问题了。
问题出现在我将uart1和uart2的相关注册表项加入到platform.reg之后,activesync不起作用了。调试串口的消息是:出错,错误码608。对照help文档为:ERROR_DEVICE_DOES_NOT_EXIT。我个人认为是非常奇怪的错误。
还好我知道是因为加入了uart1和uart2的注册表项引发的这个错误。因为在只有uart0的时候是ok的。为此我又验证了一下:只要有uart1(com2)的注册表项activesync就不行(与上面同样的错误)。
至此初步怀疑,是activesync要占用com2这个端口。所以将uart1的注册表项修改如下:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER24402] "DeviceArrayIndex"=dword:1 "Index"=dword:4 "Port"="COM4:" "FriendlyName"="Serial Cable on COM4:" 也就是将原来的com2修改成了com4,应用程序只要打开com4就可以用uart1了。 再一次测试activesync--OK。
虽然事实证明activesync要占用com2,至少在我这个环境下是这样的。但是我想这个东西应该是可配置的。经过仔细查看.reg文件发现:
在platform.reg下有关usbfn(serial)的项如下:
[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:2 再看common.reg中的:
[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"=dword:045E "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)" "idProduct"=dword:00ce "Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)" "bcdDevice"=dword:0 哈哈,就是这个了,将"Index"的值直接改成8,ok! 本文出自 “bluefish” 博客,请务必保留此出处http://bluefish.blog.51cto.com/214870/58132 本文出自 51CTO.COM技术博客 |


rightsoft
博客统计信息
热门文章
最新评论
友情链接