首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

ce上MUX驱动加载不成功, 为什么

2012-12-31 
ce下MUX驱动加载不成功, 为什么?我使用的平台是mini2440+ Wince5. Modem挂在了COM1上。系统中原来在COM1挂

ce下MUX驱动加载不成功, 为什么?
我使用的平台是mini2440+ Wince5. Modem挂在了COM1上。系统中原来在COM1挂了一个兼容调制解调器,可以正常拨号。
1. 对mini2440的原装pbxml 进行了一次sysgen, 成功。
2.  Step By Step说明文档,只是注销了 QL_WinceMUX.reg中的第一节;virtual COM7 for RIL。 Make image 成功。 但是启动后QL_MUX_Link的属性中,还是只有“Com1上的兼容调制器”, 没有出现”QL_MUX_MODEM”的选项。同时查看系统中还是只有3个串口。

有几个疑问:
1.是否必须要将MUX驱动挂在有真实Modem的口上。
2.如果1是,则是否必须要删除ce5自带的“COM1的兼容调制解调器”,应该怎样干净删除?

platform.bib中确认已经加入
mux_ql600.dll    $(_FLATRELEASEDIR)\mux_ql600.dll          NK   SHK 
Unimodem.dll    $(_FLATRELEASEDIR)\unimodem.dll            NK   SHK
////////////////////////////////////////////////////////////////////////
QL_WinceMUX.reg如下

; COM2 for underlying GSM 07.10 
[HKEY_LOCAL_MACHINE\Software\QLMUX\GSM07_10]
        "ComPort"="COM2:"
        "DefaultBaudRate"=dword:1C200       ; 115200
        "BaudRate"=dword:1C200              ; 115200
        "FrameOption"=dword:0                ; 1 - Advanced; 0 -Basic
        "FrameSize"=dword:0000007F          ; max data size 
        "FlowControl"=dword:0               ;0->Disable;1->Enable
        "DebugMode"=dword:0                ;0->not printf ce com data to log file
;1->printf ce com data to log file
        
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1]
        "Prefix"="COM"
        "Dll"="mux_ql500.dll"
        "FriendlyName"="QL500 MUX Port on COM6:"
        "DeviceArrayIndex"=dword:1
        "Index"=dword:6
        "Order"=dword:60
        ; 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 => low prio)
        "GSM_0710_TYPE"=dword:1     ; boolean: 1 (true) => AT cmd, 0 (false) => Data    
        ; monitor channel activity
        "GSM_0710_ACTIVITY_TIMEOUT"=dword:2710      ; time-out on channel activity in ms
                                                    ; remark:


                                                    ; the Mux driver will notify the device
                                                    ; when this time-out expire 
                                                    ; if there is no activity

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1\Unimodem]
        "Tsp"="Unimodem.dll"
        "FriendlyName"="QL500 MUX Modem"
        "DeviceType"=dword:1
    
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1\Unimodem\Init]
        "1"="AT<cr>"
        "2"="ATE0V1&C1&D2<cr>"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_1\Unimodem\Settings]
        "Prefix"="AT"
        "Terminator"="<cr>"
        "DialPrefix"="D"
        "DialSuffix"=";"
        "Pulse"="P"
        "Tone"="T"
        "Blind_Off"="X4"
        "Blind_On"="X3"
        "CallSetupFailTimeout"="ATS7=<#><cr>"
        "Reset"="AT<cr>"    
        "EscapeDelay"=dword:3E8
        "EscapeWait"=dword:3E8
        
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_2]
        "Prefix"="COM"
        "Dll"="mux_ql500.dll"
        "DeviceArrayIndex"=dword:1
        "Index"=dword:7
        "FriendlyName"="QL600 MUX Port on COM7:"
        "Order"=dword:61
        ; 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 => low prio)
        "GSM_0710_TYPE"=dword:1     ; boolean: 1 (true) => AT cmd, 0 (false) => Data
        ; monitor channel activity


        "GSM_0710_ACTIVITY_TIMEOUT"=dword:4E20      ; time-out on channel activity in ms
                                                    ; remark:
                                                    ; the Mux driver will notify the device
                                                    ; when this time-out expire 
                                                    ; if there is no activity
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_3]
        "Prefix"="COM"
        "Dll"="mux_ql500.dll"
        "DeviceArrayIndex"=dword:1
        "Index"=dword:8
        "FriendlyName"="QL600 MUX Port on COM8:"
        "Order"=dword:62
        ; power manager enabled device driver
        "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"   
        ; GSM 07.10 specific
        "GSM_0710_DLCI"=dword:3     ; Rem: Dlci also define priority (lowest => low prio)
        "GSM_0710_TYPE"=dword:1     ; boolean: 1 (true) => AT cmd, 0 (false) => Data
        ; monitor channel activity
        "GSM_0710_ACTIVITY_TIMEOUT"=dword:7530      ; time-out on channel activity in ms
                                                    ; remark:
                                                    ; the Mux driver will notify the device
                                                    ; when this time-out expire 


                                                    ; if there is no activity
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GSM0710_4]
        "Prefix"="COM"
        "Dll"="mux_ql500.dll"
        "DeviceArrayIndex"=dword:1
        "Index"=dword:9
        "FriendlyName"="QL600 MUX Port on COM9:"
        "Order"=dword:63
        ; power manager enabled device driver
        "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"   
        ; GSM 07.10 specific
        "GSM_0710_DLCI"=dword:4     ; Rem: Dlci also define priority (lowest => low prio)
        "GSM_0710_TYPE"=dword:1     ; boolean: 1 (true) => AT cmd, 0 (false) => Data
        ; monitor channel activity
        "GSM_0710_ACTIVITY_TIMEOUT"=dword:9C40      ; time-out on channel activity in ms
                                                    ; remark:
                                                    ; the Mux driver will notify the device
                                                    ; when this time-out expire 
                                                    ; if there is no activity 
[解决办法]
1.是否必须要将MUX驱动挂在有真实Modem的口上。
只要是串口就行
2.如果1是,则是否必须要删除ce5自带的“COM1的兼容调制解调器”,应该怎样干净删除?
无所谓删除不删除。
[解决办法]
看LZ的用法,应该是想通过MUX把COM1虚拟出几个串口,一个用于拨号,一个用于AT指令吧。
这个MUX移植之后,需要进行build and sysgen,单单sysgen是不行D。编译完之后,可以通过串口工具,看看你的串口虚拟出来没有。
至于配置modem这个,主要是在common.reg中配置。配置modem是使用虚拟出来的串口配置的,不直接采用原来的那个物理串口
[解决办法]
定制os的时候,勾选上组件SYSGEN_PPP,另外,将CE6下的 cmux移植过来。
从你的注册表来看,你的实际串口号是com2,


想虚拟出com6、7、8、9出来.
加载cmux07_10.dll之前,要确保com2是通的,可以通过 com2发AT指令.

热点排行