NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号

  • 1. EC20模块连接
  • 2. Linux内核配置
  • 3. 交叉编译PPP
  • 4. 拨号脚本
  • 5. 进行拨号

1. EC20模块连接

在嵌入式Linux中,4G网络连接是一个较容易实现的功能,大多数的4G模块接口都是MiniPCIE接口,深入了解一下就会发现,4G模块的通信接口是USB,所以4G模块的驱动通常选择使用USB驱动,这种情况下,只要USB驱动正常,4G模块在硬件上就能正常通信。但是本文中不采用USB驱动,而是采用串口驱动,二者在传输速率上存在不同。
将NUC980主控板中芯片NUC980DK61Y的引脚和EC20 R2.1模块的RX TX 通过电平转换芯片进行连接,以及EC20的powerkey引脚。具体可参考EC20硬件设计手册。


2. Linux内核配置

源码目录,在linux终端输入命令make linux-menuconfig进行配置。

  1. 选中如下选项,进行串口复用。
    配置路径如下:
    Device Drivers —> Character devices —>
    <*> GSM MUX line discipline support(EXPERIMENTAL)

  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
    <
    > SLIP(serial line) support

  3. 保存退出,执行make,得到uImage文件,烧写到开发板。

3. 交叉编译PPP

将ppp-2.4.7压缩包复制到ubuntu下,解压。
ppp-2.4.7压缩包下载链接:https://pan.baidu.com/s/1dhyhfghJspcT0mfn1bH6ww
提取码:y5bs

  1. 生成Makefile文件:./configure --prefix=/…(指定文件夹)
  2. 编译
    必须使用与开发板一致的编译器,NUC980用的是arm-nuvoton-linux-uclibcgnueabi
  3. 安装:make install
  4. 将编译得到的部分可执行文件复制到ARM开发板上:
    按照上面的make好之后,在目录中找到如下的四个可执行文件:chat,pppd,pppdump,pppstats
    将四个文件复制到ARM开发板的/usr/sbin目录下。
  5. 按照如上步骤复制完成后可以使用pppd命令和chat命令。

4. 拨号脚本

在开发板中的/etc目录下新建一个ppp文件夹,此处采用Putty来进行交互。

  1. 从ppp-2.4.7相应目录中拷贝文件,建立如下目录结构:
    /etc/ppp/chap-secrets
    /etc/ppp/pap-secrets
    /etc/ppp/ip-up
    /etc/ppp/ip-down
    /etc/ppp/peers/
  2. 拨号脚本: /etc/ppp/peers目录下放置如下三个脚本
    a. 拨号上网脚本quectel-ppp(使用联通卡)
# /etc/ppp/peers/quectel-pppd
# Usage:root>pppd call quectel-pppd
#Modem path, like /dev/ttyS3,/dev/ttyACM0, depend on your module, default path is /dev/ttyS3
/dev/ttyS3 115200
#Insert the username and password for authentication, default user and password are test
user "test" password "test"
# The chat script, customize your APN in this file
connect 'chat -s -v -f /etc/ppp/peers/quectel-chat-connect'
# The close script
disconnect 'chat -s -v -f /etc/ppp/peers/quectel-chat-disconnect'
# Hide password in debug messages
hide-password
# The phone is not required to authenticate
noauth
# Debug info from pppd
debug
# If you want to use the HSDPA link as your gateway
defaultroute
# pppd must not propose any IP address to the peer
noipdefault
# No ppp compression
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local
# For sanity, keep a lock on the serial line
lock
modem
dump
nodetach
# Hardware flow control
nocrtscts
remotename 3gppp
ipparam 3gppp
ipcp-max-failure 30
# Ask the peer for up to 2 DNS server addresses
usepeerdns

b. chat脚本(quectel-chat-connect)

# /etc/ppp/peers/quectel-chat-connect
ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
TIMEOUT 30
"" AT
OK ATE0
OK ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2
# Insert the APN provided by your network operator, default apn is 3gnet
OK AT+CGDCONT=1,"IP","3gnet",,0,0
OK ATD*99#
CONNECT

c. 断开连接(quectel-chat-disconnect)

# /etc/ppp/peers/quectel-chat-disconnect
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
""  +++
""  +++
""  +++
SAY "\nGoodbay\n"

5. 进行拨号

  1. PUTTY终端输入命令pppd call quectel-ppp &,出现以下说明拨号成功(未全部列出)。
  2. 查看模块运行状态
    PUTTY终端输入ifconfig查看网络,如下出现ppp0说明4G模块确定拨号成功。
  3. 拨号成功后可将ppp0设置为静态路由。
    设置PPP0为默认路由:先删除原来路由,route del default ;再将ppp0设置为默认路由,route add default dev ppp0。

NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号相关推荐

  1. 基于全志A33开发板linux系统移植学习记录(Boot0)

    基于全志A33开发板linux系统移植学习记录 第一章 Boot0基于ARMGCC的编译与修改 文章目录 基于全志A33开发板linux系统移植学习记录 前言 一.全志A33简介以及上电引导流程 二. ...

  2. Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)

    Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...

  3. 迅为iTOP3399开发板QT系统PCIE 4G移植-编译程序

    配套资料在网盘资料"iTOP-3399 开发资料汇总(不含光盘资料)\10_iTOP-3399 开发板 Linux 系统开发 \PCIE 4G 模块测试.zip"目录下. 45.1 ...

  4. OK6410开发板linux系统下的SPI驱动和测试

    OK6410下的SPI驱动是可以用的,但是飞凌把它作为其它用途了,我们修改一些代码才能在/dev目录下创建SPI的设备节点文件 Step1:打开arch/arm/mach_s3c64XX/mach_m ...

  5. 迅为RK3399开发板Linux系统TFTP传输文件服务器测试

    本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存该文件,如下图 再启动另一个终端,然后输入 tftp 127.0.0.1,如下图. 输入 ...

  6. linux imx6 书籍,迅为iMX6开发板-Linux系统-TFTP使用文档

    TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实 现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大.不复杂的应用 ...

  7. linux开发板 wifi配置,iTOP-4412开发板Linux系统下使用wifi模块配置

    精英版在 linux 下使用 wifi,需要进行下面的配置: 首先用户在拿到光盘资料以后查看下光盘里面的"linux"->"root_xxxxxxxx.tar.gz ...

  8. 编译linux系统到开发板,Linux系统有关交叉编译和移植到6410开发板上的简单过程...

    在进行移植之前,要检查一下目标机(这里指6410开发板)与宿主机之间的接线问题,即串口线.网线是否正确连接,目标机的电源是否插好!在接线问题解决后,才能保证交叉编译正常进行! 个人理解,移植的主要思想 ...

  9. 玩转开发板--Linux系统移植至开发板fl2440实践过程

    一.开发板介绍     CPU:S3C2440(SAMSUNG).ARM920T.400MHz     Pone/mic:耳机和话筒 JTAG:可以通过外部插入直接控制CPU,因此在初始化内存时,起到 ...

最新文章

  1. python工程师面试题-朋友去面试Python工程师,又带回来几道基础题,Python面试题No10...
  2. 5、HTML块级元素及行内元素
  3. 正则表达式python实例_常见的python正则用法实例讲解
  4. 我的世界服务器显示英文,我的世界pixelmon服务器技能显示英文
  5. apache cxf java_Java-Apache CXF Web服务问题
  6. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)...
  7. Notepad++集成nasm编译器
  8. 使用truffle 创建代币合约 使用ganache部署私有链 以及使用Atom 进行合约代码开发
  9. NSA的各种***工具
  10. 如何在云端装mysql_如何在阿里云服务器上部署Mysql数据库?
  11. 使用Visio 2003 + Oracle 11g创建ERD,反向工程师失败了吗?
  12. FbinstTool万能启动超级简单教程
  13. PowerGUI错误-Microsoft SharePoint is not supported with version 4 of the Microsoft .Net Runtime
  14. 从VMware的vCenter中读取事件
  15. JEESZ分布式框架简介---技术介绍文档
  16. transact-sql的语法规则
  17. [转载]学习整理英文单词收藏
  18. 企业降低包装成本的13种简单方法(下篇)
  19. 商人过河c语言实验报告,商人过河C语言程序编程
  20. 被字句15个_小学语文必考知识:15类句式转换解题方法与练习(附答案)

热门文章

  1. java samphore 连接池_ADOConnection数据库连接池
  2. Java-toString
  3. 已知前序中序求层序 c语言递归,二叉树的遍历:前序,中序,后序,层序--包括递归和非递归实现...
  4. Ubuntu18.04 测试Azure Kinect DK 安装Azure Kinect传感器SDK
  5. Redis 6.0 新特性概览
  6. 两分钟搞定阿里SQL面试题:亿级表合并
  7. 99+好友共同关注,公众号推荐
  8. 运维工程师要失业了?抛开噱头与调侃,闲聊我心中的运维!
  9. 云图说|初识云数据库GaussDB(for Redis)
  10. 物联网打工人必备:LiteOS Studio图形化调测能力