您的位置:首页 > 运维架构 > Linux

成功实现Linux下pppd通过GPRS拨号上网

2010-03-18 14:53 585 查看

成功实现Linux下pppd通过GPRS拨号上网


天把开发板的bootloader删了,没办法,只得在PC上调GPRS拨号了.先在windows下拨号成功,然后用工具看拨号时具体使用了哪些AT命
令,再使用这些命令到linux下使用pppd来拨号,最后终于成功了,之前开发板上不能成功拨号极有可就是AT指令有问题,现在只有等开发板回来后再到
ARM7上调了.

   下面贴一下拨号使用的几个脚本,GPRS模块是使用的华为的GTM900-B:

1,  /etc/ppp/peers/gprs:

复制内容到剪贴板
代码:
#/etc/ppp/peers/gprs

# This is pppd script for China Mobile, used Huawei GTM900-B GPRS Module

# Usage:   root>pppd call gprs

/dev/ttyS0

19200

crtscts

modem

#noauth

debug

nodetach

#hide-password

usepeerdns

noipdefault

defaultroute

user "cmnet"

0.0.0.0:0.0.0.0

#ipcp-accept-local

#ipcp-accept-remote

#lcp-echo-failure  12

#lcp-echo-interval 3

#noccp

#novj

#novjccomp

#persist

connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'

#connect '/bin/chat -v -s -f /etc/ppp/gprs-connect-chat'

#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'


2,  gprs-connect-chat:

复制内容到剪贴板
代码:
#/etc/ppp/gprs-connect-chat

# chat script for China Mobile, used HuaWei GTM900-B GPRS module.

TIMEOUT         15

ABORT           "DELAYED"

ABORT           "BUSY"

ABORT           "ERROR"

ABORT           "NO DIALTONE"

ABORT           "NO CARRIER"

TIMEOUT         40

''              /rAT

OK                ATS0=0

OK              ATE0V1

OK              AT+CGDCONT=1,"IP","CMNET"

OK              ATDT*99***1#

CONNECT         ''


3, 用于chap认证的密码文件:chap-secrets,由于移动的GPRS服务不需要用户名和密码,所以刚开始没设用户名和密码,结果在chap认证的时候总不能通过.后来在gprs里添加user "cmnet"和这个密码文件后就OK了.

复制内容到剪贴板
代码:
#/etc/ppp/chap-secrets

#client    server secret IP address

"cmnet"    *     "cmnet"    *


4, 另外还有个可选的,断开连接的脚本如下:

复制内容到剪贴板
代码:
ABORT        OK

ABORT        BUSY

ABORT        DELAYED

ABORT        "NO ANSWER"

ABORT        "NO CARRIER"

ABORT        "NO DIALTONE"

ABORT        VOICE

ABORT        ERROR

ABORT        RINGING

TIMEOUT        12

""        //k//k//k//d+++ATH

"


使用: 将PC上的DNS删掉后运行如下:

[root@localhost ppp]# pppd call gprs

timeout set to 15 seconds

abort on (DELAYED)

abort on (BUSY)

abort on (ERROR)

abort on (NO DIALTONE)

abort on (NO CARRIER)

timeout set to 40 seconds

send (^MAT^M)

expect (OK)

^M^M

OK

-- got it

send (ATS0=0^M)

expect (OK)

^M

AT^M

OK

-- got it

send (ATE0V1^M)

expect (OK)

^M

ATS0=0^M^M

OK

-- got it

send (AT+CGDCONT=1,"IP","CMNET"^M)

expect (OK)

^M

ATE0V1^M^M

OK

-- got it

send (ATDT*99***1#^M)

expect (CONNECT)

^M

^M

OK^M

^M

CONNECT

-- got it

send (^M)

Serial connection established.

using channel 42

Using interface ppp0

Connect: ppp0 <--> /dev/ttyS0

sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c5e3d45> <pcomp> <accomp>]

rcvd [LCP ConfRej id=0x1 <magic 0x8c5e3d45>]

sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]

rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]

rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]

sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]

rcvd [CHAP Challenge id=0x1 <fb17db52a81bc14997f72e2932ab0b342bab961d49c611>, name = ""]

sent [CHAP Response id=0x1 <2c757eac52b8d9a7d80ca7a77c419ad9>, name = "cmnet"]

rcvd [CHAP Success id=0x1 ""]

CHAP authentication succeeded

sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]

rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]

rcvd [IPCP ConfReq id=0x1 <addr 221.177.160.163>]

sent [IPCP ConfAck id=0x1 <addr 221.177.160.163>]

rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]

sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]

rcvd [IPCP ConfNak id=0x2 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]

sent [IPCP ConfReq id=0x3 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]

rcvd [IPCP ConfAck id=0x3 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]

local  IP address 10.165.226.25

remote IP address 221.177.160.163

primary   DNS address 211.137.64.163

secondary DNS address 211.136.20.203

再将这里的DNS给PC或作个连接到/etc/ppp/resolf.conf应该就OK了.

有IP,网关,DNS之后就能上www.mcuos.com了....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息