当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux下面建立GPRS无线MODEM拨号的方法

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 linux下面建立GPRS无线MODEM拨号的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 94 ::
收藏到网摘: n/a

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: 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