国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
立即注冊
登錄
電子工程網
新聞
新品
文章
下載
視頻
工具
論壇
研討會
空間
落風的個人空間
http://m.qingdxww.cn/space-uid-138363.html
[收藏]
[復制]
[RSS]
空間首頁
博客
主題
留言板
個人資料
論壇
BBS
我的空間
好友
帖子
收藏
道具
勛章
任務
博客
迅為IMX6ULL開發板Linux 4G通信實驗
已有 812 次閱讀
2020-12-21 11:48
前面的章節中學習了如何使用有線網絡或者使用 wifi,但是使用無線網絡或者 wifi 有許多環境限制,這種時候就可以使用 4G 模塊來上網。在本章中學習一下如何使用 4G 模塊實現上網功能。
56.1 4G 網絡連接
對于
嵌入式
Linux
而言,4G 網絡連接是一個比較容易實現的功能,大多數的 4G 模塊接口都是 MiniPCIE接口,但是深入了解一下就會發現,4G 模塊的通信接口都是
USB
,所以 4G 模塊的驅動就是 USB 驅動,只要 USB 驅動正常,4G 模塊在硬件上就能正常通信。下面看一下 4G 模塊的硬件原理圖:
在原理圖中,U25 是 4G 模塊的 MiniPCIE 接口,然后通信引腳會接到 U15 的 HUB 芯片上,所以 4G 模塊會被識別成 USB 設備,CON5 是 SIM 卡接口,在使用 4G 模塊時,需要先插入 SIM 卡。在 i.MX6UL 終結者開發板上使用的 EC20 4G 模塊,如圖 56.1.3 所示:
56.2 EC20 4G 模塊配置
56.2.1 添加 USB 設備信息
要使用 EC20 4G 模塊首先需要在 Linux 內核中添加 EC20 的 USB 信息,這樣內核啟動后,才能正確識別
EC20 4G 模塊。打開 Linux 內核下的 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 信息。
56.2.2 Linux 內核配置
添加完 EC20 4G 模塊的 USB 信息后,需要修改 Linux 內核配置來支持 USBNET 功能。具體配置如下:
Device Drivers --->
Network device support --->
<*> USB Network Adapters --->
<*> Multi-purpose USB Networking Framework
配置如圖 56.2.2.1 所示:
接下來我們還需要使能 USB 串口 GSM、CDMA 驅動,配置路徑如下:
Device Drivers --->
USB support --->
<*> USB Serial Converter support --->
<*> USB driver for GSM and CDMA modems
配置如圖 56.2.2.2 所示:
然后配置 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
配置如圖 56.2.2.3 所示:
配置完成后,重新編譯內核,然后使用新的內核啟動開發板。如果配置成功開發板啟動后會有如圖56.2.2.4 信息打印:
可以看出 EC20 4G 模塊識別成功,并且虛擬出 5 個 USB 設備,分別為 ttyUSB0~ttyUSB4。
56.3 EC20 4G 模塊聯網測試
56.3.1 PPP 軟件包編譯
首先拷貝 ppp-2.4.4.tar.gz 到
Ubuntu
下,然后執行下面的命令解壓:
tar -xvf ppp-2.4.4.tar.gz
解壓完成得到 ppp-2.4.4 目錄,進入 ppp-2.4.4 目錄如圖 56.3.1.1 所示:
使用 configure 進行配置,命令如下:
./configure
結果如圖 56.3.1.2 所示:
配置完成后,使用下面的命令進行編譯:
make CC=arm-linux-gnueabihf-gcc
“CC=arm-linux-gnueabihf-gcc”指定編譯器,和開發板 Linux 內核使用同一個編譯器。
編譯完成如圖 56.3.1.3 所示:
編譯完成后,分別在 chat、pppd、pppdump、pppstats 四個目錄下生成 chat、pppd、pppdump、pppstats可執行文件,用于后面的 4G 模塊聯網測試。
56.3.2 EC20 4G 模塊聯網測試
首先安裝好 EC20 4G 模塊、天線和 SIM 卡,如圖 56.3.2.1 所示:
開發板準備好后啟動 Linux 系統,待系統啟動后,進入/etc 目錄,然后創建 ppp 目錄,具體命令如下:
cd /etc //進入 etc 目錄
mkdir ppp //創建 ppp 目錄
目錄創建完后,使用 U 盤將上一節編譯的 chat、pppd、pppdump、pppstats 四個可執行文件拷貝到/etc/ppp目錄下,如圖 56.3.2.2 所示:
然后在/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。
然后創建新文件夾 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
/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 文件中的用戶名和密碼。
創建 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 \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#
這兩句話會根據移動聯通或者是電信而變化,這里用的是移動 4G。
創建 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"
所需文件創建完成后,就可以進行聯網測試了。
首先關閉 eth0 設備,因為和 EC20 4G 模塊有沖突,同時只能使用一個設備。命令如下:
ifconfig eth0 down
然后在/etc/ppp 目錄下輸入指令:
./pppd call wcdma &
結果如圖 56.3.2.3 所示:
上圖表示聯網成功后的 IP 地址為 10.47.135.182,使用 ifconfig 命令查看結果如圖 56.3.2.4:
這時使用 ping 命令查看能夠 ping 通外網,命令如下:
ping 202.108.22.5 -c 4
“-c”選項指定 ping 網絡的次數。“202.108.22.5”是百度的 IP 地址,結果如圖 56.3.2.5:
發現不能 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
然后在新建一個腳本文件 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 命令,結果如圖 56.3.2.6 所示:
圖片顯示可以正常 ping 通百度的 IP 地址。至此 EC20 4G 模塊就可以正常使用了。
路過
雞蛋
鮮花
握手
雷人
收藏
邀請
舉報
全部
作者的其他最新博客
•
迅為RK3399開發板瑞芯微64位六核Linux安卓8.1國產AI人工智能
•
迅為RK3399開發板瑞芯微64位六核Linux安卓8.1國產AI人工智能主板
•
勇敢牛牛不怕困難,嵌入式之學習路線了解,沖
•
迅為IMX6ULL開發板Linux RS232/485驅動實驗(下)
•
迅為4412開發板實驗_Makefile編譯(下)
評論 (
0
個評論)
您需要登錄后才可以評論
登錄
|
立即注冊
評論
落風
加為好友
給我留言
打個招呼
發送消息
關于我們
-
服務條款
-
使用指南
-
站點地圖
-
友情鏈接
-
聯系我們
電子工程網
© 版權所有
京ICP備16069177號
| 京公網安備11010502021702
返回頂部
主站蜘蛛池模板:
亚洲美女视频免费
|
欧美一级片播放
|
日韩欧美在线一级一中文字暮
|
日韩免费高清一级毛片
|
一本高清
|
天天爽天天爽
|
日韩国产欧美成人一区二区影院
|
亚洲国产精品成人综合久久久
|
青青草国产在线
|
欧美成综合网网站
|
三级国产精品一区二区
|
天天操天天干天天透
|
亚洲欧美日韩国产精品网
|
四虎综合九九色九九综合色
|
欧美午夜网
|
香蕉视频久久
|
亚洲最新视频
|
四虎永久在线精品国产
|
亚洲第一页乱
|
天天色综合天天
|
亚洲国产日韩欧美一区二区三区
|
青青青在线视频人视频在线
|
色男人综合
|
亚洲成人第一页
|
色先锋色资源看片资源网
|
欧美极品在线视频
|
亚洲麻豆一区
|
午夜久
|
欧美成人视
|
欧美日韩精品国产一区二区
|
日本三级在线观看中文字
|
日本亚洲成人
|
亚洲精品不卡视频
|
色综合天天综合网国产国产人
|
午夜精品久久久久久毛片
|
四虎影院大全
|
日韩亚洲欧美在线爱色
|
亚洲精品久
|
思思99re热
|
亚洲日韩中文第一精品
|
亚洲欧美日韩中文字幕在线不卡
|