当前位置:网站首页>Quectel EC20 4G module dial related
Quectel EC20 4G module dial related
2022-08-09 06:32:00 【qq_36412526】
1.ec20dial method
The following is an excerpt from Quectel's documentation:
有2method to startppp拨号
方式1: 拷贝 quectel-chat-connect quectel-chat-disconnect quectel-ppp 到 /etc/ppp/peers 目录下.
并在 quectel-ppp Modify your serial device name here,pppd used for dialing username,password.
在 quectel-chat-connect to modify yours APN.APN/username/password is obtained from your network provider.
然后使用下面的命令启动 ppp 拨号, 命令最后的 & 可以让 pppd 后台运行
pppd call quectel-ppp &
方式2:使用quectel-pppd.sh 拨号,命令形式如下:
./quectel-pppd.sh 串口设备名(比如/dev/ttyUSB3) APN username password
ip-up:pppd 在获取 ip 和 dns 之后,This script file is automatically called to set up the system DNS
Embedded systems generally need to copy this file to /etc/ppp 目录下.
Make sure the file has executable permissions on your system.
quectel-ppp-kill Used to hang up dialing,pppdMust be hung up normally,Otherwise it may cause you next timeppp拨号失败.
Use the following method to call this script
./quectel-ppp-kill
2.ec20模块ppp拨号流程
3.Dial was successful but notping通外网
The dialing was successful but not connectedppp0设置为静态路由.设置PPP0为默认路由:Delete the original route first,route del default 再将ppp0设置为默认路由,route add default dev ppp0
为了实现自动设置ppp0为默认路由,我的方法是在/etc/ppp/ip-up脚本里添加
[email protected]:/etc/ppp# cat ip-up
#!/bin/sh
if [ -f /etc/ppp/resolv.conf ]; then
cp /etc/ppp/resolv.conf /etc/resolv.conf
elif [ -f /var/run/ppp/resolv.conf ]; then
cp /var/run/ppp/resolv.conf /etc/resolv.conf
else
echo nameserver $DNS1 > /etc/resolv.conf
echo nameserver $DNS2 >> /etc/resolv.conf
fi
route del default #Delete the original route
route add default dev ppp0 #设置ppp0为默认路由
Check routing information after dialing is successful:
n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
10.5.112.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
可见,ppp0The routing information has been added successfully,这时候再ping www.baidu.com,成功
64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=14 ttl=54 time=33.2 ms
64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=15 ttl=54 time=41.2 ms
4.关于ip-up和ip-up.d的说明
1. /etc/ppp/ip-up 由 ppp 套件 提供
1-1. sudo dpkg -S /etc/ppp/ip-up
ppp: /etc/ppp/ip-up
2. /etc/ppp/ip-up.d 可以由
ppp, resolvconf, pppconfig, pppoeconf, gogoc
Either kit is available
2-1. sudo dpkg -S /etc/ppp/ip-up.d
ppp, resolvconf, pppconfig, pppoeconf, gogoc: /etc/ppp/ip-up.d
3. /etc/ppp/ip-up 是 檔案; /etc/ppp/ip-up.d 是 目錄
3-1. sudo ls -Al /etc/ppp | grep ip-up
-rwxr-xr-x 1 root root 1892 2月 4 2011 ip-up
drwxr-xr-x 2 root root 4096 7月 24 12:53 ip-up.d
3-2. sudo ls -Al /etc/ppp/ip-up.d
-rwxr-xr-x 1 root root 902 2月 4 2011 0000usepeerdns
-rwxr-xr-x 1 root root 553 6月 4 2015 000resolvconf
-rwxr-xr-x 1 root root 4022 10月 24 2015 0dns-up
-rwxr-xr-x 1 root root 148 3月 30 2010 gogoc
4. 都是 可執行 script file
4-1. sudo cat /etc/ppp/ip-up
#!/bin/sh
以下省略
4-2. sudo cat /etc/ppp/ip-up.d/0000usepeerdns
#!/bin/sh -e
以下省略
5.关闭ppp0The default route of Ethernet is restored after connection,Otherwise, Ethernet will not work(???)
My solution to this problem is in ip-downadded to the scriptservice networking restart
修改后的ip-down脚本如下
[email protected]:/etc/ppp# cat ip-down
#!/bin/sh
#
# This script is run by the pppd _after_ the link is brought down.
# It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete
# routes, unset IP addresses etc. you should create script(s) there.
#
# Be aware that other packages may include /etc/ppp/ip-down.d scripts (named
# after that package), so choose local script names with that in mind.
#
# This script is called with the following arguments:
# Arg Name Example
# $1 Interface name ppp0
# $2 The tty ttyS1
# $3 The link speed 38400
# $4 Local IP number 12.34.56.78
# $5 Peer IP number 12.34.56.99
# $6 Optional ``ipparam'' value foo
# The environment is cleared before executing this script
# so the path must be reset
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
# These variables are for the use of the scripts run by run-parts
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
# as an additional convenience, $PPP_TTYNAME is set to the tty name,
# stripped of /dev/ (if present) for easier matching.
PPP_TTYNAME=`/usr/bin/basename "$2"`
export PPP_TTYNAME
# If /var/log/ppp-ipupdown.log exists use it for logging.
if [ -e /var/log/ppp-ipupdown.log ]; then
exec >> /var/log/ppp-ipupdown.log 2>&1
echo $0 [email protected]
echo
fi
# This script can be used to override the .d files supplied by other packages.
if [ -x /etc/ppp/ip-down.local ]; then
exec /etc/ppp/ip-down.local "[email protected]"
fi
run-parts /etc/ppp/ip-down.d \
--arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"
service networking restart
Check the routing information as follows:
[email protected]:/etc/ppp# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.5.112.254 0.0.0.0 UG 0 0 0 eth0
10.5.112.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
It can be seen that it has been restoredeth0的默认路由
边栏推荐
- 【Feel】In the Unity Feel plugin, Camera cannot display CameraShake correctly
- C language implements sequential stack and chain queue
- Ferric oxide/bismuth sulfide nanocomposites ([email protected]@BSABiS nanoparticles) | dendrimer-stabilized bismuth sulfide nanop
- Can Jincang Database Set Transaction Automatic Commit?
- 报错:flask: TypeError: ‘function‘ object is not iterable
- el-table缓存数据
- 中英文说明书丨TRC 交替醇(Catalogue NumberA575760)
- IQ Products CMV Brite Turbo试剂盒的原理
- SIGINT,SIGKILL,SIGTERM信号区别,各类信号总结
- Service
猜你喜欢
Use baidu EasyDL intelligent bin
中英文说明书丨CalBioreagents 醛固酮单克隆抗体
[MySQL] Second, the relationship between processes, MySQL password cracking, table building and database building related commands
工控设备的系统如何进行加固
IQ Products巨细胞病毒CMV感染检测试剂盒的特征和应用
The solution that does not work and does not take effect after VScode installs ESlint
GNNExplainer applied to node classification task
字节跳动面试题之镜像二叉树2020
Output method of list string print(*a) print(““.join(str(c) for c in a) )
带头双向循环链表的增删查改(C语言实现)
随机推荐
如何操作数据库
Unity五子棋游戏设计 和简单AI实现(1)
中英文说明书丨TRC D-阿卓糖(D-Altrose)
Xilinx Zynq ZynqMP DNA
String.toLowerCase(Locale.ROOT)
普罗米修斯原理及节点发布
shardingsphere数据分片配置项说明和示例
线程的6种状态
golang zip aes base64
代码目录结构
Common Oracle Commands
简单使用Lambda表达式
详解C语言中的wait()函数和waitpid()函数
.NET高级技术
Output method of list string print(*a) print(““.join(str(c) for c in a) )
带头双向循环链表的增删查改(C语言实现)
The singleton pattern
Go lang1.18入门精炼教程——第一章:环境搭建
6 states of a thread
io.lettuce.core。RedisCommandTimeoutException命令超时