Android通信框架与Modem状态未同步——实际项目经验分享

本文分享了一个实际项目中遇到的Android设备Modem注册成功但系统显示无网的问题。问题源于通信框架与Modem状态不同步,通过分析Radio和Modem日志确认。解决关键在于一个名为radio的状态变量,当其为off时,系统不会查询Modem的注册状态。通过调整radio状态,成功修复了问题。
摘要由CSDN通过智能技术生成

问题描述:
    Modem已经注册成功了,但是android系统显示仍然是无网状态。

背景知识:
    Android为了屏蔽各Modem厂商之间的差异,并未直接使用AT指令,而是定义了通用接口——RIL命令来控制Modem(当然,RIL命令与AT指令之间存在某种不固定的映射关系,因厂商而异)。各Modem厂商则负责提供对应于RIL命令的Vender RIL。RIL是Modem的HAL(硬件抽象),是android系统与Modem之间的通信桥梁,为AP提供了控制Modem的无线接口,RIL实现了Android平台与Modem间的分离。
    Android的通信栈共由4层构成:
    1、应用程序——利用通信框架提供的API访问Modem;
    2、通信框架——为上层提供API,负责将上层请求转成RIL指令,通过UNIX SOCKET(该socket可在/dev/socket/目录下找到,名为rild)方式传递到RIL守护进程(通常双卡系统会有两个rild进程,可通过“ps | grep rild”命令查看),并处理来自RIL进程的回复,将结果传递给上层;
    3、RIL层————RIL守护进程利用Vender RIL控制Modem;
    4、Vender RIL——是实际控制Modem的软件,由厂商提供;实现了android定义的标准Modem控制接口。它是*.so形式的共享库。

问题确认:
    1、Radio日志包含了RI

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值