在Linux下通過PPP上WCDMA

折騰了一番通過幾種USB上網卡在Linux下上WCDMA,在此記錄一下:


通用配置文件:

/etc/ppp/peers/wcdma :
/dev/ttyACM0
460800
connect '/etc/ppp/chat-wcdma'
noauth
usepeerdns
noipdefault
defaultroute
----
注意,其中的/dev/ttyACM0 是串口設備,後面描述。

/etc/ppp/chat-wcdma
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec /usr/sbin/chat -v /
ECHO ON /
ABORT 'BUSY' /
ABORT 'NO ANSWER' /
ABORT 'ERROR' /
TIMEOUT 20 /
'' 'AT' /
OK AT+CFUN=6 /
        OK              'AT+CGDCONT=1,"IP","3gnet",,0,0' /
OK 'ATDT*99#' /
CONNECT
其中的3gnet 就是聯通WCDMA上網需要的APN啦。 CFUN=6是讓索愛MD-400只工作在WCDMA網絡下。相應地CFUN=5就只工作再GSM/GPRS/EDGE下, CFUN=1就是全自動選擇
撥號連接時,用
              pppd call wcdma 

即可。你可以自己設置IP僞裝NAT等等事宜。
以上是用索尼愛立信MD-400上網卡設置的,如果你用的是華爲E1750, 那麼設備名就換成/dev/ttyUSB0 即可。

無論是索愛MD400還是華爲E1750, 都需要小工具 usb_modeswitch 1.0.2 切換其倒黴的USB工作狀態,詳細的介紹和下載可以去這裏看看: http://www.draisberghof.de/usb_modeswitch/ 

如果是電信的天翼CDMA2000 EV-DO 3G, 測試了一下華爲EC1260,基本區別不大,注意以下幾點:
1, 2.6.19之後的核心有專門對付EC1260的代碼, 插進去直接就令其工作在Modem模式,你會看到有/dev/ttyUSB0設備,可以不需要usb_modeswitch的幫助。低版本核心可能還離不開。
2, EVDO沒有APN的概念,上面的/etc/ppp/chat-wcdma 腳本改成這樣即可:

[root@pxi4g ppp]# cat chat-evdo 
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec /usr/sbin/chat -v /
ECHO ON /
ABORT 'BUSY' /
ABORT 'NO ANSWER' /
ABORT 'ERROR' /
TIMEOUT 20 /
'' 'AT' /
OK 'ATDT#777' /
CONNECT

也就是說,直接撥特殊號碼#777即可。 peers/wcdma文件可以不改。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章