From 64711122210cfbe23d930620defcaf9aeb89ff22 Mon Sep 17 00:00:00 2001 From: anheng <573219680@qq.com> Date: Sat, 06 Apr 2024 19:01:18 +0800 Subject: [PATCH] add 4G module --- RK3568开发文档v0.5.md | 292 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 278 insertions(+), 14 deletions(-) diff --git "a/RK3568\345\274\200\345\217\221\346\226\207\346\241\243v0.5.md" "b/RK3568\345\274\200\345\217\221\346\226\207\346\241\243v0.5.md" index 9c7e4e2..b386dea 100644 --- "a/RK3568\345\274\200\345\217\221\346\226\207\346\241\243v0.5.md" +++ "b/RK3568\345\274\200\345\217\221\346\226\207\346\241\243v0.5.md" @@ -395,7 +395,7 @@ 原理图 - + DTS文件修改(如果有) @@ -447,7 +447,7 @@ 原理图及分析 - + @@ -990,29 +990,293 @@ 原理图及分析 + - -DTS文件修改(如果有) +内核配置 ``` -TBD +Device Drivers -> + [*] Network device support -> + <*> PPP (point-to-point protocol) support -> + <*> PPP BSD-Compress compression -> + <*> PPP Deflate compression + [*] PPP filtering + <*> PPP MPPE compression (encryption) + [*] PPP multilink support + <*> PPP over Ethernet + <*> PPP support for async serial ports + <*> PPP support for sync tty ports ``` - -内核make menuconfig配置(如果有) - -``` -xxxx -> - xxxx -> - xxxx -> -``` ### 3.10.2 应用程序测试 +#### 模块开关机 + +**开机方式** + +首先操作GPIO,给4G模块上电 + +**(注意:开关机按键,复位按键,在开发板上是MPU的GPIO出来后,硬件做了反向的。低电平,上电 低脉冲,复位)** + +输入如下命令 + +``` +gpioset 3 0=0 +gpioset 3 1=0 +``` + +将这两个引脚拉低后,模块上电如下所示 + + + +**关机方式** + +1. 软件方式关机 + + 先发送AT+QPOWD命令给模块,再拉高引脚 + + + + ``` + microcom /dev/ttyUSB3 -s 115200 + AT+QPOWD + + gpioset 3 1=1 + ``` + + **(注意:在发送AT命令后需要在几秒内拉高gpio引脚,否则模块会再次开启)** + +  + +2. 硬件方式关机 + + 先拉低RESET大于100ms后,拉低电源引脚Power_on + 硬件关机时序如下图所示: + +  + +当4G模块上电后,可以在dev目录下看到四个ttyUSB设备 + + + +我们可以使用microcom命令对串口发送AT命令 + +```c +microcom /dev/ttyUSB3 -s 115200 +``` + + + +检测手机卡是否在位 + +AT+CPIN? + + + +网络运行商名称 + +AT+COPS? + + + +CHN-CT 表示中国电信 + +网络注册状态 + +AT+CREG? + + + +第二个参数为0 表示没有注册网络,为1表示网络已注册 -TBD +信号强度 + +AT+CSQ + + + +数值越大表明信号质量越好; + + + +#### PPP拨号方式 + +内核配置好后,编译生成新的镜像烧录到开发板中 + +启动系统时,会看到如下信息 + + + +接下来需要使用到pppd软件,需要通过 pppd 这个软件来实现 ppp 拨号上网 。 + +下载网址:[Index of /pub/ppp (samba.org)](https://download.samba.org/pub/ppp/) + +下载好后交叉编译,在make install的时候可能会报下面这种类型的错误 + +``` +strip: Unable to recognise the format of the input file 'xxxxxxx' +``` + +解决方法:[ppp-2.4.5移植(交叉编译)_ppp交叉编译-CSDN博客](https://blog.csdn.net/y7u8t6/article/details/101376011) + + + +编译生成好的四个可执行文件:chat pppd pppdump pppstats 将这四个文件拷贝到开发板的/bin文件夹下 + +输入`pppd -v`如下图所示,表示移植成功。 + + + +ppp拨号方式需要编写三个脚本文件存放在/etc/ppp/peer下 + +默认是没有这些文件夹的,所以需要去创建ppp和peer文件夹,创建好后在peer下创建如下三个脚本文件 + +**rasppp.sh** + +```shell +#!/bin/sh +hide-password + +noauth + +connect '/bin/chat -s -v -f /etc/ppp/peers/rasppp-chat-connect' + +disconnect '/bin/chat -s -v -f /etc/ppp/peers/rasppp-chat-disconnect' + +debug + +/dev/ttyUSB3 + +115200 + +defaultroute + +noipdefault + +novj +novjccomp +noccp +ipcp-accept-local +ipcp-accept-remote +local + +lock +dump + +nodetach +#这里我用的是电信卡 +user card +password card + +#如果是移动或者联通的卡将上面两行改为 +#user Anyname +#password Anypassword + +crtscts +remotename 3gppp +ipparam 3gppp + +usepeerdns + +``` + + + +**rasppp-chat-connect.sh** + +```shell +TIMEOUT 15 +ABORT "BUSY" +ABORT "ERROR" +ABORT "NO ANSWER" +ABORT "NO CARRTER" +ABORT "NO DIALTONE" + +""AT +OK \rATZ + +OK \rAT+CGDCONT=1,"IP","" + +OK-AT-OK ATDT#777 +CONNECT \d\c +``` + + + +**rasppp-chat-disconnect.sh** + + ```shell + ABORT "ERROR" + ABORT "NO DIALTONE" + SAY "\NSending break to the modem\n" + + ""\k" + + ""+++ATH" + SAY "\nGood bye !\n" + ``` + + + +添加完以上三个脚本文件后,现在可以使用 `ppp` 尝试拨号 + +``` +pppd call rasppp & #后台进行拨号 +``` + +如果拨号正常如下图所示 + + + +从程序的输出中我们可以获得以下信息: + +本机IP 10.86.31.158 +主要 DNS 服务器:202.103.24.68 +次要 DNS 服务器: 202.103.44.150 + + + +当我们使用`ifconfig`查看网络信息会发现一个ppp0的网络 + + + +此时我们需要通过上面获得的网络信息来配置这个ppp0网络 + +``` +sudo ip route add default via 10.86.31.158 +echo "nameserver 202.103.24.68" | tee -a /etc/resolv.conf +echo "nameserver 202.103.44.150" | tee -a /etc/resolv.conf +``` + +配置好之后我们就可以上网了,可以ping百度来测试 + + + +#### ECM模式拨号上网 + +上面的ppp模式拨号较为繁琐,需要大量的步骤依赖pppd软件,并且ppp拨号的稳定性不强,所以接下来介绍ECM模式,只需要AT命令就可以拨号上网 + +当我们上电4G模块之后,我们发送如下AT命令切换模块的工作模式为ECM + +``` +microcom /dev/ttyUSB3 -s 115200 +AT+QCFG="usbnet",1 +``` + +发送AT命令后,模块会自动重启,如下图所示 + + + +我们在`ifconfig`查看网络时候,可以看到多了一个usb0网络,并且自动获取IP地址 + + + +同样,我们可以ping百度测试上网功能 + + -- Gitblit v1.9.1