werna
驱动牛犊
驱动牛犊
  • 注册日期2007-10-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望105点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
阅读:2979回复:0

关于activesync USB-serial的问题..

楼主#
更多 发布于:2007-11-02 11:58
我是在FPGA上调的,很不方便,能得到的信息也不是很多,麻烦高手帮我分析一下,多谢哈..

在CE6的OS中加入Activesync,还选了一个File sync组件后,注册表用的的PB自动生成的注册表,基本上没有改动,与之相关的注册表在common.reg中:

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
  "DefaultClientDriver"="Serial_Class"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
  "Dll"="serialusbfn.dll"
  "InterfaceSubClass"=dword:ff
  "InterfaceProtocol"=dword:ff
  "DeviceName"="USBFNS1:"
  "Tsp"="Unimodem.dll"
  "Prefix"="COM"
  "Index"=dword:0
  "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:0301
  "Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)"
  "bcdDevice"=dword:0

[HKEY_LOCAL_MACHINE\Comm\USB\Linkage]
  "Bind"=multi_sz:"USBFNSER1"

[HKEY_LOCAL_MACHINE\Comm\USBFNSER]
  "DisplayName"="USB Driver"
  "Group"="Serial"
  "ImagePath"="serialusbfn.dll"

[HKEY_LOCAL_MACHINE\Comm\USBFNSER\Linkage]
  "Route"=multi_sz:"USBFNSER1"

[HKEY_LOCAL_MACHINE\Comm\USBFNSER1\Parms]
  ; Intentionally left blank as a placeholder.

下面是串口打出的信息
bmRequestType = 21,bRequest = 22,wIndex = 0, wLength=0,wValue =1                
Now in USBFN!DC_device::HandleSetupPacket:...                                  
Now in SerialUSBFN!CUsbFn::DeviceNotifyStub:...                                
Now in SerialUSBFN!CUsbFn::DeviceNotify:...                                    
DeviceNotify (0x4,0xd05cfd5c)                                                  
Now in SerialUSBFN!CUsbFn::HandleRequest:...                                    
Now in SerialUSBFN!CUsbFn::HandleClassRequest:...                              
SET_CONTROL_LINE_STATE 1                                                        
Now in SerialUSBFN!USBSerialFn::GetModemStatus:...                              
Exit SerialUSBFN!USBSerialFn::GetModemStatus:                                  
In UfnPdd_SendControlStatusHandshake                                            
Now in USBFN!DC_device::SendControlStatusHandshake:...                          
                                                                      
SET_CONTROL_LINE_STATE 我看code是:dwModemStatus |= (MS_DSR_ON|MS_RLSD_ON); // DTR active, set DSR/RLSD
然后NotifyPDDInterrupt(INTR_MODEM);//通知串口中断发生...

下面是Repllog打出来的信息:


RLOG: [0x 3E40002] Started with cmdline: AppRunAtRs232Detect
RLOG: [0x 3E40002] Using '`Desktop @ 19200`' connection  
RLOG: [0x 3E40002] Welcome to repllog. Port in use: Dccman: 5679; RRA: 5678
RLOG: [0x 3E40002] WM_WINDOWREADY                                              
RLOG: [0x 3E40002] About to run rapisrv.exe
RLOG: [0x 3E40002] Using '`Desktop @ 19200`' connection                        
RLOG: [0x 3E40002] About to run rnaapp.exe -n -m -e"`Desktop @ 19200`"    



PC端和Device端的Activesync都会运行起来,但是链接一会PC就会提示连接失败,不知道我哪个地方没有注意到,请指教.谢谢..
游客

返回顶部