4G模块适配与调试

article/2025/9/19 11:52:12

笔记目录

  • RK平台4G模块适配
    • 1、识别VID、PID
    • 2、添加VID\PID到android的option驱动中
    • 3、插上sim卡,4G模块一定要接上天线
    • 4、根据安卓系统和安卓版本发给模块厂要求其提供ril库
    • 5、预置ril库
    • 6、在framework中添加根据pid和vid关联ril库的代码
    • 7、可以通过一下命令查看ril库添加是否正确
    • 8、ifconfig查看当前模块是否已经获得Ip
    • 9、最后抓log看模块或在模块下ping百度来测试是否适配成功
    • 如果以上基本适配操作完成后还没有能够通网可以尝试以下调试步骤配合模块厂进行调试
    • 10、查询当前模块能够接收的网络类型
    • 11、源码修改Android默认4G优先(未验证,以后有人验了回来把这条改改)
    • 12、APN配置
    • 13、确认哪一个ttyUSB为AT口
    • 14、ttyUSB*出现无限死循环乱码问题(与AT指令一起用)
    • 15、AT指令查询模块状态
    • 16、相关ATlog和说明(基于Fx650)
    • 17、SIM卡欠费、绑卡、锁卡问题导致没有ip地址

RK平台4G模块适配

需要:sim卡(要加上卡套并且金属片一方要贴紧金手指)、一个4G模块、天线

注意:由于网络存在优先级,调试的时候记得下wifi和以太网。默认优先级:Eth > Wifi > mobile。

1、识别VID、PID

将4G模块插入到板子上,记得插稳。开启adb或串口调试。因为4G模块是USB接口,所以可以输入命令查看pid和vid号:

//串口下
lsusb
//adb下
busybox lsusb 或 lsusb
ID: VID/PID
Bus 001 Device 006: ID 2c7c:0125

2、添加VID\PID到android的option驱动中

//海思的option.c在source里
device/hisilicon/bigfish/sdk/source/kernel/linux-4.9.y/drivers/usb/serial/option.c

添加时记得检查一下添加的VID/PID是否已经添加过了,因为很多厂家把同一个4G模块换个皮就卖出去了。如果有重复的就不用添加了。

重新编译刷机后在板子下是否生成设备节点

3、插上sim卡,4G模块一定要接上天线

4、根据安卓系统和安卓版本发给模块厂要求其提供ril库

5、预置ril库

6、在framework中添加根据pid和vid关联ril库的代码


这样USB串口就算集成了

7、可以通过一下命令查看ril库添加是否正确

getprop |grep ril

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Aq8FSm6-1680437999535)(D:\MarkdownNote\图库\4G模块适配7.png)]

8、ifconfig查看当前模块是否已经获得Ip

一般网口为USB0

9、最后抓log看模块或在模块下ping百度来测试是否适配成功

ping不通 www.baidu.com的可以试试m.baidu.com,两个都是百度的dns

//只抓ril日志(一般只抓这种即可,一开机马上抓,抓久一点)
adb logcat -b radio -v time > d:\radio.log
//ril+系统日志(一开机马上抓,抓久一点)
adb logcat -b main -b system -b radio > all.txt
adb logcat -b all > ./ril.txt

如果以上基本适配操作完成后还没有能够通网可以尝试以下调试步骤配合模块厂进行调试

10、查询当前模块能够接收的网络类型

在上面抓到的三种日志搜索一下

logcat |grep networktype

11、源码修改Android默认4G优先(未验证,以后有人验了回来把这条改改)

根据9搜素能够当前默认接收网络类型,若networktype不等于9 或者其他功能更适当的值(Android10 为:26),则默认不是请求的 4G 或者 5G 网络,需要修改 Android 源码,配置默认为 4G 优先。

a.Android 设置添加网络模式设置菜单

部分客户 android 网络模式设置菜单只有 3G 和 2G 两个菜单项,没有 4G 的。

打开 android 源码 packages/services/Telephony/res/values/config.xml,将其中 config_enabled_lte 的值改为 true。这样设置菜单中就会有 4G 或者5G 选项出现。

b.修改 android 默认网络模式为 4G:打开 android 源码

frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java 将其中的变量 PREFERRED_NETWORK_MODE 修改为

4G:NETWORK_MODE_LTE_GSM_WCDMA (有部分系统没有枚举5G 网络选项,这部分系统用5G 模块时请用该选项)

5G:NETWORK_MODE_NR_LTE_GSM_WCDMA(android10及以上)。

**c.**网络设置模式设置的 java 源码:

packages/services/Telephony/src/com/android/phone/MobileNetworkSettings.java 客户如果通过 a, b 步骤仍然有问题的,可以去分析这个代码找一下问题。

12、APN配置

情景:读到卡了但是没有服务。

APN 是用于拨号时的必要信息。Android 默认预置了部分 APN,但是仍然有部分 APN 是没有预置的,因此可能会导致某些 Longsung 卡不能拨号的问题,此时就需要添加对应的 APN。一般手机卡对应下面面的3家,物联卡对应:cmiot。当客户寄物联卡过来的时候,我们调试切记不要用一张物联卡去调试多个以上的4G/5G模块,这样会导致物联卡被锁无法获取到服务。

中国移动: 保留 cmnet中国电信: 保留 3gnet中国电信: 保留 ctnet

添加方式:

2.8.1、 UI 界面添加 APN:

在 Android 的 setting 里面对应的 SIM卡配置里面可以找到 APN 的配置。

2.8.2、 配置文件添加 APN:

路径:

vendor/rockchip/common/phone/etc/apns-full-conf.xml(源码),我们的源码可以位置不尽相同。

修改系统中的配置文件后,必须删除掉对应的 databass,然后重启才会生效。因为这个databass 只会在不存在的时候,才会从配置文件中加载数据,并生成 databass,如果已经存在,就不会再加载配置文件中的数据了。或者在 Android 的 APN 配置界面选择恢复默认值,也会更新 databass。

Databass 路径:

rm -f /data/data/com.android.providers.telephony/databases/telephony.db
rm -f /data/data/com.android.providers.telephony/databases/telephony.db-journal

2.8.3、 编译环境确保可以正确编译到 APN 的配置文件:

PRODUCT_COPY_FILES += vendor/rockchip/common/phone/etc/apns-full-conf.xml:system/etc/

apns-conf.xml。

13、确认哪一个ttyUSB为AT口

logcat |grep ttyUSB

14、ttyUSB*出现无限死循环乱码问题(与AT指令一起用)

高版本 linux 在 cat ttyUSB*可能会出现无限死循环出现乱码或者\r\n 的无线返回,该问题主要是使用的 linux 系统有了自动回显造成的,根据以下操作关闭 linux 对应设备节点的回显:分析结果是 Linux 和模块同时开启了回显,模块跟 PC 之间一直在互发数据导致该问题,请在 Linux 下执行

 stty -F /dev/ttyUSB -echo

关掉 ttyUSB1的回显,其它口类似操作。

15、AT指令查询模块状态

16、相关ATlog和说明(基于Fx650)

AT+CPIN?
+CPIN: READY //确保 SIM 卡就绪OK
*****************************************************************
AT+CESQ
+CESQ: 99,99,255,255,23,39,255,255,255 //确保模块能接收到信号,当前模块为4G信号OK
*****************************************************************
AT+CGDCONT=1,"IP","ctlte" //设置 APN 接入点信息OK
*****************************************************************
AT+COPS?
+COPS: 0,0,"CHN-TELECOM",7 //确保模块注册上运营商网络OK
*****************************************************************
AT+CGREG?
+CGREG: 0,1 //模块附着数据网络OK
*****************************************************************
AT+CEREG? //模块附着 LTE 网络
+CEREG: 0,1OK
*****************************************************************
AT+CGDCONT?
+CGDCONT: 1,"IP","ctlte","0.0.0.0",0,0,0,0 //查询是否设置成功OK
*****************************************************************
AT+GTRNDIS? //查询拨号状态,查看模块是否已经获取到 IP,也可以直接ifconfig查看模块是否已经获得IP
+GTRNDIS: 1,1,"100.85.126.41","202.101.172.37", "202.101.173.157"OK
*****************************************************************
AT+GTRNDIS=0,1 //断开拨号OK
*****************************************************************
AT+CGREG=2,3 //SIM卡欠费OK

17、SIM卡欠费、绑卡、锁卡问题导致没有ip地址

会出现以下打印:
4137D use-Rlog/RLOG-RIL ATC: AT< +OENG:… ,“LIMSRV”…


http://chatgpt.dhexx.cn/article/TakAqZkV.shtml

相关文章

Linux 4G模块pppd拨号上网脚本解析

在编写脚本之前&#xff0c;要先安装好ppp相关驱动&#xff0c;pppd 已知pppd位于 /usr/sbin , chat 位于 /usr/sbin , options 位于 /etc/ppp 。 要编写脚本&#xff0c;就要切换目录到 /etc/ppp/peers&#xff0c;若没有peers目录则自行创建。因为是在/etc目录之下&#xf…

4G模块的使用

一、&#xff14;G相关知识 4G是第四代通讯技术。能够传输高质量视频图像。4G的下载速度达100Mbps&#xff0c;比目前的拨号上网快2000倍&#xff0c;上传的速度也能达到20Mbps&#xff0c;并能够满足几乎所有用户对于无线服务的要求。此外&#xff0c;4G可以在DSL和有线电视调…

4G模块使用总结

4G模块使用总结 一、APN名称 2G: 移动的CMWAP 联通的UNIWAP 移动的CMNET 联通的UNINET 3G/4G: 移动CMNET 联通3GNET 电信CTNET 二、模块信息参数获取 AT/r //检测串口通信状态 ATE设置回显功能 ATE0:回显关闭 ATE1:回显开启 ATCGMI 返回模块厂家信息 ATCGMM 返回模块型…

4G传输模块的功能应用

4G传输模块主要用在物联网中的数据传输方面&#xff0c;这种模块支持主动采集、多种协议、GPRS定位以及各种网络协议&#xff0c;并且接口丰富&#xff0c;还可以实时查看程序参数配置&#xff0c;接下来&#xff0c;安传物联的编辑就来为大家介绍一下这种常用的模块吧 一、主动…

同时挂载二维码模块与4G模块时,导致4G模块连不上网都是USB设备)

一、BUG现象 今天公司设备出现一个问题&#xff0c;在RK3399上的USB上插着三个设备&#xff0c;分别是4G模块、二维码模块与身份证模块&#xff0c;在这三个设备同时插在设备上时再开机&#xff0c;会出现4G模块连不上网络的情况&#xff0c;无论怎么插拔4G模块都无法联网。而…

工业4G路由器 小体积4G LTE通信模块转有线转WiFi充电桩视频安防监控物联网路由器上网CPE

4G LTE代表第四代长期演进&#xff0c;这是一种用于通过蜂窝网络提供高速数据传输的无线通信技术。它是移动网络技术的最新标准&#xff0c;提供比其前身3G更快的数据传输速度。它广泛用于移动设备、物联网设备和机器对机器通信。 近年来&#xff0c;随着物联网技术的快速发展…

如何在飞腾平台使用4G模块拨号上网

经常看到在笔记本上可以通过插无线网卡进行wifi连接上网&#xff0c;鲜有使用4G模块进行上网的。但是在某些场景下&#xff0c;没有wifi信号&#xff0c;要如何解决上网问题呢&#xff1f;一般可以通过usb共享手机网络&#xff0c;或者外接4G网卡进行上网。通常在windows 平台上…

windows10使用4G模块上网

1、硬件配置 1&#xff09;华为4G模块&#xff1a;HUAWEI ME909s-821 2&#xff09;PCIE转USB开发板 3&#xff09;联通4G手机SIM卡 4&#xff09;装有windows10的电脑 2、软件环境 下载安装华为4G模块驱动&#xff1a;http://www.ddooo.com/softdown/73296.htm 3、环境搭建…

实现4G模块EC20在linux系统下的拨号上网

前言&#xff1a; 为了方便查看博客&#xff0c;特意申请了一个公众号&#xff0c;附上二维码&#xff0c;有兴趣的朋友可以关注&#xff0c;和我一起讨论学习&#xff0c;一起享受技术&#xff0c;一起成长。 1.实验目的&#xff1a; 实现4G模块EC20在linux系统下的拨号上网…

4G无线模块 电力通信模块

4G无线模块TD210&#xff0c;标准通讯接口及协议&#xff0c;电力规约、环保212、MODBUS-RTU协议等&#xff0c;通过串口的形式采集各种电力参数&#xff0c;电压&#xff0c;电流&#xff0c;有功功率&#xff0c;无功功率&#xff0c;有功电度&#xff0c;无功电度&#xff0…

thinkpad x270 加装内置4G模块实现移动上网的记录

手上有一个thinkpad x270&#xff0c;固态硬盘&#xff0c;运行流畅&#xff0c;看到新出产的x1、x13标配4G上网&#xff0c;不免心中有点馋&#xff0c;因此计划对x270加装4g模块。 通过观看拆机视频&#xff0c;发现这货与x250等机型一样&#xff0c;有一个m.2 key B 的接口…

Ubuntu下使用4g模块、4G模组上网,USB接口,图形界面

Ubuntu下4g上网配置。 一、接入网卡并查看。 msubuntu:~$ l /dev/ttyU* /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 msubuntu:~$Interface Description&#xff1a; Interface Description DM InterfaceDiagnose portNMEA InterfaceFor GPS NMEA message outpu…

树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)

文章目录 一、EC200U模块4G模块介绍二、USB转串口驱动设置&#xff08;1&#xff09;打开树莓派的串口&#xff08;2&#xff09;lsusb是否有EC200U模块&#xff08;3&#xff09;添加 VID 和 PID 信息 三、USB网卡驱动上网四、PPP协议&#xff08;1&#xff09;PPP协议介绍1.1…

配置 4G 模块为WAN口上网

配置 4G 模块为WAN口上网 将Linux板卡配置为交换机或路由器&#xff0c;提供类似路由器的上网功能。这里以4G网卡作为WAN进行上网。 一、使用网桥上网 1. 配置4G模块为默认网关 先配置好4G模块为默认路由网关。 这里需要先将4G模块配置为路由模式。4G模块路由模式和网卡模…

safeAreaLayoutGuide

https://www.jianshu.com/p/9d68a220983b Safe Area Layout Guide对应的SafeArea特性使用(DeploymentTarget9.0及后) 解决方案&#xff1a; 1. DeploymentTarget 9.0及后 2. DeploymentTarget 8.0

Safety-0

写在前面 好记性不如烂笔头&#xff0c;很多知识久了不用会渐渐生疏&#xff0c;故此以文章的形式进行记录。但干干的知识点又不符合本人的风格&#xff0c;故此产生了Safety&#xff0c;一个主要用于记录学习Mybatis和SpringBoot的项目。 Safety 是基于Mybatis实现的加解密插…

NetworkSecurity

一、CSRF 参考链接 1.定义 &#xff08;Cross Site Request Forgery, 跨站域请求伪造&#xff09;是一种网络的攻击方式&#xff0c;它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding&#xff0c;通常缩写为CSRF或者XSRF&#…

Web端安全测试--IBM Security AppScan Standard 工具使用手册

1、工具的使用原理 1.1工作原理 &#xff08;1&#xff09;通过探索了解整个web页面结果&#xff08;2&#xff09;通过分析&#xff0c;使用扫描规则库对修改的HTTP Request进行攻击尝试&#xff08;3&#xff09;分析 Response 来验证是否存在安全漏洞 1.2 AppScan的工作过…

【Safety】简介

XSS 涉及面试题&#xff1a;什么是 XSS 攻击&#xff1f;如何防范 XSS 攻击&#xff1f;什么是 CSP&#xff1f; XSS是什么 XSS 简单点来说&#xff0c;就是攻击者想尽一切办法将可执行的代码注入到网页中 XSS分类边界 XSS 可以分为多种类型&#xff0c;但是总体上认为分为两…

Electron Security Warning (Insecure Content-Security-Policy) 告警解决

Electron Security Warning (Insecure Content-Security-Policy) 告警解决 Electron的Console控制台出现如下告警时&#xff1a; 是安全策略的设置告警&#xff0c;意思是内容安全策略没有设置&#xff0c;或者使用了unsafe-eval的安全设置。如果想要不出现上述告警&#xff…