mouse_love_rice
驱动牛犊
驱动牛犊
  • 注册日期2005-01-31
  • 最后登录2008-11-14
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:14444回复:25

有谁知道WINCE下GPRS MODEM拨号设置吗?

楼主#
更多 发布于:2005-06-02 17:10
我的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,那位高手请指点!不甚感谢!
cookiy_lei
驱动牛犊
驱动牛犊
  • 注册日期2007-09-27
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-27 10:05
应该是硬件流控的问题,也就是 RTS/CTS的设置,如果IO引出来了的话,就直接短路两个脚,然后硬件流控制选择无,应该就可以了
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-27 19:54
在新建的那个拨号连接中设置附加的AT命令为:
AT+CGDCONT=1,\"IP\",\"CMNET\"及AT+CGATT=1
再做上述动作即可.
学海无涯
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
地板#
发布于:2008-04-28 08:28
cookiy_lei:
不明白,请教一下,既然用wince自带的新建连接建立起拨号连接了,怎么会有RTS/CTS流的选项?
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2008-04-28 08:39
引用第2楼microsun于2008-04-27 19:54发表的  :
在新建的那个拨号连接中设置附加的AT命令为:
AT+CGDCONT=1,"IP","CMNET"及AT+CGATT=1
再做上述动作即可.


请教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及调试过拨号上网的给点意见
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
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

请高手指点,在线等
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2008-04-28 09:50
引用第1楼cookiy_lei于2008-04-27 10:05发表的  :
应该是硬件流控的问题,也就是 RTS/CTS的设置,如果IO引出来了的话,就直接短路两个脚,然后硬件流控制选择无,应该就可以了



又仔细看了一下,拨号连接里头是有这个 RTS/CTS的设置
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
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]
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2008-04-28 15:51
波特率设为9600就不报“this port is not available,another program may be using it
”这个信息了,首先显示拨号“*99***1#”,然后一段时间后弹出“无载波信号”
cookiy_lei
驱动牛犊
驱动牛犊
  • 注册日期2007-09-27
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
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的代码流程我也在看,一起学习吧
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2008-04-30 15:42
楼主哪里去了,现在改动了注册表,加大了等待时间,波特率改为9600,现在出现了跟楼主同样
的情况,也是显示拨号到“*99***1#”后很快显示“device connected”,但不能上网,一分多以后,就显示“与远程计算机连接断开,请检查波特率设置并重播”

请做过的指点方向
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-05-01 17:18
对不住大家了,最近没来看.

1.我几年前调通过个东西,这么做肯定是可行的.
2.cookiy_lei说的是对的,附加命令不需要AT.
3.不用看RAS的代码,在你串口的驱动中打些信息,这些问题就很好解决了.

port不能打开可能的原因有:
1)端口确实已经被占用,得修改注册表,使其不要被别的程序打开.
2)最可能是串口驱动不正常,因为打开端口时做一些初始化, 可以在MDD中打些信息,看一下上层发了什么命令,驱动给了什么返回值,问题就很容易解决了.

而设备能连接但网络不能连接也大多是驱动不正常.

当做到CONNECT字符以后,就显示设备已经连接了,
之后会有PP的初始化,PPP初始化以后才能显示已经连接.
如果通信不正常,就会断掉,这些都可以通过查驱动中过往的数据去解决.
学海无涯
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-05-01 17:57
没有载波信号应该是没有注册到网络
学海无涯
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
13楼#
发布于:2008-05-06 09:07
谢谢cookiy_lei的回复
1.gprs模块是标准的9线,我们只采用了RXD、TXD、GND、RTS、CTS五根线,其余的没接
2.你说的用三线拨号我也在pc机上试过了,是不行的,这个已经注意到了
3.附加命令里确实不能加AT,这个也已经注意到了
再次谢谢
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
14楼#
发布于:2008-05-06 09:28
感谢版主回复
“而设备能连接但网络不能连接也大多是驱动不正常.

当做到CONNECT字符以后,就显示设备已经连接了,
之后会有PP的初始化,PPP初始化以后才能显示已经连接.
如果通信不正常,就会断掉,这些都可以通过查驱动中过往的数据去解决.”

这个给我指了个方向。很感激!你说查驱动的过往数据说的是串口的驱动的数据吧,后台是开了些串口的打印信息,显示“Device Connected”后,后台驱动有“line interrupt”的中断,我具体再看下再来请教哈
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
15楼#
发布于:2008-05-06 14:46
还有一个问题请教
pc机下安装调制解调器的时候有选择19200的调制解调器,或115200的调制解调器或是其他的值,但是WinCE自带的标准的调制解调器的波特率是多少呢?是不是就是在建立拨号网络里我们设置的端口波特率
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
16楼#
发布于:2008-05-06 17:37
CE默认的拨号连接记录中串口波特率为19200,相对于17201的数据传输速度来说都慢,更何况是GPRS。要设置串口的波特率为最大值115200,可行的办法有两个,一个是放弃RAS,调用TAPI函数实现拨号上网,TAPI函数中有几个函数例如带界面的lineConfigDialogEdit和无界面的lineDevSpecific 都可以设置波特率;另一个方法要简单的多,在CE下先用CE自带的"拨号连接"程序建立一个拨号记录,在建立过程中可以设置波特率,这个拨号记录的数据被保存到注册表中。如果自己开发拨号程序,那么只要在拨号前到注册表中找到拨号记录就可以了。通过这种方法就可以设置波特率了。

这段话说的就是说拨号连接里设置的是串口的波特率,那么调制解调器的呢?标准的是不是就是19200?
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
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这个如何跟踪呢?
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
18楼#
发布于:2008-05-07 11:12
希望继续关注
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
19楼#
发布于:2008-05-16 09:57
搞定了。用三线的接线方式拨号成功了,安全设置里应保留默认选项,否则显示“已连接的设备”,一段时间后会弹出“与远程计算机的连接断开,请重拨”的错误。硬件流控选“无”
加硬件流控的拨号一定要注意接线方式。我最后是修改了驱动的,大家应该不会遇到跟我一样的问题
谢谢大家关注
上一页
游客

返回顶部