1.引言
随着移动通信技术的飞速发展,从几年前的2G模块到现在广泛使用的4G模块,5G很热,但是5G模块还不成熟。 另外据说专家们已经在研究6G了。 移动通信发展得真快啊。 随着它们速度的提供,模块的接口形式也在不断变化。 2G模块只需要串行端口。 4G模块一般使用的USB接口,当然串行端口也可以,但速度很慢。 4G模块的驱动很复杂,因此如果是USB接口,则很难用通常的MCU进行。 这时,Linux系统的优越性显露出来,Linux由于其完全的驱动支持,在此基础上进行4G变得容易了。
2.环境介绍
2.1.硬件
1(NUC972开发板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命令来检测模块的状态
微软com-s 115200/dev/tty USB 2
AT是用于检测模块和串行端口是否连接的,
命令格式: ATCR
命令返回: OK (与串行端口的通信正常) ) ) ) ) )。
(无返回、串行通信未连接)
AT CPIN? [查看SIM卡的状态]回到车上,
返回: cpin :就绪(正常)。
cpin :错误(表示sim卡失败或没有插入sim卡) ) )。
AT CSQ用于检测信号的质量,判断是否可以登录网络;
指令返回: CSQ: **,##
其中,**必须在10-31之间,数值越大表示信号质量越好,##必须为99。
请确认天线或SIM卡是否正确安装
然后,在/etc/ppp/peers目录(需要在mkdir中新建一个que ctel-chat-connectquectel-chat-disconnectquectel-PPP
然后,可以使用以下命令启动ppp拨号,最后一个命令在后台运行pppd
PPD呼叫Que Ctel-PPP
之后,可以ping网络。
TopSemic提高了芯片的易用性