wince6.0 RIL 打开串口失败

aweyfan   2010-1-4 09:51 楼主
请教各位:

        我在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口。使得数据可以正确的传输。谢谢!

回复评论 (20)

是否Software\Microsoft\GSM07_10 对应的COM1表示的是RIL的抽象COM7\9对应的真实地物理串口?谢谢!
点赞  2010-1-4 09:55
根据你的注册表,打开的时候createfile应该用的是RIL1。
点赞  2010-1-4 10:18
也就是说是COM7 这个虚拟口?
那我要如何与串口对应上(通过0710?)?
为什么我的Com7会打不开呢?谢谢!
点赞  2010-1-4 10:45
如果要使用ENFORA驱动(内部已经修改为对应Modem指令/)。我需要将如下三个环境变量设置成1吗?
IMGFAKERIL= IMGTTPCOM= IMGENFORA=1
我不需要用TTPCOM是否也需要设置IMGTTPCOM=1???IMGFAKERIL 呢?
启动ENFORA是否也需要启动710Mux,如是该如何启动呢?谢谢!
点赞  2010-1-4 11:39
RIL的实现,是在虚拟串口的基础上,否则后继上网与电话的实现会变的不可能。

所以要用RIL,就要实现Mux。
点赞  2010-1-4 13:13
以下是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的依赖。
点赞  2010-1-4 13:25
驱动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口与我们开发板的不一样?如果需要修改,我需要修改哪一个键值来对应我的开发板(我的开发板的串口)。谢谢!

点赞  2010-1-4 14:14
CELLCORE_MODULES= CellTSP TAPIOCA TBDAlter ril rillog mux07_10 sim SIMdrv SMS_Providers sms SMSdrv WAP WAPdrv CellCore ccoreutl ril sim sms
点赞  2010-1-4 16:12
学习了,好久没玩RIL了.
点赞  2010-1-4 17:53
7楼回答正确
点赞  2010-1-4 22:10
mark
点赞  2010-1-4 22:42
7楼只是说了0710Mux与RIL的关系.
但我的问题还是在阿,我目前就需要使用RIL 同时也就加载了0710Mux.但是我发现platform.reg文件中写进的Mux07_10.dll 对应的[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_2]
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1]均不能加载,出现加载失败.需要怎么解决?
点赞  2010-1-5 10:58
        ; 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
        ;
点赞  2010-1-5 10:59
先确定一下串口的驱动加载了没有,再调用RIL驱动
点赞  2010-1-6 15:07
710Mux驱动加载失败(手动加载的)。打印的Trace显示为无法收到回应:
710MUX: ERROR: Modem on %s(COM4) is not responding
点赞  2010-1-6 16:34
先确定模块可以正常接收和处理命令
可以在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
点赞  2010-3-15 09:03
这些问题已经解决了。
顺道问下:如何设置PPP-RIL 的GPRS的DataPort的BaudRate???
我怎么在PPP的log中看到默认为28800b?
RIL对于模块的BaudRate是否为自适应的?谢谢!
点赞  2010-3-21 09:26
710Mux驱动加载失败(手动加载的)。打印的Trace显示为无法收到回应:
710MUX: ERROR: Modem on %s(COM4) is not responding

是怎么解决的呢 。我也遇到了相同的问题啊
点赞  2010-3-22 16:13
你的是710的Error 我的是RILDrv的Error。
如果你打开口成功了,你需要查看你的com口对接的modem口是否支持该命令。很多的数据口时不支持at指令的。所以没有返回。具体你可以拿工具测试一下该口是否有回应。
点赞  2010-3-23 16:45
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复