第四节 树莓派EC20之QMI_WWAN拨号

1. 准备工作

  • 上一节讲了ec20的ppp拨号方式,那么在开始本节之前,需要关闭ec20的其他拨号方式。
  • 查看qmi_wwan的驱动
// 使用下面指令
lsmod

出现如下图所示,说明内核已加载驱动
在这里插入图片描述

2. 移植拨号工具

  • 拨号工具我已经上传资源qmi_wwan拨号工具
  • 下载后在windows下解压出文件夹 quectel-CM,可以看见里面很多文件,需要放在Linux系统下编译
  • 在树莓派下 /home/pi/ 路径(一般就是开机默认路径)下创建文件夹名为 ec20,名字可以随意
// 创建文件夹
mkdir ec20

创建完成如下图
在这里插入图片描述
将拨号工具文件夹传到树莓派下面,我们通过终端工具的 SFTP方式,如下图,双击打开 ec20 文件
在这里插入图片描述
将工具文件拖拽,传输到树莓派
在这里插入图片描述

// 此时再通过指令查看,树莓下的文件
cd ec20/
ls

此时可以看见 quectel-CM文件夹,进入quectel-CM文件夹查看
cd quectel-CM/
ls

传输完成后如下图
在这里插入图片描述

// 开始编译拨号工具
sudo make

编译完成后如下图,通过指令 ls查看
在这里插入图片描述
可以发现多了几个文件,绿色的,其中 quectel-CM 就是我们要用的拨号工具,到此拨号工具已经移植完成。

3. 拨号上网

// 开始拨号
sudo ./quectel-CM 

如果拨号顺利会出现如下图所示,表示拨号成功,第一次可能拨号失败,等待第二次,应该会成功。
在这里插入图片描述

// 和上一节一样,此时在拨号进程无法进行其他操作,我们选择后台拨号

ctrl + c结束当前拨号经常

//将拨号置于后台
sudo ./quectel-CM&  //后面多加一个& 

注意:拨号时要在当前quectel-CM文件夹下,如果在其他文件加下加路径即可。
sudo ./home/pi/ec20/quectel-CM/quectel-CM&
此时拨号已经完成,我们查看以下网卡信息
ifconfig

在这里插入图片描述
发现wwan0网卡已经分配了地址,那我们再去查看一下路由列表

route -n

在这里插入图片描述

我们看见拨号工具已经自动添加了默认路由,那么此时已经可以使用ec20上网了,我们通过下面指令可以测试
sudo apt update //更新指令
ping baidu.com  //ping指令

发现操作上面两条指令,ec20网络指示灯都闪烁频率加快,说明有数据交换了

注意:不管ppp0拨号还是qmi_wwan0拨号。设备重启后、4g模块重启、sim卡热插拔、sim卡断网续费,都需要重新拨号操作,重新拨号前,需要关闭之前拨号进程

// 针对拨号工具,杀进程的一些操作
ps -A //可以查看所有进程

//ppp0或qmi_wwwan杀进程
sudo kill -9 ppp0进程id/qmi_wwan进程id   //发现通过这样操作,是无法杀掉拨号进程

原因是其存在父进程,需要先杀掉其父进程,在杀掉子进程,我们通过下面指令查看
ps -a //小写a

发现如下图所示的情况,其实sudo就是其父进程,我们只需要通过 kill  -9 sudo前面的进程id就能关闭该进程

sudo kill -9 61612  //杀父进程

sudo kill -9 61613 //杀子进程

还有一种比较激进的方式
sudo pkill sudo //一次性就解决所有,就是杀掉所有sudo的进程,可能会波及无辜

在这里插入图片描述
至此qmi_wwan的拨号步骤已经讲解完毕,和上节一样,重启设备就会重置,对于生产环境是不合适的,因此我们需要编写脚本进行,自动检测,拨号等来解决这些问题,后面我会讲解两种拨号方式的自动连接脚本。

4.拨号中可能存在的问题(如果没出现问题就不需要看了)

1.之前拨号工具是在网上找的,不知道是那个版本,出现了很多问题,后面找移远的官方要了一份最新的拨号工具才解决。
2.如果你是用上面我发的资源,应该不会遇到什么问题,如果你用树莓派其他的linux系统或者其他拨号版本版本可能会出现下面的问题
  • 提示缺少 udhcpc,这个是集成在busybox下的一款工具
// 下载安装即可
sudo apt install udhcpc
  • 提示没有找到 /usr/share/udhcpc/default.script 文件
这是拨号用的脚本文件,其实有两个地方有这个文件
1.如果你系统中安装了udhcpc,那么在目录 /etc/udhcpc/下面可以看到这个文件。
2.我们移植的quectel-CM文件夹下面已经存在这个文件,在目录/home/pi/ec20/quectel-CM/下。

同样的,解决方式也有两种
1.修改拨号工具下的udhcpc.c文件

// 进入拨号工具的文件下,打开udhcpc.c文件
sudo vim udhcpc.c

找到下面的内容,如果你的拨号工具版本和我不一样,那么会有一点差异,我这里是两个路径都包含了,若你的路径只有一条是 “/usr/share/udhcpc/default.script”,那么修改为 “/etc/udhcpc/default.script” 即可

在这里插入图片描述
修改完工具后,先清理,再编译,再拨号

//在拨号工具文件夹下执行
sudo clean  //先清理之前的编译

sudo make //再编译

sudo ./quectel-CM& //拨号

通过上面步骤应该可以成功拨号了,还有问题可以评论区见。

  1. 移植文件default.script
根据上面的 udhcpc.c里的文件路径,我们去查看一下

在 “/usr/share/udhcpc/default.script” 发现 “/usr/share/” 下根本没有 udhcpc文件夹,

也不存在default.script 脚本文件
// 既然没有我们就创建
1.先进入/usr/share/
  cd /usr/share/
  
2.创建udhcpc文件夹
  sudo mkdir udhcpc
  
3.修改udhcpc权限,这个必须的不然拨号会提示没有权限
  sudo chmod 777 udhcpc
  
4.将拨号工具下的 default.script 拷贝到改文件夹下
  sudo cp /home/pi/ec20/quectel-CM/default.script  /usr/share/udhcpc/
//在拨号工具文件夹下执行
sudo clean  //先清理之前的编译

sudo make //再编译

sudo ./quectel-CM& //拨号

按照上面的应该就可以拨号成功了,还有问题可以评论区见。

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦A不做梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值