在linux下面建立GPRS无线MODEM拨号

在linux下面建立GPRS无线MODEM拨号

1.将无线Modem接到Pc机的串口1(/dev/ttyS0)上。

2.首先使用minicom(强烈建议在linux的图形用户界面下新建一个Terminal,然后运行minicom),将速率设置成为57600、8N1,Hardware Flow Control.

3.运行AT,看是否会返回OK。如果没有返回则表明串口设置有问题,或者Saro Modem的串口速率设置有问题;

4.输入AT+CSQ?看信号质量如何,如果结果类似+CSQ: 22,99(逗号前的数字在12~31之间)为正常。

5.输入AT+CGDCONT=1,”IP”,”cmnet”,看是否会返回OK。这条命令的作用是设置Apn(访问接入点名)。如果您的Apn是其他值,请相应地将cmnet替换掉即可。例如假设您的Apn是gdyd.yl,请输入AT+CGDCONT=1,”IP”,”gdyd.yl”;

6.输入ATDT*99***1#看是否会返回CONNECT。正常情况下应当返回CONNECT,而且后面应当出现一些数据;

7.退出minicom软件。

8.运行wvdialconf /etc/wvdial.conf。可以看到系统自动开始查找modem,并且将成功找到Modem安装在ttyS0上,并且速率为57600,如下图示:

[root@test ppp]# wvdialconf /etc/wvdial.conf

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 4800 baud

ttyS0<*1>: ATQ0 V1 E1 -- failed with 4800 baud, next try: 9600 baud

ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 19200 baud

ttyS0<*1>: ATQ0 V1 E1 -- failed with 19200 baud, next try: 57600 baud

ttyS0<*1>: ATQ0 V1 E1 -- OK

ttyS0<*1>: ATQ0 V1 E1 Z -- OK

ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK

ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK

ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK

ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

ttyS0<*1>: Modem Identifier: ATI – Siemens Mc35 Gprs Modem

ttyS0<*1>: Max speed is 57600; that should be safe.

ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyS0.

Modem configuration written to /etc/wvdial.conf.

ttyS0<Info>: Speed 57600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

如果结果和上面不同,请多试几次,系统最后总会成功找到Modem的。

9.vi /etc/wvdial.conf,将这个文件修改为如下:

[Dialer Defaults]

Modem = /dev/ttyS0

Baud = 57600

Init1 = ATZ

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

ISDN = 0

Modem Type = Analog Modem

Phone = *99***1#

Username =

Password =

10.编辑 /etc/chap-secrets和/etc/pap-secrets

将两个文件中的内容都改为

“”    *     “”

注意,第一对引号为用户名,*号表明对服务器名没有限制,第二对的引号内为校验密码。

11.运行wvdial,可以看到结果如下:

[root@test ppp]# wvdial

--> WvDial: Internet dialer version 1.53

--> Initializing modem.

--> Sending: ATZ

ATZ

OK

--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

OK

--> Modem initialized.

--> Sending: ATDT*99***1#

--> Waiting for carrier.

ATDT*99***1#

CONNECT

--> Carrier detected.  Waiting for prompt.

~[7f]}#@!}!}!} }7}"}&} } } } }#}%B#}%}%}&I=}3[18]}(}"}^}#~

--> PPP negotiation detected.

--> Starting pppd at Thu May 13 17:47:11 2004

--> pid of pppd: 19535

12.另开一个Terminal,运行ifconfig可以看到接口中已经出现了ppp0设备,如下图所示:

ppp0  Link encap:Point-to-Point Protocol

      inet addr:220.192.68.149  P-t-P:220.192.64.1  Mask:255.255.255.255

      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

      RX packets:3 errors:0 dropped:0 overruns:0 frame:0

      TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

      collisions:0 txqueuelen:3

      RX bytes:66 (66.0 b)  TX bytes:84 (84.0 b)

可以看到已经获得了动态地址220.192.68.149

13.这时候需要手工添加一条默认路由:route add default ppp0 ,添加完成后可以ping远端的一个地址试试是否真的上网了,例如说在公网上可以ping 166.111.8.238,应该会通;

14.如果要挂断ppp联接,很简单,只要切换到wvdial所在的Terminal,然后按Ctrl + C即可,也可以给kill掉wvdial 进程,结果如下:

Caught signal #2!  Attempting to exit gracefully...

--> Disconnecting at Thu JULY 13 17:58:26 2004

[root@test ppp]# ppp0      Link encap:Point-to-Point Protocol
我也在搞这方面的试验 谢谢兄弟的资料了  94479702  这是我的qq  请加一下 呵呵