溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)EC20 4G模塊移植方法是什么

發(fā)布時(shí)間:2021-11-23 15:45:55 來(lái)源:億速云 閱讀:543 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“Linux系統(tǒng)EC20 4G模塊移植方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Linux系統(tǒng)EC20 4G模塊移植方法是什么”吧!

1.4G網(wǎng)絡(luò)連接
對(duì)于嵌入式Linux而言,4G網(wǎng)絡(luò)連接是一個(gè)比較容易實(shí)現(xiàn)的功能,大多數(shù)的4G模塊接口都是MiniPCIE接口,但是深入了解一下就會(huì)發(fā)現(xiàn),4G模塊的通信接口都是USB,所以4G模塊的驅(qū)動(dòng)就是USB驅(qū)動(dòng),只要USB驅(qū)動(dòng)正常,4G模塊在硬件上就能正常通信。下面看一下4G模塊的硬件原理圖:
Linux系統(tǒng)EC20 4G模塊移植方法是什么
Linux系統(tǒng)EC20 4G模塊移植方法是什么
在原理圖中,U25是4G模塊的MiniPCIE接口,然后通信引腳會(huì)接到U15的HUB芯片上,所以4G模塊會(huì)被識(shí)別成USB設(shè)備,CON5是SIM卡接口,在使用4G模塊時(shí),需要先插入SIM卡。在i.MX6UL終結(jié)者開(kāi)發(fā)板上使用的EC20 4G模塊,如圖 Linux系統(tǒng)EC20 4G模塊移植方法是什么
2. EC20 4G模塊配置
2.1. 添加USB設(shè)備信息

要使用EC20 4G模塊首先需要在Linux內(nèi)核中添加EC20的USB信息,這樣內(nèi)核啟動(dòng)后,才能正確識(shí)別EC20 4G模塊。打開(kāi)Linux內(nèi)核下的drivers/usb/serial/option.c 文件,添加如下信息:
1809         /* add support EC220 4G Module */
1810         { USB_DEVICE(0x05C6, 0x9090) }, /* Quectel UC15 */
1811         { USB_DEVICE(0x05C6, 0x9003) }, /* Quectel UC20 */
1812         { USB_DEVICE(0x05C6, 0x9215) }, /* Quectel EC20 */
1813         { USB_DEVICE(0x2C7C, 0x0125) }, /* Quectel EC25/EC20 R2.0 */
1814         { USB_DEVICE(0x2C7C, 0x0121) }, /* Quectel EC21 */
1815         /* end add */其中第1813行是EC20 4G模塊的USB信息。

2.2. Linux內(nèi)核配置
添加完EC20 4G模塊的USB信息后,需要修改Linux 內(nèi)核配置來(lái)支持USBNET功能。具體配置如下:
Device Drivers  --->
Network device support  --->
<*>   USB Network Adapters  --->
<*>   Multi-purpose USB Networking Framework配置如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
接下來(lái)我們還需要使能 USB 串口 GSM、CDMA 驅(qū)動(dòng),配置路徑如下:
Device Drivers  --->
USB support  --->
<*>   USB Serial Converter support  --->
<*>   USB driver for GSM and CDMA modems
配置如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
然后配置ppp,配置路徑如下:
Device Drivers  --->
Network device support  --->
<*>   PPP (point-to-point protocol) support
<*>     PPP BSD-Compress compression
<*>     PPP Deflate compression
PPP filtering
<*>     PPP MPPE compression (encryption)
PPP multilink support
<*>     PPP over Ethernet
<*>     PPP support for async serial ports
<*>     PPP support for sync tty ports
tty ports配置如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
配置完成后,重新編譯內(nèi)核,然后使用新的內(nèi)核啟動(dòng)開(kāi)發(fā)板。如果配置成功開(kāi)發(fā)板啟動(dòng)后會(huì)有如圖 2.2.4信息打?。?nbsp;Linux系統(tǒng)EC20 4G模塊移植方法是什么
可以看出EC20 4G模塊識(shí)別成功,并且虛擬出5個(gè)USB設(shè)備,分別為ttyUSB0~ttyUSB4。

3. EC20 4G模塊聯(lián)網(wǎng)測(cè)試
3.1. PPP軟件包編譯

首先拷貝ppp-2.4.4.tar.gz到Ubuntu下,然后執(zhí)行下面的命令解壓:
tar -xvf ppp-2.4.4.tar.gz
解壓完成得到ppp-2.4.4目錄,進(jìn)入ppp-2.4.4目錄如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
使用configure進(jìn)行配置,命令如下:./configure結(jié)果如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
配置完成后,使用下面的命令進(jìn)行編譯:
make CC=arm-linux-gnueabihf-gcc
“CC=arm-linux-gnueabihf-gcc”指定編譯器,和開(kāi)發(fā)板Linux內(nèi)核使用同一個(gè)編譯器。編譯完成如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
編譯完成后,分別在chat、pppd、pppdump、pppstats四個(gè)目錄下生成chat、pppd、pppdump、pppstats可執(zhí)行文件,用于后面的4G模塊聯(lián)網(wǎng)測(cè)試。

3.2. EC20 4G模塊聯(lián)網(wǎng)測(cè)試
首先安裝好EC20 4G模塊、天線和SIM卡,如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
開(kāi)發(fā)板準(zhǔn)備好后啟動(dòng)Linux系統(tǒng),待系統(tǒng)啟動(dòng)后,進(jìn)入/etc目錄,然后創(chuàng)建ppp目錄,具體命令如下:
cd /etc  //進(jìn)入etc目錄
mkdir ppp //創(chuàng)建ppp目錄
目錄創(chuàng)建完后,使用U盤(pán)將上一節(jié)編譯的chat、pppd、pppdump、pppstats四個(gè)可執(zhí)行文件拷貝到/etc/ppp目錄下,如圖 :
Linux系統(tǒng)EC20 4G模塊移植方法是什么
然后在/etc/ppp目錄下創(chuàng)建pap-secrets文件,使用下面命令:
touch pap-secrets //創(chuàng)建pap-secrets文件vi pap-secrets  //打開(kāi)pap-secret
輸入如下內(nèi)容:
# Secrets for authentication using PAP
# client        server  secret                  IP addresses
card   *       card   *
在4G信號(hào)在通信時(shí)候有一個(gè)密碼的比對(duì),密碼對(duì)了就可以通信了。上面顯示用戶是card,密碼是card。
然后創(chuàng)建新文件夾peers,命令“mkdir peers”。
進(jìn)入peers文件夾,創(chuàng)建wcdma文件,命令如下:
touch wcdma
vi wcdma
輸入如下內(nèi)容:
# /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
/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設(shè)備節(jié)點(diǎn)文件。
“user "card"”和“password "card"”對(duì)應(yīng)了pap-secrets文件中的用戶名和密碼。
創(chuàng)建wcdma-chat-connect文件:
touch wcdma-chat-connect
vi wcdma-chat-connect
內(nèi)容如下:
ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
TIMEOUT 120
"" AT
OK \rATZ
OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
OK-AT-OK ATDT*99#
CONNECT \d\c
在這里 OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
OK-AT-OK ATDT*99#
這兩句話會(huì)根據(jù)移動(dòng)聯(lián)通或者是電信而變化,這里用的是移動(dòng)4G。

創(chuàng)建wcdma-chat-disconnect文件:
touch wcdma-chat-disconnect
vi wcdma-chat-disconnect
內(nèi)容如下:
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "INSending break to the modem\n"
""\k"
""+++ATH"
SAY "\nGood bye\n"
所需文件創(chuàng)建完成后,就可以進(jìn)行聯(lián)網(wǎng)測(cè)試了。

首先關(guān)閉eth0設(shè)備,因?yàn)楹虴C20 4G模塊有沖突,同時(shí)只能使用一個(gè)設(shè)備。命令如下:
ifconfig eth0  down
然后在/etc/ppp目錄下輸入指令:
./pppd call wcdma &
結(jié)果如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
上圖表示聯(lián)網(wǎng)成功后的IP地址為10.47.135.182,使用ifconfig命令查看結(jié)果如圖
Linux系統(tǒng)EC20 4G模塊移植方法是什么
這時(shí)使用ping命令查看能夠ping通外網(wǎng),命令如下:

ping 202.108.22.5 -c 4

“-c”選項(xiàng)指定ping網(wǎng)絡(luò)的次數(shù)?!?02.108.22.5”是百度的IP地址,結(jié)果如圖 :

Linux系統(tǒng)EC20 4G模塊移植方法是什么

發(fā)現(xiàn)不能ping通外網(wǎng),愿意是因?yàn)镈NS沒(méi)有設(shè)置對(duì),在etc下有一個(gè)文件resolv.conf 。這個(gè)文件是用來(lái)放DNS的。就是這個(gè)里面的域名沒(méi)有設(shè)置對(duì)。然而在eth0的運(yùn)行腳本里強(qiáng)制性的把這個(gè)文件復(fù)制為了192.168.1.1 。這就造成即便在這里文件里設(shè)置上正確的DNS,再開(kāi)機(jī)后也會(huì)發(fā)現(xiàn)這個(gè)文件里已經(jīng)是192.168.1.1了。這是因?yàn)閑th0,是開(kāi)機(jī)自啟動(dòng)的。

我們?cè)?etc目錄下新建一個(gè)文件resolv.conf_back:
touch resolv.conf_back
vi resolv.conf_back
輸入如下內(nèi)容:
nameserver 202.99.160.68
nameserver 221.130.33.52
nameserver 221.130.33.60
nameserver 192.168.1.1
然后在新建一個(gè)腳本文件ppp0:
touch ppp0
vi ppp0
輸入如下內(nèi)容:
#!/bin/sh
ifconfig eth0 down
cp /etc/resolv.conf_back
/etc/resolv.conf/etc/ppp/pppd call wcdma&
修改ppp0文件的執(zhí)行權(quán)限:
chmod 777 ppp0
這里第一步是將eth0關(guān)掉,第二步將我們的DNS文件覆蓋到resolv.conf上,第三步運(yùn)行。然后重新開(kāi)機(jī),執(zhí)行ppp0腳本,命令如下:
/etc/ppp0
腳本執(zhí)行成功后,重新使用ping命令,結(jié)果如圖:
Linux系統(tǒng)EC20 4G模塊移植方法是什么
圖片顯示可以正常ping通百度的IP地址。至此EC20 4G模塊就可以正常使用了。

感謝各位的閱讀,以上就是“Linux系統(tǒng)EC20 4G模塊移植方法是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Linux系統(tǒng)EC20 4G模塊移植方法是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI