WinCE下ActiveSync连接故障分析

 2012-4-27          [nemail]    
[lablebox]

        WinCE工控主板使用USB口与PC连接,并通过ActiveSync实现远程文件浏览,注册表,进程,编译调试等功能。对于ActiveSync与PC通信过程中出现的故障,我们发布过一篇文章《EM9170工控主板ActiveSync连接故障修复办法》来介绍解决此类故障的方法。在进一步的研究后发现,排除USB连接问题,ActiveSync自身的验证机制也可能导致工控主板与PC无法正常连接,可能导致连接后,短时间断开,或显示连接却无法使用,或提示“远程主机断开连接”,或提示“无法启动与台式计算机的通信,出现严重错误608”等。

 

        当工控主板使用USB与PC连接时,ActiveSync的repllog.exe程序将会启动,并尝试访问注册表[HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL]的RNG项进行验证,如果验证出现错误(比如此项被删除不存在),ActiveSync将产生错误退出,从而无法与PC正常连接,单纯的重启主板不能解决该问题。因为ActiveSync每次连接都会修改该项键值,可能在修改该键值的时候发生错误(断电或其它原因),就导致工控主板无法再与PC进行正常连接。

 

        简单解决办法是格式化注册表所在分区,重置注册表。

 

EM9170选择格式化SYSTEMFLASH分区

        登录板子,开始菜单->设置->控制面板,选择存储管理器。

 

 

        选择注册表所在分区SYSTEMFLASH,选择“属性”。

 

 

        先“卸除”该分区。

 

 

        然后“格式化”该分区,格式化完成后再“装入”该分区。

 

 

EM9161,EM9160等嵌入式主板选择格式化NANDFLASH

        登录板子,开始菜单->设置->控制面板,选择存储管理器。

 

 

        选择注册表所在分区NANDFLASH,点击“卸除”。

 

 

        点击“格式化”按钮进行格式化,需要等待3-5分钟,格式化完成后重新启动主板即可。

[lablebox]