关于MTK平台CC相关的Log查询

在外场问题中,经常会出现通话相关的故障。这里简单总结一下通话相关log的分析点:

主叫方:主叫方,是指主动发起通话的一方。

  1. 初步定位问题,

用户发起通话时,AP端的拨号指令最终会通过AT到达modem,所以可以通过查看radio_log中相关的拨号AT指令来判断问题出现在AP还是BP。

11-04 11:06:06.397   484   487 D AT      : AT> ATD13711349140;

11-04 11:06:06.397   484   487 D AT      : ATD13711349140;

如果出现问题的时间点没有对应的ATD指令,可以推断AP端没有向Modem发送拨号指令,基本可以断定是AP的问题;如果ATD已经下发,可以将问题归属到modem端。

  • AP端,

定位AP端的问题主要根据main_log来跟踪代码的执行流程。

在MTK Androd平台上大致的执行流程如下:

OutgoingCallBroadcast.java

PhoneGlobals.getInstance().callController.placeCall(intent);

CallController.java

CallStatusCode status = placeCallInternal(intent);

PhoneUtils.placeCall (***);

PhoneUtils.java

Connection = app.mCM.dial(phone, numberToDial);

CallManager.java

Result = basePhone.dial(dialString);

GsmPhone.java

Return mCT.dial(newDialString, uusInfo);

cm.dial(*****,  obtainCompleteMessage(EVENT_DIAL_CALL_RESULT));

此后,AP端通过RIL.java将拨号发送至libril,最终到达modem。

  • Modem端,

Modem这边的问题主要通过modem log来排查:

图表 A  MT端正常Modem log示例

PS:可以通过AT+ECPI来查看当前的CC的状态。其中,各字段的值可以参考MTK  AT文档。

被叫方:

1、  粗步定位:

Modem接收到寻呼消息时,会通过检测TMSI来判断是否是对于自身的寻呼。如果是,对其进行响应,并向AP上报RING。

11-04 10:54:09.154   482   497 D AT      :

11-04 10:54:09.154   482   497 D AT      : RING

11-04 10:54:09.154   482   497 D AT      : AT< RING

11-04 10:54:09.154   482   497 D AT      : RIL_URC_READER:RING

11-04 10:54:09.154   482   497 D AT      : RIL_URC_READER Enter processLine

11-04 10:54:09.154   482   497 D RIL     : Nw URC:RING

11-04 10:54:09.154   482   497 D RIL     : receiving RING!!!!!!

11-04 10:54:09.154   482   497 D RIL     : receiving first RING!!!!!!

  • AP端,

RIL.java中接收到下层上报的RING信息之后,会通知CallTracker.java。此中,会将来电信息通知到在其中注册的Handler。

一般而言,这期间一般没有什么问题。

  • Modem端,

正常MT端的modem log如下:

图表 B  MO端正常Modem log示例

通常的问题有如下:

l  没有接收到Paging消息:

[NW->MS] RRC__PAGING_TYPE1

[3G SMART PAGING] Smart Paging Enable = 1,Level2 Enable = 0,Learning CN Domain = 2,SmartPaging_Available = 0,is_Risk_RNC = 1

PGD_TMSI: 4B 54 B 1E

Paging record 2 is for this UE.

CN Paging: CS_DOMAIN, TMSI_TYPE, RRC_PagingCause_terminatingConversationalCall

RRCE: Starts the timer RRCE_PendingPagingTmr_TIMER_ID for 3 seconds and 0 milliseconds

MSG_ID_RATCM_RRCE_PAGE_IND

MSG_ID_MM_RATCM_PAGE_IND

MS is paged with TMSI_TYPE

[MS->NW] MM__PAGING_RESPONSE

以上是UE对Paging的正常响应,可以通过参看MM__PAGING_RESPONSE消息来检测UE是否对问题时间点的寻呼进行响应。

PS: TMSI是MT与网络交互的过程中,网络给MT发送的一个临时的识别码。modem log中可以查看到:

[RRM]  TMSI value 4b54b1e

关于MTK平台CC相关的Log查询的更多相关文章

  1. MTK平台 GPU 相关知识

    一.什么是Render script,以及mtk平台GPU support情况 [DESCRIPTION] 1.什么是RenderScript ? 2.RenderScript 干什么? 3.MTK平 ...

  2. MTK平台-抓取蓝牙log

    一.MTKLOG抓取 .在拔号键盘输入暗码 *#*##*#* 进入工模EngineerMode .在 Log and Debugging -> MTKLogger 点击开始 .MTKLog存储路 ...

  3. MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率

    1,MTK 平台如何查询当前使用的是哪颗摄像头及相关的模组信息? 在该目录下可以查到当前平台及相关项目的配置文件 ProjectConfig.mk \ALPS.JB.MP.V1_W_20120919\ ...

  4. MTK平台系统稳定性分析

    目录 1:简介 2:怎么抓取和分析log 3:怎么确定问题点 简介 系统稳定性目前主要是解决系统死机重启. 分为两部分:Android /kernel Kernel 分析需要的文件和工具: Mtklo ...

  5. Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新

    SystemUI系列文章 Android8.1 MTK平台 SystemUI源码分析之 Notification流程 Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新 And ...

  6. 关于MTK平台SIM-ME Lock的配置方案

    针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...

  7. MTK平台Android项目APK预置方案

    项目开发中,通常需要向系统中预置一些APK,这里简单介绍一下MTK平台预置APK的方法. 需要预置的apk可以放置在目录:vendor/mediate/${Project}/artifacts/out ...

  8. 在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?

    在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?一直弄不明白,但是很多函数的开头就是这个函数,,而且一般有三个参数-- kal_ ...

  9. MTK 平台sensor arch 介绍-hal

    MTK 平台sensor arch 介绍-hal 一:整体框架 二:具体流程简介 AP-HAL: (1)init & control flow 我们以前文的originchannel 的 ac ...

随机推荐

  1. YUM变量

    有一个简单的python命令可以看到yum的 releaserver.arch.basearch的值 /usr/bin/python -c 'import yum, pprint; yb = yum. ...

  2. KMP算法 学习例题 POJ 3461Oulipo

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37971   Accepted: 15286 Description The ...

  3. PHP微信支付开发之扫描支付(模式二)后如何回调

    其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分 ...

  4. ModelState.IsValid一直为false的原因

    一,问题:ModelState.IsValid一直为false 二,解决方法和原因, 由于这个方法中传过来的RegisterForm模型的字段,某一个为空值,则会造成这个验证验证为false,去注释掉 ...

  5. 深入了解css3新特性

    深入了解css3新特性:http://www.ibm.com/developerworks/cn/web/1202_zhouxiang_css3/

  6. google 技巧

    inurl: 用于搜索网页上包含的URL. 这个语法对寻找网页上的搜索,帮助之类的很有用. intext: 只搜索网页部分中包含的文字(也就是忽略了标题,URL等的文字). site: 可以限制你搜索 ...

  7. PL SQL Developer报错框乱码

    在系统变量里设置 变量名:NLS_LANG 变量值设为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  8. validate验证

    导入需要的js          自动验证 <script src="${ctx }/static/assets/js/jquery-2.1.4.min.js">< ...

  9. 关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解

    1. http://bbs.wuyou.com/forum.php?mod=viewthread&tid=303679&fromuid=396698

  10. H5获取的经纬度,该怎么在百度地图中查看?

    之前理所当然的的到百度的坐标拾取系统, 输入H5获取的经纬度坐标,然后查询,然后发现老是有误差,而且误差都是一样的规律:偏实际位置西南方约1000~1500米左右. 以为是H5获取经纬度必然会产生这么 ...