我是靠谱客的博主 慈祥钥匙,最近开发中收集的这篇文章主要介绍i.MX6ULL终结者Linux 4G通信实验EC20 4G模块联网测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 1 PPP软件包编译
    • 2 EC20 4G模块联网测试

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目录如图 1.1所示:
在这里插入图片描述

图 1.1

使用configure进行配置,命令如下:
./configure
结果如图 1.2所示:
在这里插入图片描述

图 1.2

配置完成后,使用下面的命令进行编译:
make CC=arm-linux-gnueabihf-gcc
“CC=arm-linux-gnueabihf-gcc”指定编译器,和开发板Linux内核使用同一个编译器。
编译完成如图 1.3所示:
在这里插入图片描述

图 1.3

编译完成后,分别在chat、pppd、pppdump、pppstats四个目录下生成chat、pppd、pppdump、pppstats可执行文件,用于后面的4G模块联网测试。

2 EC20 4G模块联网测试

首先安装好EC20 4G模块、天线和SIM卡,如图 56.3.2.1所示:
在这里插入图片描述

图 2.1

开发板准备好后启动Linux系统,待系统启动后,进入/etc目录,然后创建ppp目录,具体命令如下:

cd /etc		//进入etc目录
mkdir ppp	//创建ppp目录

目录创建完后,使用U盘将上一节编译的chat、pppd、pppdump、pppstats四个可执行文件拷贝到/etc/ppp目录下,如图 2.2所示:

在这里插入图片描述

图 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 dc

在这里 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 modemn"

""k"

""+++ATH"

SAY "nGood byen"

所需文件创建完成后,就可以进行联网测试了。

首先关闭eth0设备,因为和EC20 4G模块有冲突,同时只能使用一个设备。命令如下:
ifconfig eth0 down
然后在/etc/ppp目录下输入指令:
./pppd call wcdma &
结果如图 2.3所示:
在这里插入图片描述

图 2.3

上图表示联网成功后的IP地址为10.47.135.182,使用ifconfig命令查看结果如图 2.4:
在这里插入图片描述

图 2.4

这时使用ping命令查看能够ping通外网,命令如下:
ping 202.108.22.5 -c 4
“-c”选项指定ping网络的次数。“202.108.22.5”是百度的IP地址,结果如图 2.5:
在这里插入图片描述

图 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命令,结果如图 2.6所示:
在这里插入图片描述

图 2.6

图片显示可以正常ping通百度的IP地址。至此EC20 4G模块就可以正常使用了。

在这里插入图片描述

最后

以上就是慈祥钥匙为你收集整理的i.MX6ULL终结者Linux 4G通信实验EC20 4G模块联网测试的全部内容,希望文章能够帮你解决i.MX6ULL终结者Linux 4G通信实验EC20 4G模块联网测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部