千家信息网

嵌入式Linux系列如何使用4G模块

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,嵌入式Linux系列如何使用4G模块,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1引言随着移动通信技术的快速发展,由几年前的2G模块,
千家信息网最后更新 2024年11月11日嵌入式Linux系列如何使用4G模块

嵌入式Linux系列如何使用4G模块,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1

引言

随着移动通信技术的快速发展,由几年前的2G模块,到现在广泛使用的4G模块,5G虽然很火热,但是5G模组还不是很成熟,另外据说专家们已经在研究6G了,移动通信真是发展迅速啊。随着它们速率的不断提供,模块的接口形式也在不断的变化,2G模块只要串口就可以了,4G模块一般用的USB接口,当然串口也可以,只不过速率慢些。由于4G模块的驱动较为复杂,所以如果是USB接口,在普通MCU上做就会比较困难,这时Linux系统的优势就体现出来了,Linux由于其完备的驱动支持,在上面做4G就会容易很多。

2

环境介绍

2.1. 硬件
1) 网上的一个第三方做的NUC972开发板:
有兴趣购买的朋友,可以去他们的淘宝店购买:
https://s.click.taobao.com/X8mza8w
2) 移远的EC20模组,移远这几年模块做的风生水起,前不久还上市了。
2.2. 软件
1) Uboot继续使用之前文章用的,无需改动。
2) Kernel在上一篇基础上,要做一定的修改。
3) Rootfs在上一篇用Buildroot生成的基础上,要做一定的修改。

3

内核配置

• 进入内核目录driver/usb/serial/ 下修改 option.c 文件,添加设备的VID 和 PID: VID 为0x2c7c;PID 为0x0125
• 内核配置

4

Buildroot配置

• pppd配置,用来生成pppd、pppdump等相关指令
这里遇到一个问题,卡住了好久,勾选上pppd之后编译报错,提示utmp.h头文件找不到,后来咨询了前同事远程协助才解决掉,需要做如下修改才可以。
看来还是得研究研究buildroot的编译原理才行,不然遇到问题真心不知道该如何解决。

5

测试

将上述修改后的内核和文件系统下载到板子里启动后,
插上USB 接口的EC20,开机后(EC20模块上有一个控制开机的GPIO)提示以下信息,生成ttyUSBx(x为0到4)。
我们使用lsusb指令,可以看到对应上述PID和VID的USB设备。
这一步是调试4G模块的最关键一步,这一步成功调试工作就完成了一大半以上。其实只要完成第3节内核配置后,就可以实现上述现象了。
之后我们可以通过串口发送一些AT命令来检测模块的一些状态
microcom -s 115200 /dev/ttyUSB2
AT用来检测 Module 与串口是否连通,
命令格式:AT
命令返回:OK (与串口通信正常)
(无返回,与串口通信未连通)
AT+CPIN? (查看SIM卡的状态)回车,
返回:+CPIN:READY OK(正常)。
+CPIN:ERROR (表示 SIM卡失败或没有插入 SIM卡)
AT+CSQ是用来检测信号质量,确定是否可以登陆上网络;
命令返回:+CSQ: **,##
其中**应在10到31之间,数值越大表明信号质量越好,##应为99。
否则应检查天线或SIM卡是否正确安装
然后拷贝 quectel-chat-connect quectel-chat-disconnect quectel-ppp 到 /etc/ppp/peers 目录(需要用mkdir 新建这个目录)下。
然后使用下面的命令启动 ppp 拨号, 命令最后的 & 可以让 pppd 后台运行
pppd call quectel-ppp &
之后就可以ping 通外网了。

看完上述内容,你们掌握嵌入式Linux系列如何使用4G模块的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0