请教各位:
我在wince6.0下面 在打开com口的时候(CreateFile())提示失败.我用的是ENFORA的例子.在BIB和REG文件里面都已经添加了模拟器对应文件下面的一些命令.但是在烧完OS后正常加载RIL的过程中,从TRACE信息显示如下:
RILDrv : E : CComHandle::OpenDownstreamPort : Couldn't open downstream port
RILDrv : E : RIL_Init : RIL failed to initialize
因为我使用的是ENFORA,在RILMDD部分的Comhandle中查找的是注册表的ComPort和ComPortNotifications两个.我查看IMGENFORA的时候发现只有ComPort 而且对应的分别如下:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
"Dll"="rilgsm.dll"
;DEVFLAGS_LOADLIBRARY 0x00000002 // Use LoadLibrary instead of LoadDriver
"Flags"=dword:2
"Index"=dword:1
"Order"=dword:3
"Prefix"="RIL"
"ComPort"="COM7:"
"RebootOKEvName"="Mux0710_RebootOK" ; name of the event used to signal reboot OK
"RebootKOEvName"="Mux0710_RebootKO" ; name of the event used to signal reboot failure
和
; COM1 for underlying GSM 07.10
[HKEY_LOCAL_MACHINE\Software\Microsoft\GSM07_10]
"ComPort"="COM1:"
"BaudRate"=dword:1C200 ; 115200
"FrameOption"=dword:1 ; Advanced
而ComPortNotifications 根本在IMGENFORA里面没有,如果找不到ComHandle会默认拿Com2来CreateFile。
我现在是拿target的串口来作为连接modem的口。
请问各位我到底需要怎么样来调整我的Com口。使得数据可以正确的传输。谢谢!
是否Software\Microsoft\GSM07_10 对应的COM1表示的是RIL的抽象COM7\9对应的真实地物理串口?谢谢!
根据你的注册表,打开的时候createfile应该用的是RIL1。
也就是说是COM7 这个虚拟口?
那我要如何与串口对应上(通过0710?)?
为什么我的Com7会打不开呢?谢谢!
如果要使用ENFORA驱动(内部已经修改为对应Modem指令/)。我需要将如下三个环境变量设置成1吗?
IMGFAKERIL= IMGTTPCOM= IMGENFORA=1
我不需要用TTPCOM是否也需要设置IMGTTPCOM=1???IMGFAKERIL 呢?
启动ENFORA是否也需要启动710Mux,如是该如何启动呢?谢谢!
RIL的实现,是在虚拟串口的基础上,否则后继上网与电话的实现会变的不可能。
所以要用RIL,就要实现Mux。
以下是CE6.0选择cellcore All module后,在编译时出现的被选择模块信息:
CELLCORE_MODULES= CellTSP TAPIOCA TBDAlter ril rillog mux07_10 sim SIMdrv simtkit simtkituice tkitapp SMS_Providers sms SMSdrv WAP WAPdrv wwan CellCore ccoreutl ril sim sms
mux07_10 已经在被选择的模块中,虽然选择的时候并未出现mux07_10。这充分说明了CE6.0 RIL对mux07_10的依赖。
驱动0710没有被加载。我自己用工具在BuiltIn里面看到GSM0710_1和GSM0710_2 并进行加载提示下述错误。问题可能的原因是什么?
if ( !bOkReceived )
{
// MS is not responding
NKDbgPrintfW(TEXT("710MUX: ERROR: Modem on %s is not responding\r\n"),szComName);
goto error;
}
To 91program:直接使用710Mux 工程不行吗?我从目前的Trace信息看全部是在这个模块里面出现了问题。是否因为该模块默认打开的Com口与我们开发板的不一样?如果需要修改,我需要修改哪一个键值来对应我的开发板(我的开发板的串口)。谢谢!
CELLCORE_MODULES= CellTSP TAPIOCA TBDAlter ril rillog mux07_10 sim SIMdrv SMS_Providers sms SMSdrv WAP WAPdrv CellCore ccoreutl ril sim sms
7楼只是说了0710Mux与RIL的关系.
但我的问题还是在阿,我目前就需要使用RIL 同时也就加载了0710Mux.但是我发现platform.reg文件中写进的Mux07_10.dll 对应的[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_2]
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1]均不能加载,出现加载失败.需要怎么解决?
; see %_WINCEROOT%\public\shellw\oak\inc\wpcpriv.h or comments in project.reg
; GSM: SHDFL_PHONE_SUPPORT0230DIALPARSING|SHDFL_PHONE_SUPPORTWCMP|SHDFL_PHONE_SUPPORTMOSMS|SHDFL_PHONE_SUPPORTGPRS|SHDFL_PHONE_0340SMS|SHDFL_PHONE_SMSUNICODE|SHDFL_PHONE_INTLPLUS|SHDFL_PHONE_AUTOTHREEWAYCALLING|SHDFL_PHONE_UNIQUECALLTRACKING|SHDFL_PHONE_SIMSUPPORT|SHDFL_PHONE_SUPPORTSPEAKERPHONE|SHDFL_PHONE_LOCKFACILITY
[HKEY_CURRENT_USER\ControlPanel\Phone]
"Features"=dword:0206C7D8
; GSM: SHDFL_PHONE_LOCKFACILITY | SHDFL_PHONE_SIMSUPPORT
[HKEY_LOCAL_MACHINE\Security\Phone]
"Features"=dword:18
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
"Dll"="rilgsm.dll"
;DEVFLAGS_LOADLIBRARY 0x00000002 // Use LoadLibrary instead of LoadDriver
"Flags"=dword:2
"Index"=dword:1
"Order"=dword:3
"Prefix"="RIL"
"ComPort"="COM7:"
"RebootOKEvName"="Mux0710_RebootOK" ; name of the event used to signal reboot OK
"RebootKOEvName"="Mux0710_RebootKO" ; name of the event used to signal reboot failure
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1]
"Prefix"="COM"
"Dll"="Mux07_10.dll"
"DeviceArrayIndex"=dword:1
"Index"=dword:7
"Order"=dword:2
; power manager enabled device driver
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
; GSM 07.10 specific
"GSM_0710_DLCI"=dword:1 ; Rem: Dlci also define priority (lowest is low prio)
"GSM_0710_TYPE"=dword:1 ; boolean: 1 (true) is for AT cmd, 0 (false) is for Data
; COM9 for ppp connection over CSD / GPRS
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_2]
"Prefix"="COM"
"Dll"="Mux07_10.dll"
"DeviceArrayIndex"=dword:1
"Index"=dword:9
"Order"=dword:3
; power manager enabled device driver
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
; GSM 07.10 specific
"GSM_0710_DLCI"=dword:2 ; Rem: Dlci also define priority (lowest is low prio)
"GSM_0710_TYPE"=dword:1 ; boolean: 1 (true) is for AT cmd, 0 (false) is for Data
; COM1 for underlying GSM 07.10
[HKEY_LOCAL_MACHINE\Software\Microsoft\GSM07_10]
"ComPort"="COM1:"
"BaudRate"=dword:1C200 ; 115200
"FrameOption"=dword:1 ; Advanced
[HKEY_LOCAL_MACHINE\Comm\Cellular\RIL]
; RIL_CAPS_NOTIFICATION_CALLLIST
; RIL_CAPS_NOTIFICATION_LINESTATUS
; RIL_CAPS_NOTIFICATION_SIGNALQUALITY
"CapsNotificationImplParams"=dword:00000007
;
710Mux驱动加载失败(手动加载的)。打印的Trace显示为无法收到回应:
710MUX: ERROR: Modem on %s(COM4) is not responding
先确定模块可以正常接收和处理命令
可以在PC上用超级终端验证
再确定串口驱动工作正常
明确物理串口设备的名字是COM多少
MUX直接使用这个名字
在注册键
; COM1 for underlying GSM 07.10
[HKEY_LOCAL_MACHINE\Software\Microsoft\GSM07_10]
"ComPort"="COM1:"
"BaudRate"=dword:1C200 ; 115200
"FrameOption"=dword:1 ; Advanced
这些问题已经解决了。
顺道问下:如何设置PPP-RIL 的GPRS的DataPort的BaudRate???
我怎么在PPP的log中看到默认为28800b?
RIL对于模块的BaudRate是否为自适应的?谢谢!
710Mux驱动加载失败(手动加载的)。打印的Trace显示为无法收到回应:
710MUX: ERROR: Modem on %s(COM4) is not responding
是怎么解决的呢 。我也遇到了相同的问题啊
你的是710的Error 我的是RILDrv的Error。
如果你打开口成功了,你需要查看你的com口对接的modem口是否支持该命令。很多的数据口时不支持at指令的。所以没有返回。具体你可以拿工具测试一下该口是否有回应。