基于迅为itop4412开发板的4G模块SIM7100的拨号上网的实现

news/2024/11/15 5:38:48/

为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。

在这里插入图片描述


一、实验目的:

	实现4G模块sim7100在Linux系统上的拨号上网。

二、实验平台:

    开发板:迅为4412精英版;4G模块:SIM7100开发板。SIM7100C带有USB口和串口,考虑速率等问题,采用USB接口与开发板相连接。我的4412开发板运行的是Linux最小系统,我们需要向内核添加4G模块的驱动与PPP协议支持,然后在编译内核下载到开发板。

三、实验流程

1、内核配置:源码目录,通过mkae menuconfig进入配置。

(1)大容量存储驱动

Device Drivers > USB support

make ARCH=arm menuconfig配置USB驱动:

<*> USB Mass Storage support

[*] USB Mass Storage verbose debug

<*> Realtek Card Reader support

[*] Realtek Card Reader autosuspend support

<*> Datafab Compact Flash Reader support

(2)USB驱动

Device Drivers > USB support

<*> Inventra Highspeed Dual Role Controller (TI, ADI, …)

        MUSB Mode Selection (Dual Role mode)  --->            <*>    Platform Glue Layer (TI DSPS platforms)  --->         MUSB DMA mode (Disable DMA (always use PIO))  --->

<*> USB Serial Converter support —>

[*] USBGeneric Serial Driver

<*> USBdriver for GSM and CDMA modems

(3)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     

<*> SLIP (serial line) support

[*] CSLIP compressed headers
全部添加进入内核后,使用make编译,编译出来的zImage烧写到开发板。(注:zImage目录:源码的arch/arm/boot/目录下)


2、交叉编译libusb

这部分为提供USB支持,这一部分我是参考下面的连接:

[libusb交叉编译] (http://www.linuxidc.com/Linux/2016-03/129581.htm)
编译成功后,将生成的libusb-1.0.20和libusb-compat-0.1.5下的库文件(lib下的文件)复制到ARM板上的linux的/lib下面即可。(我这里是最小系统下的lib下如下图:(可以直接复制过去;也可以通过先放到最小系统的lib下,直接压缩到system.ing文件中,再下载到板子上)

这里写图片描述


3、交叉编译4G模块驱动:Gobiserial.ko

我觉得这个驱动是很重要的,厂家提供的资料里竟然没有。最终在谷歌上找到了。亲测可用[下载连接]
(http://www.reyax.com/httpdocs/index.files/4G_Module.htm)
具体的操作为:将压缩包复制到ubuntu下,解压,
这里写图片描述
进入到Gobiserial文件夹,把Makefile文件的源码目录替换为我们自己的(编我直接使用的是编译驱动写的),然后make
这里写图片描述
就可以得到驱动文件Gobiserial.ko文件
这里写图片描述
将此.ko文件拷贝到U盘或者开发板上均可。至此驱动方面的工作就完毕了!!!


4、加载驱动

我将Gobiserial.ko文件复制到了开发板的/bin/目录下
这里写图片描述
通过加载驱动的命令:insmod Gobiserial.ko 将驱动插入到内核中

这里写图片描述

查看此模块是否成功插入:lsmod
这里写图片描述
成功插入驱动后;插入4G模块,虚拟出6个ttyUSB,它们分别是:
这里写图片描述
具体的作用为:
这里写图片描述


5、交叉编译PPP

这个参考: [PPP编译] (http://www.linuxidc.com/Linux/2016-03/129580.htm)
我下载的是ppp-2.4.7,复制到ubuntu下,解压
编译:

(1)生成Makefile文件(也可直接./configure)

这里写图片描述

(2)编译(必须使用与开发板一致的编译器,迅为的4412用的是arm-2009q3)

这里写图片描述

(3)编译命令:

这里写图片描述

(4)安装:make install (有错,不用管)

这里写图片描述

(5)将编译出来的脚本复制到ARM开发板上:

按照上面的make好之后,由于make install出错,所以直接在目录中找到如下的四个文件:

chat pppd pppdump pppstats

复制到ARM开发板的/usr/sbin目录下:
这里写图片描述

(6)建立/etc/ppp目录:

从ppp-2.4.7相应目录中拷贝文件,建立如下目录结构:
注:前两个文件我是从ppp-2.4.7目录下拷贝的,另外的没找到,直接到/etc/ppp目录下复制:
/etc/ppp/chap-secrets
/etc/ppp/pap-secrets
/etc/ppp/ip-up
/etc/ppp/ip-down
/etc/ppp/peers/
拷贝之后放到开发板的对应目录下:如下图所示
这里写图片描述
至此,ppp编译顺利完成!!!!


(5)拨号脚本设置

(1)a.在/etc/ppp目录下使用 vi gprs-connect-chat 建立文件

内容如下:
#/etc/ppp/gprs-connect-chat
# chat script for China Mobile, used in SIMCOM sim4100 TD module.
TIMEOUT 15
ABORT “DELAYED”
ABORT “BUSY”
ABORT “ERROR”
ABORT “NO DIALTONE”
ABORT “NO CARRIER”
TIMEOUT 40
‘’ \rAT
OK ATS0=0
OK ATE0V1
OK AT+CGDCONT=1,“IP”,“CMNET”
OK AT+CGEQREQ=1,2,128,384,0,
OK ATDT991#
CONNECT
保存之后,退出

(2)进入/etc/ppp/peers/目录:vi gprsdial 建立文件

内容如下:
#/etc/ppp/peers/gprsdial
# This is pppd script for China Mobile, used SIMCOM SIM7100 Module
# Usage: root>pppd call gprs
#Interface which be used is the interface which connects physics interface of SIM7100 Module.

/dev/ttyUSB3
115200
crtscts
modem
#noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user “cmnet”
0.0.0.0:0.0.0.0
#ipcp-accept-local
#ipcp-accept-remote
#lcp-echo-failure 12
#lcp-echo-interval 3
#noccp
#novj
#novjccomp
#persist
connect ‘/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat’
#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat
拨号的脚本成功完成!!!
*******

(6)进行拨号

超级终端输入:pppd calll gprsdial
现象:出现以下说明拨号成功(未全部列出)
这里写图片描述

查看模块运行状态:
我们使用:pppd call gprsdial & 将4G模块设置为后台运行,这样的话,有利于我们操作。
输入:ifconfig查看网络:

这里写图片描述

出现ppp0说明:4G模块确定拨号已经成功了。为了防止与本地的网络冲突,我将开发板上的网线拔掉!!


(7)测试

拨号之后进行测试,通过ping命令来看是否可以ping通IP和域名。

(1)a.ping IP:

出现 “ping: sendto: Network is unreachable”(内心崩溃。。。。。。。。)
解决方法:
[ping 不通ip解决] (http://www.cnblogs.com/embedded-linux/p/5258388.html)
测试是否ping通baidu的IP地址。如果ping不通,需要给本机加条路由,使用如下指令:
#route add default gw 10.212.18.13
注:10.212.18.13:运营商的ip地址,即下图黑色部分。完美解决!
这里写图片描述

查看IP信息:
这里写图片描述

(2)ping 域名:

此时可以ping通ip但是无法ping通域名。这需要设置/etc/resolv.conf来添加DNS解析服务器的地址。
解决:
在/etc/resolv.conf 中加入:下面两句,即可成功ping通域名
这里写图片描述
DNS出现在拨号信息的末尾:
这里写图片描述

成功ping通百度
这里写图片描述

至此,4G模块已经成功拨号。。。。。。。。。。。。。。。。。
若要开机自启动拨号:只需设置/etc/init.d/rcS 即可(参照网卡设置)


四、感悟

本人是新手,在移植的过程中遇到了很多的问题,多半是看了网上的文章,然后边学习边弄。如果有不准确的地方,还望大家勿喷,互相学习。从开始学习Linux驱动到现在,也有一段时间了,虽然还很菜,但至少不像开始一样蒙圈了。


五、感谢

在这个过程中,我主要参考了[在ARM Linux上实现4G模块PPP拨号上网] (http://www.linuxidc.com/Linux/2016-03/129581.htm)他的文章,还有一些相关3G模块的移植文章,再次感谢大家!!


http://www.ppmy.cn/news/115118.html

相关文章

突破转化率瓶颈:Temu拼多多资深卖家揭秘店铺转化率的提升策略

TEMU拼多多作为一家迅速崛起的社交电商平台&#xff0c;吸引了众多卖家的关注和参与。然而&#xff0c;在面对激烈的竞争时&#xff0c;如何提高店铺的转化率成为卖家们亟需解决的问题。在本文中&#xff0c;林哥作为一位Temu拼多多资深卖家&#xff0c;将与大家分享几个提高店…

MySQL — InnoDB引擎、MySQL架构、事务原理、MVCC

文章目录 InnoDB引擎一、逻辑存储架构二、架构2.1 内存结构2.1.1 Buffer Pool 缓冲池2.1.2 Change Buffer 更改缓冲区2.1.3 Log Buffer 日志缓冲区域2.1.4 Adaptive Hash Index 自适应hash索引 2.2 磁盘结构2.2.1 System Tablespace 系统表空间2.2.2 File-Per-Table Tablespace…

Linux nohup-后台挂起运行程序神器

一. 场景描述 天黑了&#xff0c;我得离开实验室去吃饭了。为了环保&#xff0c;我必须关闭电脑&#xff0c;减少不必要的浪费&#xff01;正常情况下当我关闭终端或电脑时&#xff0c;上面运行的任务代码即会自动停止&#xff0c;但我依旧希望保持代码的正常运行&#xff0c;此…

Kuberentes,k8s诞生简介

一、前言 什么是k8s&#xff1f; Kuberentes 是基于容器的集群管理平台&#xff0c;它的简称&#xff0c;是K8S。有人说之所以叫k8s&#xff0c;是因为k到s中间有8个字母&#xff0c;因此叫k8s&#xff0c;也有人说&#xff0c;在使用k8s的安装配置流程中&#xff0c;共分为8…

wd移动硬盘不能识别_wd移动硬盘读不出来怎么办

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 wd移动硬盘读不出来的原因及解决方法有&#xff1a; 1、首先检查一下是否是因为硬盘电源不足导致的&#xff0c;可以将硬盘插入其它usb接口试试&#xff0c;主要是因为很多电脑都有…

户外移动电源如何选择更安全?

户外移动电源可以满足&#xff1a;室内备电、户外活动、汽车自驾游、紧急救援等离网或停电的各种场景需求&#xff0c;保障了照明、小型家电、手机、相机、笔记本电脑、车载电器、汽车应急启动、医疗救急设备等设备的正常运行。选购时注意以下几点&#xff1a;户外移动电源容量…

安森美半导体的行业首款单芯片移动电源方案更智能且支持快充

随着移动设备越来越丰富的功能&#xff0c;耗电量却也显著增加&#xff0c;而消费者同时希望设备持续连接的生活方式和时尚轻薄的外形&#xff0c;电池续航力成为亟需解决的问题&#xff0c;更智能且支持快充的移动电源方案便应运而生。 移动电源&#xff0c;俗称充电宝&#x…

匠心工艺,颜值典范——魅族移动电源新品惊艳发布

10月21日&#xff0c;魅族科技在北京国家会议中心举行了新品发布会。现场发布了号召金属潮流民主化的魅蓝Metal以外&#xff0c;一直备受关注的新版魅族移动电源也完成了惊艳亮相。113天的潜心打造、匠心工艺的时尚外观&#xff0c;超强兼容的快充功能&#xff0c;给移动电源行…