树莓派5搭载EC200A-CN 4G模块(利用 chat脚本进行PPP拨号上网)

一、开启树莓派的串口服务

树莓派开启串口通信,需要在主菜单中找到首选项,并打开Raspberry Pi Configuration,然后在新窗口单击Interfaces,最后找到Serial Port选项,勾选Enable,启用串口。

二、检测模块是否正常

(1)在终端输入 lsusb,将出现我们的设备信息(如图第二行)
(2)添加VID和PID信息(注意双引号中的要与lsusb输出显示的你的设备的ID相同)
sudo modprobe option
sudo sh -c 'echo "2c7c 6005" > /sys/bus/usb-serial/drivers/option1/new_id'
(3)检查串口。输入ls /dev |grep ttyUSB
ls /dev |grep ttyUSB

输入这串代码我们就会看到如下情况,途中显示的三个串口都是ec20的串口,但是具有不同的功能,不同型号的ec20的串口数量也会不同。这里我只会用到串口1也就是ttyUSB1。

三、串口通信检测

在终端输入 busybox microcom -s 115200 /dev/ttyUSB1 使用at指令检测模块和通信是否正常。

busybox microcom -s 115200 /dev/ttyUSB1

然后就可以输入at指令了(输入的时候是没有回显的)分别输入at和at+csq

在显示的第二数据中的31表示信号值通常在10到31之间,数字越大信号越好

ps:在这一步操作中可能会遇到一两个报错的问题

其中第一种报错为 microcom: can't open '/dev/ttyUSB1': Device or resource busy 遇到这种报错说明我们的串口进程正在被占用我们需要手动清除

第二种报错为microcom: can't create '/var/lock/LCK..ttyUSB1': File exists。这种错我们需要手动删除ttyUSB1的锁文件

四、拨号上网流程

(1)下载pppd

sudo apt-get install ppp

(2)在安装好pppd后我们就可以开始进行我们的脚本书写,切换目录至 /etc/ppp/peers ,没有这个目录就自行创建,因为是在/etc目录之下,需要使用sudo或者进入root模式才能创建或者编辑,创建好之后,来到peers/下,编写我们的第一个初始化属性脚本(不同运营商的电话卡脚本参数不同,本人是电信电话卡,文末给出一些相关参数。

rasppp

# /etc/ppp/peers/rasppp

# Usage: sudo pppd call rasppp

# 连接调试时隐藏密码
hide-password

# 该手机不需要身份验证4
noauth

# 用于呼叫控制脚本
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/rasppp-chat-connect'

# 断开连接脚本
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/rasppp-chat-disconnect'

# 调试信息
debug

# 4G模块
/dev/ttyUSB2

# 串口波特率
115200

# 使用默认路由
defaultroute

# 不指定默认IP
noipdefault

# 不使用PPP压缩
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local

# 最好锁定串行总线
lock
dump

# 保持pppd连接到终端
nodetach

# 用户名 密码
# user
user ctnet@mycdma.cn
# password
password vnet.mobi
#移动,联通拨号不需要用户名密码,文末给出不同运营商的配置

# 硬件控制流
crtscts
remotename 3gppp
ipparam 3gppp

# 请求最多两个DNS服务器地址
usepeerdns

#ipv6禁用
noipv6

 rasppp-chat-connect

# 连续15秒,收到以下字符,则退出执行
TIMEOUT 15
ABORT   "BUSY"
ABORT   "ERROR"
ABORT   "NO ANSWER"
ABORT   "NO CARRTER"
ABORT   "NO DIALTONE"

# 40秒内没有收到指定字符,则退出
# 例如 OK \rATZ,发送ATZ,希望收到的是OK
""AT
OK \rATZ

# 建立连接,联通为3gnet,文末给出各运营商配置
OK \rAT+CGDCONT=1,"IP","ctlte"

# 拨号,*99#是联通的拨号号码
OK-AT-OK ATDT#777
CONNECT \d\c

 rasppp-chat-disconnect

ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\NSending break to the modem\n"
""\k"
""+++ATH"
SAY "\nGood bye !\n"

五、开始拨号 

(1) 编写好脚本后我们就可以开始拨号了

sudo pppd call rasppp

 

 (2)bur,你有可能会遇到一些报错,除一些参数配置错误之外,可能会遇到timeout set to 30 seconds abort on (BUSY) expect (^M) alarm Failed Script /usr/sbin/chat -s -v -f /etc/ppp/peers/rasppp-chat-connect finished (pid 3586), status = 0x3 Connect script failed

如果代码一致遇到这种报错很可能是因为win与liunx字符转换有关win中的换行符liunx会被识别为结束符以至于chat脚本乱发指令,遇到这种情况我们需要手动清除三个脚本文件中的win换行符

解决方法:使用sed命令删除win的换行符

sudo sed -i 's/\r//g' /etc/ppp/peers/rasppp-chat-disconnect
sudo sed -i 's/\r//g' /etc/ppp/peers/rasppp-chat-connect
sudo sed -i 's/\r//g' /etc/ppp/peers/rasppp

(3)拨号成功以后我们需要按ctrl+z或者新开一个终端来保证进程。使用ifconfig命令;我们会发现出现了ppp0网卡

 

(4)使用ping命令来进行验证是否可上网

ping -I ppp0 4.2.2.2

有数据交互,说明ping通成功。ppp拨号上网成功

六、补充

学习是一件很纯粹的事情 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值