2012-08-25 | #1 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
在LINLUX下面建立GPRS无线MODEM拨号
在LINLUX下面建立GPRS无线MODEM拨号
1. 将无线Modem接到Pc机的串口1(/dev/ttyS0)上。 2. 首先使用minicom(强烈建议在linux的图形用户界面下新建一个Terminal,然后运行minicom),将速率设置成为57600、8N1,Hardware Flow Control. 3. 运行AT,看是否会返回OK。如果没有返回则表明串口设置有问题,或者LenZ 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
__________________
让世界倾听我们的笛声 |