IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> NUC980开发板Linux系统EC20模块 移植 PPP拨号 -> 正文阅读

[嵌入式]NUC980开发板Linux系统EC20模块 移植 PPP拨号

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。
    在这里插入图片描述
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:56:09  更:2021-09-09 11:56:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:34:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码