阅读:14446回复:25
有谁知道WINCE下GPRS MODEM拨号设置吗?
我的GPRS MODEM在WINDOWS XP上已经可以用了,但我想把它连到WINCE系统的机器上(好像这个现在很流行),我现在遇到了刚开始在XP机器上遇到的同样的问题,我在超级终端里敲AT命令都是可以的,如:
AT OK AT+CGDCONT=1,\"IP\",\"CMNET\" OK ATD*99***1# CONNECT (我想我的硬件应该是没问题了吧) 接下来就应该发PPP数据包了吧,(如果不发的话,过几分钟就回返回NO CARRIER),我想在超级终端里手动发PPP数据包应该不行吧(如果行,请高手指点),在XP里我是用WINDOWS自带的拨号程序拨号的,用的MODEM也是WINDOWS自带的标准MODEM,我想发AT指令和PPP数据包都应该是这个标准的MODEM发的吧,一开始我用的标准MODEM驱动不行,就换了个驱动就好了!在WINCE下我感觉现在的问题也跟那个HAYES兼容调制解调器有关,我现在能打开COM口,也能“拨号到*99***1#\",然后很快就显示“已连接的设备”,然后就没动静了,但不能上网,大概过了两三分钟就跳出一个对话框说“与远程计算机的连接断开,请重拨”,很郁闷,不知道问题出在哪,WINCE下我也不会重装标准MODEM,那位高手请指点!不甚感谢! |
|
沙发#
发布于:2008-04-27 10:05
应该是硬件流控的问题,也就是 RTS/CTS的设置,如果IO引出来了的话,就直接短路两个脚,然后硬件流控制选择无,应该就可以了
|
|
板凳#
发布于:2008-04-27 19:54
在新建的那个拨号连接中设置附加的AT命令为:
AT+CGDCONT=1,\"IP\",\"CMNET\"及AT+CGATT=1 再做上述动作即可. |
|
|
地板#
发布于:2008-04-28 08:28
cookiy_lei:
不明白,请教一下,既然用wince自带的新建连接建立起拨号连接了,怎么会有RTS/CTS流的选项? |
|
地下室#
发布于:2008-04-28 08:39
引用第2楼microsun于2008-04-27 19:54发表的 : 请教microsun: 我现在也在调拨号上网,用的板子是au1200的。 现有板子有四个串口,串口2是扩展的全功能串口想在这个串口上测通GPRS拨号,但连接到最后总是显示端口不可用,我的附加AT命令栏输入的是AT+CGDCONT=1,ip,CMNET,这个是pc机下的设置(已拨通),区号,国家代号都为空。也查了资料,网上的设置很多,有的说是+CGDCONT=1,”IP”,”CMNET”,(不加AT) 而你的给出的是AT+CGDCONT=1,"IP","CMNET"及AT+CGATT=1,这个选项是很关键的吧,请microsun及调试过拨号上网的给点意见 |
|
5楼#
发布于:2008-04-28 08:58
1.我的内核中已加入WAN下面的组件,如RAS/PPP、TAPI
2.wince下只是把调制解调器的驱动挂接在了com1,我已经改动,将器驱动挂接在com2上了 3.附加命令,试过AT+CGDCONT=1,ip,CMNET;+CGDCONT=1,”IP”,”CMNET”都不行, 都显示opening port,然后约几十秒后弹出this port is not available,another program may be using it 请高手指点,在线等 |
|
6楼#
发布于:2008-04-28 09:50
引用第1楼cookiy_lei于2008-04-27 10:05发表的 : 又仔细看了一下,拨号连接里头是有这个 RTS/CTS的设置 |
|
7楼#
发布于:2008-04-28 10:02
后台打印信息:
AUTORAS:: Dialer notifies: [1] [Dialer Start] RASCS_Disconnected: Ecode=633 Posting WM_NETCONNECT(FALSE) message, ErrorCode = 633(0x279) AUTORAS:: Dialer notifies: [2] [Dialer Terminate] |
|
8楼#
发布于:2008-04-28 15:51
波特率设为9600就不报“this port is not available,another program may be using it
”这个信息了,首先显示拨号“*99***1#”,然后一段时间后弹出“无载波信号” |
|
9楼#
发布于:2008-04-30 15:05
几个东西不要混在一起了
1、确定一下你跟gprs 模块间的物理连接,是标准的modem 9针还是标准serial 3线? 2、如果是用的3线通信,我试了一下,在WinXP下也不能正常拨号的,现象为拨号后,过一会儿会提示没有载波信号,然后在PC端把RTS/CTS短路,再试就可以了 3、microsun提供的命令是标准的AT命令,AT命令都是AT开头的,WinCE里面发AT命令可以设置自动加上AT,所以设置参数时不要再加AT了 4、WinCE RAS的代码流程我也在看,一起学习吧 |
|
10楼#
发布于:2008-04-30 15:42
楼主哪里去了,现在改动了注册表,加大了等待时间,波特率改为9600,现在出现了跟楼主同样
的情况,也是显示拨号到“*99***1#”后很快显示“device connected”,但不能上网,一分多以后,就显示“与远程计算机连接断开,请检查波特率设置并重播” 请做过的指点方向 |
|
11楼#
发布于:2008-05-01 17:18
对不住大家了,最近没来看.
1.我几年前调通过个东西,这么做肯定是可行的. 2.cookiy_lei说的是对的,附加命令不需要AT. 3.不用看RAS的代码,在你串口的驱动中打些信息,这些问题就很好解决了. port不能打开可能的原因有: 1)端口确实已经被占用,得修改注册表,使其不要被别的程序打开. 2)最可能是串口驱动不正常,因为打开端口时做一些初始化, 可以在MDD中打些信息,看一下上层发了什么命令,驱动给了什么返回值,问题就很容易解决了. 而设备能连接但网络不能连接也大多是驱动不正常. 当做到CONNECT字符以后,就显示设备已经连接了, 之后会有PP的初始化,PPP初始化以后才能显示已经连接. 如果通信不正常,就会断掉,这些都可以通过查驱动中过往的数据去解决. |
|
|
12楼#
发布于:2008-05-01 17:57
没有载波信号应该是没有注册到网络
|
|
|
13楼#
发布于:2008-05-06 09:07
谢谢cookiy_lei的回复
1.gprs模块是标准的9线,我们只采用了RXD、TXD、GND、RTS、CTS五根线,其余的没接 2.你说的用三线拨号我也在pc机上试过了,是不行的,这个已经注意到了 3.附加命令里确实不能加AT,这个也已经注意到了 再次谢谢 |
|
14楼#
发布于:2008-05-06 09:28
感谢版主回复
“而设备能连接但网络不能连接也大多是驱动不正常. 当做到CONNECT字符以后,就显示设备已经连接了, 之后会有PP的初始化,PPP初始化以后才能显示已经连接. 如果通信不正常,就会断掉,这些都可以通过查驱动中过往的数据去解决.” 这个给我指了个方向。很感激!你说查驱动的过往数据说的是串口的驱动的数据吧,后台是开了些串口的打印信息,显示“Device Connected”后,后台驱动有“line interrupt”的中断,我具体再看下再来请教哈 |
|
15楼#
发布于:2008-05-06 14:46
还有一个问题请教
pc机下安装调制解调器的时候有选择19200的调制解调器,或115200的调制解调器或是其他的值,但是WinCE自带的标准的调制解调器的波特率是多少呢?是不是就是在建立拨号网络里我们设置的端口波特率 |
|
16楼#
发布于:2008-05-06 17:37
CE默认的拨号连接记录中串口波特率为19200,相对于17201的数据传输速度来说都慢,更何况是GPRS。要设置串口的波特率为最大值115200,可行的办法有两个,一个是放弃RAS,调用TAPI函数实现拨号上网,TAPI函数中有几个函数例如带界面的lineConfigDialogEdit和无界面的lineDevSpecific 都可以设置波特率;另一个方法要简单的多,在CE下先用CE自带的"拨号连接"程序建立一个拨号记录,在建立过程中可以设置波特率,这个拨号记录的数据被保存到注册表中。如果自己开发拨号程序,那么只要在拨号前到注册表中找到拨号记录就可以了。通过这种方法就可以设置波特率了。
这段话说的就是说拨号连接里设置的是串口的波特率,那么调制解调器的呢?标准的是不是就是19200? |
|
17楼#
发布于:2008-05-07 11:11
显示“device connected”后,串口打印line event 如下:
haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 DoPutBytes wait for CritSec 38f54. DoPutBytes got CritSec 38f54. TxRead = 0, TxLength = 37, TxBytesAvail = 37. About to copy 37 bytes +ReadModemStat 0 bytes actually copied. DoPutBytes released CritSec: 38f54. haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 haha pass WaitForSingleObject Line Event, it:1 Event A7EF0442, 23 DoPutBytes wait for CritSec 38f54. DoPutBytes got CritSec 38f54. TxRead = 0, TxLength = 37, TxBytesAvail = 37. About to copy 37 bytes +ReadModemStat 0 bytes actually copied. DoPutBytes released CritSec: 38f54. 这个估计就是版主说的通讯问题吧,microsun这个如何跟踪呢? |
|
18楼#
发布于:2008-05-07 11:12
希望继续关注
|
|
19楼#
发布于:2008-05-16 09:57
搞定了。用三线的接线方式拨号成功了,安全设置里应保留默认选项,否则显示“已连接的设备”,一段时间后会弹出“与远程计算机的连接断开,请重拨”的错误。硬件流控选“无”
加硬件流控的拨号一定要注意接线方式。我最后是修改了驱动的,大家应该不会遇到跟我一样的问题 谢谢大家关注 |
|
上一页
下一页