華為3G模組撥接

來源:互聯網
上載者:User

標籤:

一 開發環境簡介

核心版本 3.19.5、3.15(這2個我都試過)

編譯環境  Ubuntu 12.04

3g模組      華為MU709s

SIM卡        聯通

二 主要步驟

向linux核心中添加3G模組驅動(USB轉串口的option驅動)和ppp網路通訊協定的支援

交叉編譯ppp-2.4.2原始碼

將撥接所需的兩個應用程式pppd和chat拷貝到開發板/usr/sbin檔案夾下,

編寫ppp撥號指令碼wcdma、wcdma-chat-connect、wcdma-chat-disconnect並存放在/etc/ppp/peers目錄下。將DNS寫入到/etc/resolv.conf檔案中

執行“pppd call wcdma”命令進行撥號



三 配置3G模組驅動和ppp網路通訊協定棧可參考資來源文件,華為模組Linux核心驅動整合指導-(V100R001_V2.0, Chinese) .pdf

也可按照以下步驟操作

首先進入make menuconfig介面

1 配置3G模組驅動

                     圖 1

1首先選擇Device Drivers

 

                     圖2

2進入USB support


                      圖 3

進入USB support之後一直往下直到找到圖3並選擇USB轉串口


                      圖4

最後選擇USB driver for GSM and CDMA modems到此3G卡驅動已經添加完畢

主要是添加了driver/usb/serial/option.c和driver/usb/serial/usb_wwan.c

兩個檔案,儘管驅動添加了,但是這僅僅只是一個usb轉串口驅動,並不能作為網路裝置直接使用,此時就需要ppp網路通訊協定的支援,他將ttyUSB*等裝置類比成網路裝置使用也即(/dev/ttyUSB0<---->ppp0)

 

2 添加ppp協議

同樣也是進入make menuconfig介面


                         圖5

首先同樣也是進入驅動配置介面Device Drivers

                         圖6

6選擇網路裝置支援


7選擇ppp

到這一步驅動和協議就都已經配置成功了接下來就是編譯下載到板子

查看開發板Dev目錄

[[email protected] ~]# ls /dev/ttyUSB
ttyUSB0  ttyUSB1  ttyUSB2  ttyUSB3

四 編寫ppp撥號指令碼

由於該撥號指令碼需要使用chat,pppd,等命令,所以需要下載ppp-2.4.4

下載成功之後首先便是編譯

1 編譯 ppp-2.4.4

一般都很好編過,只是可能會依賴libpcap-1.6.2.tar.gz  這個庫,zlib 庫。編譯過程中如果出現 關於libcrypt.so這樣的錯誤,就把你的編譯工具目錄下的/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libcrypt.so 這個庫複製到 /usr/local/lib/ 下即可。

編譯成功後將編譯產生的chat,pppd,等命令拷貝到板子檔案系統的/usr/sbin目錄下邊去

 

2 編寫撥號指令碼

在板子檔案系統/etc/ppp/peers目錄下邊建立三個檔案如下

wcdma,chat-wcdma-connect,chat-wcdma-disconnect

wcdma設定檔內容

debug

nodetach

/dev/ttyUSB0

115200

usepeerdns

noauth

noipdefault

novj

novjccomp

noccp

defaultroute

ipcp-accept-local

ipcp-accept-remote

connect ‘/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-connect‘

disconnect ‘/usr/sbin/chat -s -v -f/etc/ppp/peers/chat-wcdma-disconnect‘

 

wcdma-chat-connect設定檔內容

TIMEOUT 5

ABORT ‘NO CARRIER‘

ABORT ‘ERROR‘

ABORT ‘NODIALTONE‘

ABORT ‘BUSY‘

ABORT ‘NO ANSWER‘

‘‘  \rAT

OK  \rATZ

OK \rAT+CGDCONT=1,"IP","3GNET",,0,0

OK-AT-OK ATDT*99#

CONNECT \d\c

 

wcdma-chat-disconnect設定檔內容

ABORT"ERROR"

ABORT "NODIALTONE"

SAY"\nSending break to the modem\n"

‘‘ "\K"

‘‘"+++ATH"

SAY"\nGoodbay\n"

建立好撥號指令碼之後就是正式撥號了

 pppd call wcdma&

加上&符號主要是因為撥號成功後,程式會一直執行不退出,所以採用後台啟動並執行方式執行,pppd call wcdma是作用是建立協議,並產生網路介面ppp0。也可以修改WCDMA指令碼#nodetach,再執行命令pppd call wcdma就可以在後台運行了。

如果出現以下現象:


表示撥號成功。

3、測試網路連通情況

Ping -I ppp0 www.baidu.com -c 5 -i 1   出現逾時

Route查看路由表

預設網關是eth0,刪除預設閘道route del deflaut 。添加ppp0為預設閘道 route add default dev ppp0。手工添加DNS echo "nameserver 123.123.123.124" > /etc/resolv.conf

Ping -I ppp0 www.baidu.com -c 5 -s 1


網路通訊正常

五 、實現自動撥號

主要寫了2個指令檔,一個是配置指令碼init.sh,內容如下:

echo "nameserver 123.123.123.124" > /etc/resolv.conf
route del default 
route add default dev ppp0
ifconfig eth0 down
ifconfig eth0 hw ether 00:12:34:56:78:90
ifconfig eth0 up

另一個是自動撥號指令碼pp.sh。內容如下:

dns1="61.135.169.121" #baidu
dns2="61.135.157.156" #qq
pppd call wcdma &
sleep 12
/root/init.sh
while true
do 
ping -s 1 -c 5 $dns1    #|…去PING第一個DNS
        if [ "$?" != "0" ]      #€|…假如PING不通
        then
        ping -s 1 -c 2 $dns2    #…去PING第二個DNS
                 if [ "$?" != "0" ]      #|…假如PING不通
                 then   
                 killall pppd        #|…結束PPPD進程
                 pppd call wcdma &   #…再去撥號
                          sleep 12            #€|…等2s
                   else
                      sleep 5           ’ 
                   fi 
        else
              sleep 120           # )
                                  
         fi               
      done

有了這個指令碼,就可以放心的上網了。

有些人還想即時擷取撥接的訊號強度。這裡有2種方法。

1、通過microcom -s 115200 /dev/ttyUSB0  這種方式要用 Ctrl+x 來退出!

輸入 at+csq 

at+csq
+CSQ: 11,99


OK

可以看到訊號強度是11。

2、還可以寫個程式,通過ttyUSB2來發送 at+csq命令,注意這個命令要以\r\n結束,如下所示:


六 注釋

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

華為3G模組撥接

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.