首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏高通\展锐\MTK等平台调试

    Android RIL 调试问题分析 ——系统篇(1)

    下发后,RIL就要发AT切换网络 原因分析 安卓系统问题,默认不支持LTE,需要修改安卓固件。

    85020编辑于 2022-11-15
  • 来自专栏高通\展锐\MTK等平台调试

    Android RIL 调试问题分析 ——系统篇(4)

    原因分析 Sim卡状态信息改变时,安卓上层没有监听到;非ril问题。

    78240编辑于 2022-11-15
  • 来自专栏高通\展锐\MTK等平台调试

    Android RIL 调试问题分析 ——数据频繁断开

    Android RIL 调试问题分析 ——数据频繁断开 1. 问题描述 2. 问题分析 2.1 RIL初分析 2.2 数据业务重试机制梳理和分析 2.3 网卡统计数据的分析 1. 问题描述 在使用SDX55模组和对应支持NSA/SA网络的RIL时,出现数据业务频繁断开重连现象,用户体验较差。 2. 问题分析 2.1 RIL初分析 从ril log中初步分析,可以得到数据频繁断开原因均一致,原因见以下log段: 07-31 15:06:42.594 D/DCT ( 1617): [0]Data // Wait a bit before trying the next APN, so that // we're not tying up the RIL . // It will set an additional "gsm.radioreset" property to tell // RIL

    1.9K20编辑于 2022-11-15
  • 来自专栏高通\展锐\MTK等平台调试

    Android RIL 调试问题分析 ——系统篇(3)

    原因分析 模块注册状态广播后,安卓上层没有监听到;非ril问题。

    77440编辑于 2022-11-15
  • 来自专栏高通\展锐\MTK等平台调试

    Android RIL 调试问题分析 ——系统篇(2)

    在安卓如下目录下找到ServiceStateTracker.java文件做如下修改

    60330编辑于 2022-11-15
  • Android 出现4G模块无法上网问题

    RILD介绍 Android系统带的RIL机制,Android RIL提供了Android电话服务和无线电硬件之间的抽象层。 Android RIL在HAL(Hardware Abstract Layer)层(C++层)由三个部分组成: RILD是系统的守护进程,主要用于初始化LIBRIL以及启动厂商自定义的Vendor RIL ; LIBRIL被RILD初始化完成后,用于与Vendor RIL之间进行交互,负责接收、发送指令; Vendor RIL是第三方厂商自定义的一个库,用于向Modem发送指令或者接收来自LIBRIL或者 三者之间的关系图如下所示: 从这里可以看到,RILD在启动时,负责将LibRil以及Vendor RIL进行初始化,将相应的回调函数以及调用接口进行注册,LibRIL向vendor RIL提供了接口 RIL_Env,当Vendor有消息时,利用该回调返回;而Vendor RIL 同样提供了接口RIL_RadioFunctions,给LibRIl调用。

    10010编辑于 2026-02-02
  • 来自专栏混说Linux

    一款嵌入式平台的无线通信模组管理框架

    1 RIL(Radio Interface Layer) 简介 RIL是一款专门为嵌入式平台开发的无线通信模组(GSM/GPRS/CatM1/NB-Iot)管理软件。 它与其它大型框架(例如Android RIL、Wince RIL)不同的是,它被设计成应用于资源受限物联网终端设备(单片机+无线模组的方案),并提供物联网通信所需的基本功能,包含网络注册、连接管理、短信收发及 创建数量) RTOS及堆栈: RIL需要运行在两个任务中,每个任务的堆栈至少 256 Bytes 编译器:由于RIL使用了一些C99的特性(柔性数组、内联),所以编译器需要开启对C99的支持。 //创建RIL任务 ril_init(&adt, &cfg); //初始化RIL ril_use_device("EC21"); //选择模组型号 ril_open(); 更多详细的使用说明,请参考: http://moluo-tech.gitee.io/ril/#/ 来源:https://gitee.com/moluo-tech/ril 版权归原作者所有!

    53810编辑于 2022-07-14
  • 来自专栏全栈程序员必看

    Android之rild进程启动源码分析「建议收藏」

    在初始化时使用dlopen打开librefrence_ril.so,从中取出并执行RIL_Init函数,得到RIL_RadioFunctions指针,通过RIL_register()函数注册到libril.so libril.so库中的RIL_Env接口注册到libreference-ril.so库,同时将libreference-ril.so库中的RIL_RadioFunctions接口注册到到libril.so }; 在hardware\ril\libril\ril.cpp中实现了RIL_Env的各个接口函数 1.RIL_onRequestComplete extern "C" void RIL_onRequestComplete reference-ril.c const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **argv) 接口 hardware\ril\libril\ril.cpp extern "C" void RIL_register (const RIL_RadioFunctions *callbacks) { int

    2.3K30编辑于 2022-10-04
  • 来自专栏育种数据分析之放飞自我

    GWAS计算BLUE值1--计算最小二乘均值(lsmeans)

    这里,如果我们要计算第一个品种RIL1的lsmeans(最小二乘均值),我们需要: 即我们需要整体均值 + 品种RIL1的回归系数 + 地点的效应平均值 + 地点内区组效应品均值 + 品种RIL1和地点互作的效应品均值 手动计算RIL11的最小二乘均值 这里我们要计算RIL-11这个品种, 「整体均值」 coef = summary(m1)$coefficients coef["(Intercept)",1] 可以看到整体均值为 -11的效应值为:」 coef["RILRIL-11",1] ril11 = coef["RILRIL-11",1] RIL-11的效应值为4.2 「最后,RIL-11的最小二乘均值为:182.875 」 mu + loc + loc_rep + loc_ril11 + ril11 4. re2 = predict(m2,classify = "RIL")$pval %>% as.data.frame() head(re2) 这里用predict函数,计算RIL的lsmeans:

    1.3K20编辑于 2021-12-20
  • 来自专栏tinker board 2s嵌入式

    4G模组拨号上网功能

    因此各个厂家的libreferece-ril.so不一样,这个动态库一般由modem制造商提供。 库libreference-ril.so放到device/rockchip/common/4g_modem/lib64/ 下面,重命名为libquectel-ril.so,并且在 将 PRODUCT_PROPERTY_OVERRIDES /libquectel-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libquectel-ril.so 如下图 图片 修改vendor.rild.libpath 的目的是 Android 11的rild会从此property获取ril库路径,其代码如下图所示 图片 图片 这段代码的意思是,rild启动时,优先从-l的参数取ril库的路径,如果取不到,就从vendor.rild.libpath 取到这个ril库的路径之后,通过dlopen打开,并通过dlsym调用里面的函数。 此外,移远的ril库使用qmi方式拨号时,需要有/dev/cdc-wdm0节点。

    3.5K90编辑于 2022-08-29
  • 来自专栏育种数据分析之放飞自我

    GWAS计算BLUE值2--LMM计算BLUE值

    .❞ 该数据有62个重组自交系(RIL),在4个地点进行试验,随机区组,每个地点2个重复,每个小区种植20株,随机选择5株的表型平均值作为观测值。 2. # lme4 m1 = lmer(height ~ RIL + (1|location:RIL) + (1|location) + (1|location:rep), data=dat) summary (m1) re1 = emmeans(m1,"RIL") %>% as.data.frame() head(re1) 这里, RIL作为固定因子 地点和品种互作,作为随机因子 地点内区组,作为随机因子 然后通过emmeans计算RIL的预测均值。 使用asreml包进行blue值计算 library(asreml) m2 = asreml(height ~ RIL, random = ~ location + location:RIL + location

    1.7K30编辑于 2021-12-20
  • 来自专栏韩曙亮的移动开发专栏

    【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    (特定设置) rild.libpath=/system/lib/libhtc_ ro.ril.ecc.HTC-WWE=999 ro.ril.ecc.HTC-ELL=92,93,94 ro.ril.enable.a52 .HTC-ITA=1 ro.ril.enable.a53.HTC-ITA=1 ro.ril.enable.a52=0 ro.ril.enable.a53=1 ro.ril.vmail.23415=1571 ,BT ro.ril.hsdpa.category=8 (hsdpa全称High Speed Downlink Packet Access中文意思:高速下行分组接入,设置的数越大传输越快) ro.ril.htcmaskw1 .bitmask=429496 ro.ril.htcmaskw1=14449 ro.ril.def.agps.mode=2 (打开AGPS服务支持,可改为ro.ril.def.agps.mode=0 改后能省电但 GPS定位速度会变慢) ro.ril.gprsclass=12 (GPRS设置) # For HSDPA low throughput (HSDPA低输量) ro.ril.disable.power.collapse

    3.3K20编辑于 2023-03-27
  • 来自专栏育种数据分析之放飞自我

    GWAS计算BLUE值3--LMM考虑残差异质计算BLUE值

    .❞ 该数据有62个重组自交系(RIL),在4个地点进行试验,随机区组,每个地点2个重复,每个小区种植20株,随机选择5株的表型平均值作为观测值。 2. 使用asreml计算BLUE值(定义残差同质) library(asreml) m1 = asreml(height ~ RIL, random = ~ location + location:RIL 使用asreml计算BLUE值(定义残差异质) m2 = asreml(height ~ RIL, random = ~ location + location:RIL + location:rep,residual 计算最优模型的BLUE值 re2 = predict(m2,classify = "RIL")$pval %>% as.data.frame() head(re2) 7. 更复杂的模型:定义品种与地点互作异质 m3 = asreml(height ~ RIL, random = ~ location + at(location):RIL + location:rep,residual

    1.1K20编辑于 2021-12-20
  • 来自专栏全栈程序员必看

    android telephony 原理解析与开发指南_Android逆向pdf

    Phone的继承关系与PhoneFactory(GsmCdmaPhone、ImsPhone、SipPhone)   Phone进程的启动   Phone对象的初始化(DefaultPhoneNotifier和RIL Phone对象的数量 int numPhones = TelephonyManager.getDefault().getPhoneCount(); //创建networkMode、PhoneProxy、RIL sCommandsInterfaces[i] = new RIL(context, networkModes[i], cdmaSubscription, i); } ...... for (int i 回忆第2小节创建GsmCdmaPhone对象时 sPhoneNotifier = new DefaultPhoneNotifier(); sCommandsInterfaces[i] = new RIL PhoneConstants.PHONE_TYPE_GSM, TelephonyComponentFactory.getInstance()); 先初始化了DefaultPhoneNotifier和RIL

    1.6K30编辑于 2022-09-20
  • 来自专栏网站教程

    Linux操作系统下 chkconfig 命令详解

    grep -Ril artful /etc/* 包含或排除搜索中的特定文件名称 使用grep命令也可以只包含特定的文件作为搜索的一部分。 下一个例子将在/etc目录下找到包含字符串bash的扩展名为.conf的所有文件: grep -Ril bash /etc/*.conf 或者 grep -Ril --include=\*.conf bash /etc/* 同样,使用--exclude选项,我们可以排除任何特定的文件名: grep -Ril --exclude=\*.conf bash /etc/* 从搜索中排除特定的目录 与文件一样,grep

    1.7K00发布于 2021-08-31
  • 来自专栏静晴轩

    How to Use ADB Command Line Tool

    access mode to ‘read and write (rw)’ using command: remount rw Example: #remount rw #cp /sdcard/libsec-ril.so remount ro mv Move file or directory Syntax: mv [options] source dest Example: #mv /system/lib/libsec-ril.so directory permission Syntax: chmod [-R] mode[,mode] …. file Example: #chmod 0644 /system/lib/libsec-ril.so rm Remove file or directory Syntax: rm [options] file Example: #rm /system/lib/libsec-ril.so 4.

    1.2K50发布于 2018-03-27
  • 来自专栏肖蕾的博客

    Android开发之,LogCat无故不打印隐藏深坑

    strcmp(tag, "HTC_RIL") || (!strncmp(tag, "RIL", 3)) || (!

    1.9K10发布于 2021-03-19
  • 来自专栏鸿蒙开发笔记

    OpenHarmony源码解析之电话子系统——通话流程

    管理、SIM 卡和搜网模块,以及获取 RIL Adapter 服务。 RIL Adapter通信代码目录 12\ 3.2.2.3 Answer事件在core_servicel中的处理这部分的代码会调用 core 对应的 Answer 函数,消息就会传递到负责核心服务与 RIL Adapter 通信交互的 tel_ril 3.2.2.4 Answer事件在ril_adapter中的处理从目前的代码调用来看有可能是从 vendor 调用 hril_hdf 的 dispatch,然后传递消息到 ril_adapter 中下边为 char vendorLibPath[PARAMETER_ZISE] = {0}; 5\. // Pointer to ril init function in vendor ril 6\

    36510编辑于 2025-04-11
  • 来自专栏嵌入式开发圈

    一种AT命令通信解析模块,支持裸机(at_chat)和OS版本(at)

    案例演示 参考我的另外一个项目RIL(Radio Interface Layer) 使用步骤 1.定义AT控制器、通信适配器接口(包含URC回调函数表,接口缓冲区URC) static at_obj_t socket_send_handler(at_work_ctx_t *e) { struct socket_info *i = (struct socket_info *)e->params; struct ril_sock - socket * @param[in] buf - 数据缓冲区 * @param[in] len - 缓冲区长度 */ static bool hl8518_sock_send(ril_obj_t *r, struct ril_sock *s, const void *buf, unsigned int len) { struct socket_info

    2.2K40发布于 2021-07-30
  • 来自专栏FreeBuf

    手机数据传输安全分析

    现在我们从理论上进行讨论,安卓包含了不同的层,其中一层是RIL,也就是无线接口层(Radio Interface Layer)。 为了避免纠结太多细节,我不会花力气描述与rild守护进程或者Vendor RIL通信的RIL Java子层。 那些命令可以让应用通过RIL进行调用,也可以用于RIL传输给modem,它们根据制造商modem固件的限制,会有许多不同。当然,许多制造商也为他们自己的modem制定了自定义的命令。

    1.5K100发布于 2018-02-08
领券