当前位置: 首页 > article >正文

在RK3568 Android 11上搞定移远EC20 4G模块:从驱动到RIL的完整移植避坑记录

RK3568 Android 11平台EC20 4G模块全流程移植指南从硬件连接到网络配置在嵌入式Android开发中4G模块的集成一直是项目落地的关键环节。本文将基于RK3568平台和Android 11系统详细解析移远EC20模块从硬件连接到上层应用的全链路移植过程。不同于简单的操作步骤罗列我们将深入每个环节的技术原理并分享实际项目中积累的调试技巧和问题解决方案。1. 硬件准备与驱动层适配EC20模块与RK3568的连接通常采用USB接口这是整个移植工作的物理基础。在开始软件配置前必须确保硬件连接正确可靠。硬件检查要点确认USB接口类型Host/Device模式测量模块供电电压典型值3.8V检查SIM卡座接触可靠性验证天线连接状态主天线和分集天线在设备树(DTS)配置中需要特别注意USB控制器的参数设置。以下是RK3568平台典型的USB控制器配置片段usb_host0_ehci { status okay; #address-cells 1; #size-cells 0; quectel_ec20: modem1 { compatible usb-serial,quectel; reg 1; qcom,msm-bus,name quectel_ec20; qcom,msm-bus,num-cases 2; }; };驱动加载后可通过以下命令验证USB枚举是否成功adb shell ls /dev/ttyUSB* adb shell dmesg | grep -i ec20常见问题排查如果出现ttyUSB设备节点但数量不足正常应有3-4个通常是USB模式切换未完成使用lsusb命令检查设备ID应为05c6:9215EC20的标准ID供电不足会导致模块频繁掉线可通过cat /sys/kernel/debug/regulator/regulator_summary检查电源状态2. Android HAL层与RIL库配置Android的无线通信架构采用分层设计RILRadio Interface Layer是连接框架和Modem的核心枢纽。EC20模块需要使用移远提供的专用RIL库替代Android默认实现。RIL架构关键组件rildRIL守护进程运行于Native层libril-qc-ec20.so移远提供的厂商RIL实现库libreference-ril.so参考实现库需替换RILJJava层的RIL接口配置步骤替换预编译库文件# 将移远提供的库文件放置到对应目录 vendor/lib64/libril-qc-ec20.so vendor/lib64/libreference-ril-ec20.so修改ril-daemon服务定义ril.rcservice ril-daemon /vendor/bin/hw/rild -l /vendor/lib64/libreference-ril-ec20.so class main user radio group radio cache inet misc audio sdcard_rw log capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW disabled onrestart restart zygote更新device.mk添加必要组件PRODUCT_PACKAGES \ CarrierConfig \ rild \ libril-qc-ec20 \ Dialer \ Messaging \ TelephonyProvider \ TeleService \ Telecom编译问题处理遇到tidy检查报错时可临时关闭特定检查项# 在对应模块的Android.mk中添加 LOCAL_TIDY_FLAGS : -warnings-as-errors*,-cert-*,-clang-analyzer-security*3. 网络属性与连接配置Android通过networkAttributes定义不同网络类型的优先级和特性。对于4G模块必须正确配置移动网络属性才能建立数据连接。frameworks/base/core/res/res/values/config.xml关键配置string-array namenetworkAttributes translatablefalse itemwifi,1,1,2,-1,true/item itemmobile,0,0,0,-1,true/item itemmobile_mms,2,0,2,60000,true/item itemmobile_supl,3,0,2,60000,true/item itemmobile_dun,4,0,2,60000,true/item itemmobile_hipri,5,0,3,60000,true/item itemmobile_fota,10,0,2,60000,true/item itemmobile_ims,11,0,2,60000,true/item itemmobile_cbs,12,0,2,60000,true/item /string-array网络模式选择修改默认网络模式为LTE优先// RILConstants.java int PREFERRED_NETWORK_MODE Optional.of(TelephonyProperties.default_network()) .filter(list - !list.isEmpty()) .map(list - list.get(0)) .orElse(NETWORK_MODE_LTE_GSM_WCDMA);APN配置在vendor/overlay/frameworks/base/core/res/res/xml/apns.xml中添加运营商APN信息apn carrierChina Mobile mcc460 mnc00 apncmnet typedefault,supl protocolIPV4V6 roaming_protocolIPV4V6/4. 系统集成与功能验证完成底层配置后需要确保系统UI和功能组件完整并进行端到端测试。状态栏信号显示修改SystemUI配置确保显示移动网络图标!-- config.xml -- bool nameconfig_showMin3Gtrue/bool bool nameconfig_display_network_nametrue/bool调试命令工具常用调试命令汇总# 检查RILD进程状态 adb shell ps -A | grep rild # 获取基站信息 adb shell logcat -b radio | grep -e AT -e RSSI # 强制网络类型切换 adb shell svc data prefer # 查看详细网络状态 adb shell dumpsys telephony.registry常见问题解决方案无信号强度显示检查rild日志是否有AT命令交互验证SIM卡状态adb shell service call iphonesubinfo 7数据连接不稳定调整ro.ril.hsxpa和ro.ril.gprsclass参数检查防火墙规则adb shell iptables -L短信功能异常确认Messaging应用有SEND_SMS权限检查TelephonyProvider数据库权限在实际项目中我们发现EC20模块对电源管理较为敏感。建议在init.rc中添加以下电源优化配置# 禁止USB自动挂起 write /sys/bus/usb/devices/usb1/power/control on write /sys/bus/usb/devices/1-1/power/control on通过Wireshark抓包分析发现某些运营商网络需要特定的PDP上下文激活顺序。这种情况下需要修改RIL_REQUEST_SETUP_DATA_CALL的处理逻辑// 在reference-ril.cpp中调整 responseDataCall-version DATA_PROFILE_OMH; responseDataCall-profileId DATA_PROFILE_DEFAULT;

相关文章:

在RK3568 Android 11上搞定移远EC20 4G模块:从驱动到RIL的完整移植避坑记录

RK3568 Android 11平台EC20 4G模块全流程移植指南:从硬件连接到网络配置 在嵌入式Android开发中,4G模块的集成一直是项目落地的关键环节。本文将基于RK3568平台和Android 11系统,详细解析移远EC20模块从硬件连接到上层应用的全链路移植过程。…...

高效流感病毒A抗体:制备方法与免疫防御利器

流感病毒A(Influenza Virus A),简称FluA,作为常见的呼吸道病毒,每年都会在全球范围内引发季节性流感爆发。它具有高度的变异性,能够不断进化出新的亚型,使得人群对其普遍易感。流感不仅会导致发…...

定义即生产力:Perplexity定义查询功能的7种高阶用法(含论文写作/术语溯源/跨语言校验)

更多请点击: https://kaifayun.com 第一章:定义即生产力:Perplexity定义查询功能的底层逻辑与设计哲学 Perplexity 的定义查询功能并非简单地匹配关键词,而是将用户输入的自然语言问题映射为可执行的语义图谱查询。其核心在于“定…...

A型流感病毒广谱中和抗体与广谱通用疫苗研究进展

摘要流感作为全球性的公共卫生问题,对人类健康构成严重威胁。接种流感疫苗是预防和控制流感流行的关键手段,但当前通用流感疫苗的研究尚处于初级阶段。本文聚焦于A型流感病毒,综述了广谱中和抗体的研究进展以及其在广谱通用疫苗研发中的潜在应…...

Perplexity历史资料搜索失效真相大起底(时间戳偏移、缓存策略与知识图谱断层深度解析)

更多请点击: https://intelliparadigm.com 第一章:Perplexity历史资料搜索失效真相大起底(时间戳偏移、缓存策略与知识图谱断层深度解析) Perplexity 的历史资料检索能力在近期高频出现“查无结果”或“返回过期摘要”现象&#…...

白细胞介素-6(IL-6)在临床疾病中的作用机制与靶向治疗研究进展

白细胞介素-6(Interleukin-6, IL-6)是一种由多种细胞(如单核/巨噬细胞、T细胞、成纤维细胞等)分泌的多效性细胞因子,参与免疫调节、炎症反应、代谢稳态及组织修复等生理过程。在病理状态下,IL-6过度表达与感…...

LTM4644国产替代-ITE4644

ITE4644是四路DC/DC降压模块稳压器,每路可以输出4A。输出可以并联在一个阵列中,最高可达16A的能力。封装内包含开关控制器,功率场效应管,电感器和支持组件。工作在输入电压范围4V~14V或者2.375V~14V(INTVCC/SVIN外置偏置电压)。 I…...

一封好JD,唤醒应届生的投递欲

你的实习岗位描述为何石沉大海? 在校招实习生招募的初期,JD(职位描述)就是企业的门面。然而,很多HR直接套用社招模版,导致文案枯燥乏味,完全无法触动应届生的痛点。在信息爆炸的春招季&#xf…...

温柔沟通术,稳住实习候选人的心w

为什么高冷的企业在校招中容易丢分? 在金融与科技企业的校招抢人大战中,HR常发现一个现象:有些各方面条件都极佳的应届生,在面试流程过半时突然“消失”了。深究其原因,往往不是因为薪资或岗位本身,而是因…...

AI为笔,书写更高效的校招流程

数字化工具如何把HR从简历海中拯救出来?当春招的巨浪袭来,HR们往往陷入了简历的“深水区”。数以千计的简历涌入后台,不仅有校招实习的投递,还有各种零散的咨询。如果依然依靠纯人工、传统的方式进行处理,不仅效率低&a…...

实习生,企业的青春代言人

为什么优质的口碑是招募最好的助推器? 在校园招聘中,应届生们不仅看官网的宣传,更看重学长学姐的“真实评价”。一份优质的校招实习经历,不仅能为企业培养出未来的中坚力量,更能通过学生的自发传播,让实习…...

别再死磕CNN了!用Python从零实现一个3层GCN,带你理解图数据怎么玩

从传统CNN到图卷积:用Python实战3层GCN的底层逻辑 当我们在处理社交网络中的用户关系、电商平台上的购买行为或是蛋白质分子结构时,数据的拓扑关系往往比像素网格复杂得多。传统的卷积神经网络(CNN)在规则网格上表现出色&#xff…...

全志D1s开发板RT-Smart环境搭建:从工具链到烧录的完整实践指南

1. 项目概述与核心价值最近在折腾一块搭载了全志D1s芯片的开发板,目标是在上面跑RT-Smart实时操作系统。这听起来像是一个标准的嵌入式开发流程,但实际操作下来,从环境搭建到第一个程序跑起来,中间踩的坑一个接一个,远…...

小红书无水印下载工具XHS-Downloader:3分钟掌握高效内容保存技巧

小红书无水印下载工具XHS-Downloader:3分钟掌握高效内容保存技巧 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用…...

蓝桥杯省赛真题解析:用动态规划搞定‘积木画’问题(附Python/Java/C++三种代码)

蓝桥杯竞赛实战:动态规划解积木画问题的多语言实现 第一次参加蓝桥杯的选手往往会被"积木画"这类动态规划题目难住——看似简单的图形拼接背后隐藏着精妙的状态转移逻辑。这道题考察的不仅是编码能力,更是对问题抽象和数学建模的深刻理解。本文…...

嵌入式开发实战:软硬件协同设计与深度调试指南

1. 项目概述:嵌入式开发,一场与硬件的深度对话 干了十几年嵌入式,我越来越觉得,这行当本质上就是一场开发者与硬件之间旷日持久的“对话”。你写的每一行代码,最终都要落到那块小小的电路板上,去驱动LED闪烁…...

模板 ID 配置化: “公众号路由 + 模板消息发送” 封装成一个干净的业务 Service

文章目录 引言 I “公众号路由 + 模板消息发送” 多公众号 同模板不同 ID 公众号实例 公众号路由 模板消息发送 Service(业务层 ✅) 异步调用 II 公众号账号配置【升级版】 账号配置 启用配置 模板 ID 解析器 公众号 Router(升级版 ✅) III 路由(Redis 版本) WxRedisOps…...

【技术剖析】AI-RPA 的“眼睛”:详解 DOM 树精简与 OmniParser 屏幕解析技术

引言:当 RPA 遇上 AI,谁来做机器的“眼睛”? 2026 年,AI 与 RPA 的融合正在经历一场深刻的技术重构。根据市场研究数据,AIRPA 全球市场规模预计从 2025 年的 47.9 亿美元增长至 2026 年的 56 亿美元,复合年…...

3个步骤掌握LevelUI:可视化LevelDB数据库管理新体验

3个步骤掌握LevelUI:可视化LevelDB数据库管理新体验 【免费下载链接】levelui A GUI for LevelDB management based on atom-shell. 项目地址: https://gitcode.com/gh_mirrors/le/levelui 还在为LevelDB的命令行操作而烦恼吗?LevelUI为你带来了全…...

游戏手柄延迟检测:为什么你的操作总是慢半拍?

游戏手柄延迟检测:为什么你的操作总是慢半拍? 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 你有没有在玩竞技游戏时,明明按下了按键&am…...

STM32单片机引脚功能详解——从GPIO到AFIO的标准库配置指南(硬件总结四)

前言 在STM32的开发中,引脚是MCU与外部电路交互的物理桥梁。STM32F103C8T6这款经典的Cortex-M3单片机在LQFP48封装下仅有48个引脚,却能支持GPIO、ADC、USART、SPI、I2C、定时器、USB等多种外设功能——这得益于其灵活的多功能引脚复用机制。深入理解引脚…...

终极指南:如何在Windows 11上轻松安装Android应用?APK Installer完整教程

终极指南:如何在Windows 11上轻松安装Android应用?APK Installer完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Window…...

从SD销售订单到MM采购入库:一条龙打通SAP核心业务流的BAPI实战

SAP跨模块BAPI集成实战:从销售订单到采购入库的自动化业务流 当企业规模扩张到一定程度,各业务部门之间的数据孤岛问题就会成为效率提升的最大障碍。想象一下这样的场景:销售部门接单后,采购团队需要手动创建采购需求,…...

星动纪元拿下 RoboChallenge冠军!17项家务活斩获第一

近日,全球首个具身智能大规模真机评测平台RoboChallenge最新评测结果正式揭晓,星动纪元(Robotera)的Era0模型在Table30真机评测系列任务中表现突出,成功率(Success Rate)与过程分(Sc…...

手把手教你用网络分析仪调试CGH40010F:从S参数异常反推管子损坏原因与状态

深度解析CGH40010F氮化镓功率管故障诊断:从S参数异常到失效机理 在射频功率放大器设计中,CGH40010F作为一款经典的氮化镓(GaN)功率晶体管,因其高功率密度和高效率特性被广泛应用于基站、雷达等场景。然而在实际工程调试中,工程师们…...

别再踩坑了!手把手教你解决RPM安装时的‘事务锁定’报错(附spec文件编写避坑指南)

RPM事务锁定的深度解析与实战避坑指南 在Linux系统管理中,RPM包管理器的"事务锁定"错误堪称开发者和管理员的噩梦。当你精心编写的spec文件在关键时刻抛出cant create transaction lock错误时,那种挫败感足以让任何技术专家抓狂。本文将带你深…...

为OpenClaw工作流配置Taotoken作为统一模型供应商

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw工作流配置Taotoken作为统一模型供应商 如果你正在使用OpenClaw构建复杂的Agent工作流,管理多个Agent的模型…...

从高斯-克吕格到UTM:在QGIS里搞定国内卫星影像与地形图的坐标匹配

从高斯-克吕格到UTM:在QGIS里搞定国内卫星影像与地形图的坐标匹配 当你在QGIS中加载了从不同来源获取的卫星影像和地形图时,是否遇到过这样的困扰:明明应该是同一区域的数据,却在软件中显示得南辕北辙?这种"影像对…...

从零到一:华大HC32L110C6PA GPIO操作避坑指南(附完整代码)

从零到一:华大HC32L110C6PA GPIO操作避坑指南(附完整代码) 第一次接触华大HC32L110C6PA这款MCU时,我被它小巧的体积和丰富的功能所吸引。但当我真正开始GPIO配置时,却发现官方文档中的某些细节并不像想象中那么直观。…...

AI 智能体 8 层架构:生产级系统构建指南

AI 智能体(Agentic AI)革命的关键不在更好的提示词,而在于系统化的架构设计。随着企业竞相部署能够自主感知、推理、规划和行动的 AI 智能体(AI Agent),真正的挑战已经从"我们能构建吗?“转变为"…...