IVSR---Invalid sim recovery

IVSR: InValid Sim Recovery, 是当发生注册网络失败“Invalid sim” state,透过逻辑判断此Invalid Sim state是否为网络异常;若判断是网络异常引起,便由AP尝试recovery modem,以达到不重启开机的情况下,离开此Invalid Sim state-------目前遇到一些地方的移动网络错把自己正常的卡当成invalid sim,所以建议开启IVSR

Spec规定发生Invalid Sim state时只有重开机或插拔SIM卡才可以离开,所以IVSR是MTK为了解决Operator 网络问题而引入的一个违背Spec的feature,但目前常见的CMCC入库/CTA/FTA等测试都不会测试这项,也就不会因为IVSR开启而导致这些测试fail------所以目前MTK默认是开启IVSR的

1.IVSR关闭方式(默认开启):

如果你遇到特殊需求需要关闭IVSR功能,方法如下:

GsmServiceStateTracker.java中的onInvalidSimInfoReceived()开头直接return;

2. 实做原理:

(1)

Modem notify RIL by AT command URC

+EIND: 16,<plmn_id>,<cs_invalid>,<ps_invalid>,<cause>

e.g. +EIND: 16,”46002”,1,0,13

<plmn_id>: string

<cs_invalid>,<ps_invalid>: integer

0: Not invalid

1: Invalid

<cause>: integer

(2)

RIL will then notify framework layer by the event EVENT_INVALID_SIM_INFO

We handle EVENT_INVALID_SIM_INFO in GsmServiceStateTracker.java:  onInvalidSimInfoReceived()

Please refer the sample code in this function

若想调整Invalid SIM state判断逻辑与处理方式.请自行customize此function

3.  trigger IVSR的条件:

(1) 手机在开机 and SIM refresh 之后, 一定要曾经成功注册 (确定手机/SIM 的组合是真的可以拿到 normal service 的,否则因recovery会给SIM卡上电而可能损坏卡的寿命)

CS domain invalid, 要检查的是 CS domain曾经成功注册过

PS domain invalid, 要检查的是 PS domain曾经成功注册过

(2) 发生 invalid SIM 时的 serving PLMN (给 reject cause 的 PLMN) 必须和最后一次成功註冊的 PLMN 是同一家 (确认在这个 PLMN 手机/SIM 是可以成功註冊的)

(3) test mode的状态下 或插入的卡必须是 normal SIM(不是test SIM)

时间: 2024-10-08 14:11:30

IVSR---Invalid sim recovery的相关文章

Android5.0 Recovery源代码分析与定制(一)【转】

本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://blog.csdn.net/morixinguan.若是侵权用于商业用途,请联系博主,否则将追究责任 在Tiny4412的Android5.0源代码中: bootable/recovery/recovery.cpp是recovery程序的主文件. 仔细一看,对比了其它平台的recovery源代码,除了

解决:insert Vodafone sim card,open the mms read report,when receive the read report,cann&amp;#39;t download..

insert Vodafone sim card,open the mms read report,when receive the read report,cann't download the message Test steps: 1.insert Vodafone sim card 2.open the mms read report 3.send the mms successfully 4.when receive the read report 这里的环境须要描写叙述一下:在国内不

编译recovery及过程中的部分错误解决

你必须使用32位或64位Ubuntu系统,关于如何建立编译环境和同步源码的指导,请自己查找有关指导的文章. 1, 安装所需要的包 2, 建立编译的环境,并同步CWM所需的源码,CyanogenMod源码中附带CWM源码 CWM 5 - Gingerbread CWM 6 - Jellybean 3, 下面我们进入真正的编译阶段,确保你已经使用“repo sync ”命令同步了最新的源码 进入源码的目录 放出以下命令:      make -j4 otatools 3.5, 如果你的机型不被CM1

eclipse之The currrently displayed page contains invalid values错误

现象: eclipse的preferences里面须要保存密码,保存报错Could Not Accept ChangesThe currrently displayed page contains invalid values或者是保存后.再次打开preferences窗体,提示The currrently displayed page contains invalid values 环境: Windows 2008 remote windows terminal 远程桌面訪问 clipse J

解决:insert Vodafone sim card,open the mms read report,when receive the read report,cann&#39;t download..

insert Vodafone sim card,open the mms read report,when receive the read report,cann't download the message Test steps: 1.insert Vodafone sim card 2.open the mms read report 3.send the mms successfully 4.when receive the read report 这里的环境需要描述一下:在国内不会出

Android 6.0 SIM卡初始化流程

本文主要讲述Android 6.0 SIM卡初始化流程,这个过程也涉及到UICC框架的初始化,UICC(Universal Integrated Circuit Card)的架构图如下: /** * This class is responsible for keeping all knowledge about * Universal Integrated Circuit Card (UICC), also know as SIM's, * in the system. It is also

recovery

1       总述 为了方便客户日后的固件升级,本周研究了一下android的recovery模式. 2  2     Android启动过程 在这里有必要理一下android的启动过程: 图1 android启动过程 系统上电之后,首先是完成一系列的初始化过程,如cpu.串口.中断.timer.DDR等等硬件设备,然后接着加载boot default environmet,为后面内核的加载作好准备.在一些系统启动必要的初始完成之后,将判断是否要进入recovery模式,从图1中可以看出,进入

Recovery启动流程(1)--- 应用层到开机进入recovery详解

进入recovery有两种方式,一种是通过组合键进入recovery,另一种是上层应用设置中执行安装/重置/清除缓存等操作进行recovery.这篇文档主要讲解上层应用是如何进入到recovery的.本文以高通平台为例. 1.app执行安装/重置/清楚缓存操作调用代码文件frameworks/base/core/java/android/os/RecoverySystem.java 不同的操作使用不同的方法: 安装升级包  --------  installPackage 清除用户数据-----

Basic Concepts of Block Media Recovery

Basic Concepts of Block Media Recovery Whenever block corruption has been automatically detected, you can perform block media recovery manually with the RECOVER ... BLOCK command. By default, RMAN first searches for good blocks in the real-time query