温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统移远EC20 4G模块移植的方法是怎样的

发布时间:2021-10-22 16:40:54 来源:亿速云 阅读:327 作者:柒染 栏目:互联网科技

这篇文章给大家介绍Linux系统移远EC20 4G模块移植的方法是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

硬件平台:迅为i.MX6Q开发板

 Linux系统移远EC20 4G模块移植的方法是怎样的

1. 4G网络连接

对于嵌入式Linux而言,4G网络连接是一个比较容易实现的功能,大多数的4G模块接口都是MiniPCIE接口,但是深入了解一下就会发现,4G模块的通信接口都是USB,所以4G模块的驱动就是USB驱动,只要USB驱动正常,4G模块在硬件上就能正常通信。下面看一下4G模块的硬件原理图:

 Linux系统移远EC20 4G模块移植的方法是怎样的

2. EC20 4G模块配置

2.1. 添加USB设备信息

要使用EC20 4G模块首先需要在Linux内核中添加EC20的USB信息,这样内核启动后,才能正确识别EC20 4G模块。打开Linux内核下的drivers/usb/serial/option.c 文件,添加如下信息:

 Linux系统移远EC20 4G模块移植的方法是怎样的

配置如图 2.2.1所示:

 Linux系统移远EC20 4G模块移植的方法是怎样的

配置如图 2.2.2所示:

 Linux系统移远EC20 4G模块移植的方法是怎样的

配置如图 2.2.3所示:

Linux系统移远EC20 4G模块移植的方法是怎样的

可以看出EC20 4G模块识别成功,并且虚拟出5个USB设备,分别为ttyUSB0~ttyUSB4。

3. EC20 4G模块联网测试

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目录如图 3.1.1所示:

Linux系统移远EC20 4G模块移植的方法是怎样的

配置完成后,使用下面的命令进行编译:

make CC=arm-linux-gnueabihf-gcc

“CC=arm-linux-gnueabihf-gcc”指定编译器,和开发板Linux内核使用同一个编译器。编译完成如图 3.1.3所示:

 Linux系统移远EC20 4G模块移植的方法是怎样的

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

cd /etc  //进入etc目录

mkdir ppp //创建ppp目录

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

Linux系统移远EC20 4G模块移植的方法是怎样的

输入如下内容:

 Linux系统移远EC20 4G模块移植的方法是怎样的

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

内容如下:

 Linux系统移远EC20 4G模块移植的方法是怎样的

上图表示联网成功后的IP地址为10.47.135.182,使用ifconfig命令查看结果如图 3.2.4:

 Linux系统移远EC20 4G模块移植的方法是怎样的

发现不能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.68nameserver 221.130.33.52nameserver 221.130.33.60nameserver 192.168.1.1

然后在新建一个脚本文件ppp0:

touch ppp0

vi ppp0

输入如下内容:

#!/bin/shifconfig eth0 downcp /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通百度的IP地址。至此EC20 4G模块就可以正常使用了。

关于Linux系统移远EC20 4G模块移植的方法是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI