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 模塊可以聯網成功了。 |