+ -
当前位置:首页 → 问答吧 → 【原创】linux下进行GPRS拨号上网,不能成功,兄弟姐妹帮帮忙!

【原创】linux下进行GPRS拨号上网,不能成功,兄弟姐妹帮帮忙!

时间:2005-07-29

来源:互联网

这几天用一个USB接口的GPRS上网卡来拨号上网,按照别人的gprs、gprs-connect-chat脚本程序来做的,就是不能成功。我的GPRS上网卡是USB接口,然后它里面有一个PL2303芯片,就是用来USB转串口用的,linux源代码有pl2303.c,是这个芯片的驱动程序,使用/dev/ttyUSB0这个设备文件。
另:我用AT指令集直接拨号时:
AT+CGDCONT=1,IP,CMNET
OK
ATD*99***1#
CONNECT 115200
然后就出现了NO CARRIER

下面是用pppd拨号时显示的内容:
[root@110 root]# pppd file /etc/ppp/gprs
Press CTRL_C to close the connection at any stage!
defining PDP context...
rAT
OK
ATE1
OK
AT+CGDCONT=1,"IP","CMNET"
OK
AT+CGATT=1
OK
waiting for connect...

ATD*99#
CONNECT
IF the following ppp negotiations fail,
try restarting the phone.

Serial connection established.
using channel 9
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0x0> <pcomp> <accomp> <auth pap>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xbfb0a81d> <pcomp> <accomp>]
sent [LCP ConfRej id=0x1 <auth pap>]
rcvd [LCP ConfRej id=0x1 <magic 0xbfb0a81d>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <mru 1500> <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <mru 1500> <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
rcvd [LCP TermReq id=0x3]
LCP terminated by peer
sent [LCP TermAck id=0x3]
Connection terminated.

Sending break to the modem

PDP context detached
Serial link disconnected.

反正不能成功,下面是gprs、gprs-connect-chat的脚本程序:
gprs:
#File
#gprs
#
debug
debug
debug

/dev/ttyUSB0
115200
crtscts
local
nodetach
connect /etc/ppp/gprs-connect-chat
noipdefault
ipcp-accept-local
ipcp-accept-remote
novj
novjccomp
disconnect /etc/ppp/gprs-disconnect-chat
defaultroute

gprs-connect-chat:
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec /usr/sbin/chat -v \
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
SAY "ress CTRL_C to close the connection at any stage!" \
SAY "\ndefining PDP context...\n" \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","CMNET" ' \
OK AT+CGATT=1 \
OK ATD*99# \
SAY "\nwaiting for connect...\n" \
TIMEOUT 30 \
CONNECT '' \
SAY "\nIF the following ppp negotiations fail,\n" \
SAY "try restarting the phone.\n"

大家看看究竟是怎么回事啊,谢谢了 :confused:      

作者: wwyfang   发布时间: 2005-07-29

NO CARRIER ??没有载波信号?你的USB猫猫能拨号吗?没信号吧。      

作者: flag   发布时间: 2005-07-29

版主啊,我的GPRS 猫猫在windows xp可以轻松拨号上网的,有人说这种情况出现是因为没有TCP/IP协议,我的redhat9用普通网卡都能上网,怎么可能没有TCP/IP呢,是吧。      

作者: wwyfang   发布时间: 2005-08-01

你拨号的账号和密码文件呢?      

作者: flag   发布时间: 2005-08-02

没载波我认为就是配置的问题(当然前提是硬件被支持,要是什么没有驱动的usb猫,那就算了)      

作者: AIKO_sex   发布时间: 2005-08-03

拨GPRS,帐号和密码都是为空的啊,这在windows下也是空的,别人在linux试过也是空的。不知是其他什么问题了?      

作者: wwyfang   发布时间: 2005-08-03

看来很可能还是驱动的问题,缺少一些关键的应用上的东西,这些本应该在window下安装驱动的时候下载到modem的Flash里。那个pl2303.c只是解决一个转接的问题,但实际情况并没有完……      

作者: flag   发布时间: 2005-08-03

其实,在windows下安装这个GPRS modem的驱动时,它安装的驱动就是pl2303芯片的驱动,安装完这个USB转串口的驱动就可以使用这个modem了,但在linux下,同样也是这个芯片pl2303的驱动,为什么它就不能使这个modem正常工作呢?现在生产pl2303的台湾旺玖公司提供了windows下和linux下的驱动,难道这两个驱动实现的功能不一样?达到的目的不同?      

作者: wwyfang   发布时间: 2005-08-04

况且我在linux下用minicom都可以检测到这个modem了,输入AT   AT+CGDCONT=1,"IP","CMNET"   AT+CGATT=1   AT+CGACT=1,1 这些指令时都返回OK了 但一到ATD*99***1#拨号时,出现两行乱码之后,就不行了出现NO CARRIER。如果pl2303的驱动不行,那么前面那些指令为什么就能正常返回OK?难道linux和windows的网络功能。。。。。?      

作者: wwyfang   发布时间: 2005-08-04

要不给个链接看看那个pl2303.c里面都有些啥。      

作者: flag   发布时间: 2005-08-04

[QUOTE=sunfish]不客气了,我也是为了解决自己的问题,看了你的问题和这篇文章介绍的东西很相似,所以推荐推荐。能给你带来帮助就太好了。
成功了是好事,但经验更宝贵,把你的过程写出来吧!你的具体环境肯定有自己的特色的,详细些,对于以后大家的参考会有帮助的哦。尤其是失败的原因,大家也就有了前车之鉴了。 [/QUOTE]

对啊对啊, wwyfang兄,把你的过程写出来吧,我们这些新手还没有拨号成功呢啊!!就等你的大作了!!!!!!!!!!!!!      

作者: hong_1230   发布时间: 2005-11-08

我和你一样也是USB无线猫GPRS上网,型号是天彦系列的,还没有成功,能不能把你的文件打包上来?

谢了      

作者: 子墨   发布时间: 2006-04-04