萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux系統下建立GPRS無線Modem撥號方法

Linux系統下建立GPRS無線Modem撥號方法

class="21027"> ; 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
copyright © 萬盛學電腦網 all rights reserved