迅爲iTOP3399開發板QT系統PCIE 4G移植-測試程序

1 ITOP-3399 開發板上預留了一個 Mini PCIE 的 4G 接口,可以連接迅爲提供的 EC20 模塊。下面我們來演示下如何使用 EC20 4G 模塊。
2 首先我們準備一個 EC20 4G 模塊連接到 ITOP-3399 開發板的 Mini PCIE 接口上,然後準備一個 4G天線,接到 EC20 模塊的天線座上面,然後插入一張能聯網的 SIM 卡,如圖所示:

3 然後我們給開發板上電啓動,我們通過調試串口登錄到開發板上,如下圖所示:

4 待系統啓動後,進入/etc 目錄,然後創建 ppp 目錄,具體命令如下:
cd /etc //進入 etc 目錄
mkdir ppp //創建 ppp 目錄
5 目錄創建完後,使用 U 盤將上一節編譯的 chat、pppd、pppdump、pppstats 四個可執行文件拷貝
到/etc/ppp 目錄下,然後在/etc/ppp 目錄下創建 pap-secrets 文件,使用下面命令:
touch pap-secrets //創建 pap-secrets 文件
vi pap-secrets //打開 pap-secrets 文件
輸入如下內容:
# Secrets for authentication using PAP
# client server secret IP addresses
card * card * 在 4G 信號在通信時候有一個密碼的比對,密碼對了就可以通信了。上面顯示用戶是 card,密碼是
card。
6 然後在/etc/ppp 目錄下創建新文件夾 peers,命令“mkdir peers”。 進入 peers 文件夾,創建 wcdma文件,命令如下:
touch wcdma
vi wcdma
輸入如下內容:
# /etc/ppp/peers/wcdma # This is pppd script for China liantong
# Usage: root>pppd call wcdma
hide-password
noauth
connect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect' disconnect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect' debug
#logfile ./ppplog
/dev/ttyUSB2
115200
defaultroute
noipdefault
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local
lock
dump
nodetach
user "card" password "card" crtscts
remotename 3gppp
ipparam 3gppp
usepeerdns
需要注意的是使用/dev/ttyUSB2 設備節點文件。“user "card"”和“password "card"”對應了 pap-secrets文件中的用戶名和密碼。
7 在/etc/ppp/peers 目錄下創建 wcdma-chat-connect 文件:
touch wcdma-chat-connect
vi wcdma-chat-connect
內容如下:
ABORT "BUSY" ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" TIMEOUT 120
"" AT
OK ATZ
OK AT+CGDCONT=1,"IP","cmnet",,0,0
OK-AT-OK ATDT*98*1#
CONNECT \d\c
在這裏 OK AT+CGDCONT=1,"IP","cmnet",,0,0
OK-AT-OK ATDT*98*1#
這兩句話會根據移動聯通或者是電信而變化,這裏用的是移動 4G。
注意:如果你換成其他營運商,需要改 apn 和撥號,不然連不上網
APN 設置:
移動: at+cgdcont=1,"ip","cmnet" 聯通: at+cgdcont=1,"ip","3gnet" 電信: at+cgdcont=1,"ip","ctnet" 撥號:
移動:*99***1#或*98*1#
聯通: *99#
電信: #777
8 在/etc/ppp/peers 目錄下創建 wcdma-chat-disconnect 文件:
touch wcdma-chat-disconnect
vi wcdma-chat-disconnect
內容如下:
ABORT "ERROR" ABORT "NO DIALTONE" SAY "INSending break to the modem\n"
""\k"
""+++ATH" SAY "\nGood bye\n" 9 現在所需的文件創建完成了,就可以進行聯網測試了。我們提供的 Linux 鏡像是配置好 4G 模塊的,
燒寫後可以直接進行測試。創建文件如下圖所示:

10 開始測試,我們首先關閉 eth0 設備,因爲和 EC20 4G 模塊有衝突,同時只能使用一個設備。命令如下:
ifconfig eth0 down
然後輸入“ifconfig”來查看下 eth0 是否關閉。

11 在/etc/ppp 目錄下輸入指令開始聯網,&表示後臺運行的意思。
./pppd call wcdma &
結果如下:


12 上圖表示聯網成功後的 IP 地址爲 10.65.93.324,使用 ifconfig 命令查看結果如下:

13.這時使用 ping 命令查看能夠 ping 通百度,命令如下
ping www.baidu.com-c 5 “-c”選項指定 ping 網絡的次數。
14 如果發現不能 ping 通外網,是因爲 DNS 沒有設置對,在 etc 下有一個文件 resolv.conf 。這個文件是用來放 DNS 的,是這個裏面的域名沒有設置對。然而在 eth0 的運行腳本里強制性的把這個文件複製爲了 192.168.1.1 。這就造成即便在這裏文件裏設置上正確的 DNS,再開機後也會發現這個文件裏已經是192.168.1.1 了。這是因爲 eth0,是開機自啓動的。 我們在/etc 目錄下新建一個文件 resolv.conf_back:
touch resolv.conf_back
vi resolv.conf_back
輸入如下內容:
nameserver 202.99.160.68
nameserver 221.130.33.52
nameserver 221.130.33.60
nameserver 192.168.1.1
nameserver 114.114.114.114

然後在新建一個腳本文件 ppp0:
touch ppp0
vi ppp0

輸入如下內容:
#!/bin/sh
ifconfig eth0 down
cp /etc/resolv.conf_back /etc/resolv.conf
/etc/ppp/pppd call wcdma&

修改 ppp0 文件的執行權限:
chmod 777 ppp0
這裏第一步是將 eth0 關掉,第二步將我們的 DNS 文件覆蓋到 resolv.conf 上,第三步運行。然後重新開機,執行 ppp0 腳本,命令如下:
/etc/ppp0
腳本執行成功後,重新使用 ping 命令 ping 百度,結果如下圖所示:

我們在調試串口終端輸入“ifconfig”命令查看下網絡設備信息狀態,運行結果如圖所示:

從上圖我們可以看到通過 EC20 模塊可以聯網成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章