這篇文章給大家介紹Linux系統(tǒng)移遠(yuǎn)EC20 4G模塊移植的方法是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的息縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
硬件平臺(tái):迅為i.MX6Q開(kāi)發(fā)板
對(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模塊的硬件原理圖:
要使用EC20 4G模塊首先需要在Linux內(nèi)核中添加EC20的USB信息,這樣內(nèi)核啟動(dòng)后,才能正確識(shí)別EC20 4G模塊。打開(kāi)Linux內(nèi)核下的drivers/usb/serial/option.c 文件,添加如下信息:
配置如圖 2.2.1所示:
配置如圖 2.2.2所示:
配置如圖 2.2.3所示:
可以看出EC20 4G模塊識(shí)別成功,并且虛擬出5個(gè)USB設(shè)備,分別為ttyUSB0~ttyUSB4。
首先拷貝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目錄如圖 3.1.1所示:
配置完成后,使用下面的命令進(jìn)行編譯:
make CC=arm-linux-gnueabihf-gcc
“CC=arm-linux-gnueabihf-gcc”指定編譯器,和開(kāi)發(fā)板Linux內(nèi)核使用同一個(gè)編譯器。編譯完成如圖 3.1.3所示:
開(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目錄下,如圖 3.2.2所示:
輸入如下內(nèi)容:
在這里 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)容如下:
上圖表示聯(lián)網(wǎng)成功后的IP地址為10.47.135.182,使用ifconfig命令查看結(jié)果如圖 3.2.4:
發(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.68nameserver 221.130.33.52nameserver 221.130.33.60nameserver 192.168.1.1
然后在新建一個(gè)腳本文件ppp0:
touch ppp0
vi ppp0
輸入如下內(nèi)容:
#!/bin/shifconfig eth0 downcp /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命令
顯示可以正常ping通百度的IP地址。至此EC20 4G模塊就可以正常使用了。
關(guān)于Linux系統(tǒng)移遠(yuǎn)EC20 4G模塊移植的方法是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。