mouse_love_rice
驱动牛犊
驱动牛犊
  • 注册日期2005-01-31
  • 最后登录2008-11-14
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:14595回复: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,那位高手请指点!不甚感谢!
dragoniye
驱动牛犊
驱动牛犊
  • 注册日期2011-08-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-08-07 09:16
RAS拨号没有发出ATD命令??

GPRS模块肯定起来了。直接用串口发送ATD*99***1#可以返回connect,并进入PPP握手流程。
可是用wince6.0自带的ras拨号提示"没有检测到载波信号。请检查电话号码并再试一次" 错误号679
查看串口输出信息如下:
ATZ
OK

AT
AT
OK

ATE0V1&C1&D2
ATE0V1&C1&D2
OK

ATS7=120
OK

AT+cgdcont=1,"ip","cmnet"
OK

ATZ
OK

AT
AT
OK

ATE0V1&C1&D2

ATE0V1&C1&D2
OK

ATS7=120

OK

AT+cgdcont=1,"ip","cmnet"

OK

RASCS_Disconnected: Ecode=679

硬件没有接DCD,RI。
TX RX CTS RTS是接通的。
网上找到的GPRS上网的注册表直接添加进系统也是同样错误。
RAS怎么检测载波信号的呢?郁闷一周了。
kiwin
驱动牛犊
驱动牛犊
  • 注册日期2009-07-15
  • 最后登录2009-07-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-07-20 20:34
ainycao 你好,请问你是怎样配置才可以拨号上网的呢?谢谢
ainycao
驱动牛犊
驱动牛犊
  • 注册日期2007-02-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望38点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-04-22 13:53
已经拨号成功了!
不过只能上一会网,之后modem会返回no carrier,就再上不去网了
很奇怪的问题,有达人碰到过没有啊?
ainycao
驱动牛犊
驱动牛犊
  • 注册日期2007-02-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望38点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-03-31 11:44
没有人回答么?
ainycao
驱动牛犊
驱动牛犊
  • 注册日期2007-02-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望38点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-02-27 15:49
回 19楼(qlb211999) 的帖子
你好,请问你怎么搞定的,我也现在也是这种情况,串口波特率设置的115200,无硬件流控,3根线:TX,RX,地,拨号连接里没有添加任何AT命令,拨号时显示:“this port is not available,another program may be using it”,请各位帮忙解决一下!
注册表我是这样设置的:
[HKEY_LOCAL_MACHINE\ExtModems\Serial2-Modem]
    "Port"="COM1:"
    "DeviceType"=dword:1
    "FriendlyName"="unimodem.dll,#9001"
  
    [HKEY_LOCAL_MACHINE\ExtModems\Serial2-Modem\Init]
    
    [HKEY_LOCAL_MACHINE\ExtModems\Serial2-Modem\Settings]
kikyang
驱动牛犊
驱动牛犊
  • 注册日期2003-11-14
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-10-09 06:07
关键是WINCE下不能加AT
就是下面这句:AT+CGDCONT=1,"IP","CMNET"                                (winxp上)
应该写成这样:+CGDCONT=1,"IP","CMNET"                                     (wince上)
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2008-05-16 09:57
搞定了。用三线的接线方式拨号成功了,安全设置里应保留默认选项,否则显示“已连接的设备”,一段时间后会弹出“与远程计算机的连接断开,请重拨”的错误。硬件流控选“无”
加硬件流控的拨号一定要注意接线方式。我最后是修改了驱动的,大家应该不会遇到跟我一样的问题
谢谢大家关注
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2008-05-07 11:12
希望继续关注
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
9楼#
发布于: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分
10楼#
发布于: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分
11楼#
发布于:2008-05-06 14:46
还有一个问题请教
pc机下安装调制解调器的时候有选择19200的调制解调器,或115200的调制解调器或是其他的值,但是WinCE自带的标准的调制解调器的波特率是多少呢?是不是就是在建立拨号网络里我们设置的端口波特率
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
12楼#
发布于: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分
13楼#
发布于:2008-05-06 09:07
谢谢cookiy_lei的回复
1.gprs模块是标准的9线,我们只采用了RXD、TXD、GND、RTS、CTS五根线,其余的没接
2.你说的用三线拨号我也在pc机上试过了,是不行的,这个已经注意到了
3.附加命令里确实不能加AT,这个也已经注意到了
再次谢谢
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-05-01 17:57
没有载波信号应该是没有注册到网络
学海无涯
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2008-05-01 17:18
对不住大家了,最近没来看.

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

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

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

当做到CONNECT字符以后,就显示设备已经连接了,
之后会有PP的初始化,PPP初始化以后才能显示已经连接.
如果通信不正常,就会断掉,这些都可以通过查驱动中过往的数据去解决.
学海无涯
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
16楼#
发布于:2008-04-30 15:42
楼主哪里去了,现在改动了注册表,加大了等待时间,波特率改为9600,现在出现了跟楼主同样
的情况,也是显示拨号到“*99***1#”后很快显示“device connected”,但不能上网,一分多以后,就显示“与远程计算机连接断开,请检查波特率设置并重播”

请做过的指点方向
cookiy_lei
驱动牛犊
驱动牛犊
  • 注册日期2007-09-27
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
17楼#
发布于: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分
18楼#
发布于:2008-04-28 15:51
波特率设为9600就不报“this port is not available,another program may be using it
”这个信息了,首先显示拨号“*99***1#”,然后一段时间后弹出“无载波信号”
qlb211999
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分6分
  • 威望100点
  • 贡献值1点
  • 好评度37点
  • 原创分1分
  • 专家分0分
19楼#
发布于: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]
上一页
游客

返回顶部