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指令.