白卡无法注册TDSCDMA问题分析

1、问题描述

       MTK平台 实验室白卡测试TDSCDMA,默认无法注册。使用移动卡测试,无此问题。

2、问题分析        

        查看Radio log,Radio中反复下发EFUN去开关飞行模式。

39191: 08-14 22:45:57.159210  1469  1512 D RmcWp   : [0] +ECSRA info = +ECSRA: 1,0,1,1,1
39192: 08-14 22:45:57.159289  1469  1512 D RmcWp   : [0] handleWorldModeUrc begin
39202: 08-14 22:45:57.175594  1469  1512 D RmcWp   : [0] handleWorldModeUrc state = 0
39248: 08-14 22:45:57.180389  1469  1505 D RtcRadioCont: [0] moduleRequestRadioPower: slot0, requestPower:0, caller: 1
39263: 08-14 22:45:57.181777  1469  1505 D RtcRadioCont: [1] moduleRequestRadioPower: slot1, requestPower:0, caller: 1
39280: 08-14 22:45:57.182438  1469  1533 I AT      : [0] AT> AT+EFUN=0,1 (RIL_CMD_RADIO_9 tid:513481129200)
39286: 08-14 22:45:57.182725  1469  1505 D RtcRadioCont: [2] moduleRequestRadioPower: slot2, requestPower:0, caller: 1
39774: 08-14 22:45:57.233753  1469  1533 I AT      : [0] AT> AT+EFUN=0,1 (RIL_CMD_RADIO_9 tid:513481129200)
39910: 08-14 22:45:57.242045  1469  1533 I AT      : [0] AT> AT+EFUN=0,1 (RIL_CMD_RADIO_9 tid:513481129200)
40586: 08-14 22:45:57.313208  1469  1505 D RtcRadioCont: [0] moduleRequestRadioPower: slot0, requestPower:1, caller: 1
40652: 08-14 22:45:57.315556  1469  1533 I AT      : [0] AT> AT+EFUN=1 (RIL_CMD_RADIO_9 tid:513481129200)
41065: 08-14 22:45:57.345131  1469  1533 I AT      : [0] AT> AT+EFUN=1 (RIL_CMD_RADIO_9 tid:513481129200)

        为什么上层不停下发EFUN呢?调查代码整理如下

        

从代码逻辑来看,相关逻辑主要来源于AT命令主动触发 +ESCRA上报。导致上层主动下发EFUN。查看该AT命令    

      

查看ESCRA相关代码,在RmmWpRequestHandler.cpp中,

int RmmWpRequestHandler::isWorldPhoneSupport() {if (RatConfig_isWcdmaSupported() && RatConfig_isTdscdmaSupported()) {logD(WP_LOG_TAG, "isWorldPhoneSupport() true");return 1;} else {logD(WP_LOG_TAG, "isWorldPhoneSupport() false");return 0;}
}void RmmWpRequestHandler::worldPhoneInitialize(int slot_id) {if (isWorldPhoneSupport()) {atSendCommand("AT+ECSRA=1");logD(WP_LOG_TAG, "AT+ECSRA=1 sent");setWorldPhonePolicy();} else {// 4M & 5M setWorldPhonePolicy.SVLTE_PROJ_TYPE svlteProjectType = getSvlteProjectType();if (isSvlteLcgSupport() || svlteProjectType == SVLTE_PROJ_DC_5M || svlteProjectType == SVLTE_PROJ_SC_5M) {setWorldPhonePolicy();}}// notify world mode change donechar worldModeState[RFX_PROPERTY_VALUE_MAX] = {0};rfx_property_get("persist.vendor.radio.wm_state", worldModeState, "1");logD(WP_LOG_TAG, "World Mode State = %s", worldModeState);if (strcmp("0", worldModeState) == 0) {int status[2] = {1, -1};logD(WP_LOG_TAG, "[worldPhoneInitialize] status[0] = %d, slot_id = %d", status[0], slot_id);// inform telcore to world mode change donesp<RfxMclMessage> urc = RfxMclMessage::obtainUrc(RFX_MSG_URC_WORLD_MODE_CHANGED, slot_id, RfxIntsData(status, 2));responseToTelCore(urc);rfx_property_set("persist.vendor.radio.wm_state", "1");}
}

如果是TDSCDMA 和UMTS都支持的话,RILD会去监听modem +ECSRA的主动上报。导致不停下发EFUN。同步提交MTK CASE确认。

MTK 回复如下

EHPLMN list contains 001012. World mode is 0x3f (LWCTG). Both TDSCDMA and WCDMA are enabled in world mode.

Initially the UMTS duplex mode was TDSCDMA_DUPLEX_MODE. 

PLMN search is initiated on HPLMN_001012_UMTS. PLMN_00101F is found and UE camps on it.

As 00101F is not a China PLMN, a duplex mode switch from TDSCDMA to WCDMA is triggered.

Because of duplex mode switch procedure, AP triggers RF off due to which UE could not register to UMTS_00101F.

Could you please help to retest after changing the world mode to LTG (0x33) ?

3、解决方案

MTK工模->Telephony->World phone设置为LTG模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4编安卓时Core模块为何只include Android文件夹?

Core模块 Core模块是整个引擎中最核心的模块。几乎UE4中的每个其他模块都导入Core。Engine\Source\Runtime\Core\Private下有很多文件夹&#xff0c;下面罗列一部分&#xff1a; G:\St\EngineSource\Engine\Source\Runtime\Core\Private 的目录 2024/07/18 12:02 <DIR…

在Linux中更换软件源

在Linux中更换软件源&#xff0c;通常是编辑 /etc/apt/sources.list 文件或者在 /etc/apt/sources.list.d/ 目录下的相关.list文件。以下是更换为阿里云源的例子&#xff1a; 1.备份原有的 sources.list 文件&#xff1a; sudo cp /etc/apt/sources.list /etc/apt/sources.li…

学习笔记七:基于Jenkins+k8s+Git+DockerHub等技术链构建企业级DevOps容器云平台

基于Jenkinsk8sGitDockerHub等技术链构建企业级DevOps容器云平台 安装Jenkins在kubernetes中部署jenkins创建名称空间创建pv,上传pv.yaml创建pvc创建一个sa账号通过deployment部署jenkins更新资源清单文件把jenkins前端加上service&#xff0c;提供外部网络访问 配置Jenkins获取…

数学建模学习(116):全面解析梯度下降算法及其在机器学习中的应用与优化

文章目录 1.梯度下降简介1.1 梯度下降的数学原理1.2 学习率的选择2 梯度下降变体3.梯度下降优化器3.1 动量法(Momentum)3.2 AdaGrad3.3 RMSprop3.4 Adam3.5 Python 使用不同优化器训练线性回归模型4.案例:使用梯度下降优化加利福尼亚房价预测模型4.1. 数据准备4.2. 模型训练…

功能测试和性能测试区别简析,软件测试公司如何开展有效测试?

软件功能测试旨在验证软件是否按照需求和设计规范正常运行&#xff0c;软件性能测试则是用来评估软件在特定负载条件下的行为和响应时间&#xff0c;确保软件在高并发和高需求的环境中能够稳定运行。 虽然两者都属于软件测试的重要组成部分&#xff0c;但它们的目的和重点却有…

sp2杂化 与 sp3杂化

sp杂化 概念&#xff1a;当碳原子采用sp杂化时&#xff0c;它会把一个2s轨道和两个2p轨道混合&#xff0c;形成三个能量相同、方向呈120角的杂化轨道。这些轨道平面呈三角形排列。键的形成&#xff1a;在这种杂化状态下&#xff0c;碳原子会形成三个σ键&#xff08;单键&…

依赖倒置原则(Dependency Inversion Principle, DIP)

依赖倒置原则&#xff08;Dependency Inversion Principle, DIP&#xff09;是面向对象设计中的一个重要原则&#xff0c;它旨在降低代码之间的耦合度&#xff0c;提高系统的可维护性、可扩展性和灵活性。这一原则的核心思想是要求高层模块不应该依赖于低层模块&#xff0c;而应…

《区块链:共享经济发展的创新驱动力》

在当今数字化时代&#xff0c;共享经济以其高效利用资源、降低成本和创造新的价值模式等优势&#xff0c;迅速崛起并改变着人们的生活和消费方式。然而&#xff0c;共享经济在发展过程中也面临着一系列挑战&#xff0c;如信任缺失、数据安全、交易成本高等。区块链技术的出现&a…

【Java-==与equals】

与equals区别&#xff1a; 1.是关系运算符&#xff0c;equals()是0bject类中定义的方法 2.基本数据类型: 使用比较值&#xff0c;无法使用equals() 3.引用数据类型: 使用比较内存地址; 如果没有重写equals(),仍然调用的是0bject父类的equals(()方法&#xff0c;则比较的是内…

开发团队学会应对突发的技术故障和危机

文章目录 一、前言二、应对方法2.1 建立应急响应计划2.2 实时监控与预警2.3 快速定位问题2.4 沟通和协调2.5 调整资源2.6 快速评估影响2.7 利用风险管理工具2.8 备份与恢复策略2.9 客户沟通2.10 事后总结与改进2.11 总结和反思 三、总结 一、前言 8月19日下午&#xff0c;网易…

Leetcode-day30-动态规划-不同路径

62. 不同路径 这个题动态规划的特征比较明显&#xff0c;我们就看终点&#xff0c;到终点的不同路径就等于要么从他上面一格往下走一格&#xff0c;要么从他左边一个往右走一格&#xff0c;所以可以得出递推公式。 动态规划五部曲&#xff1a; 1. 确定dp数组的含义&#xff0…

【经典算法】BFS_最短路问题

目录 1. 最短路问题介绍2. 算法原理和代码实现(含题目链接)1926.迷宫中离入口最近的出口433.最小基因变化127.单词接龙675.为高尔夫比赛砍树 3. 算法总结 1. 最短路问题介绍 最短路径问题是图论中的一类十分重要的问题。本篇文章只介绍边权为1(或边权相同)的最简单的最短路径问…

手机谷歌浏览器怎么用

谷歌浏览器不仅在PC端受欢迎&#xff0c;在移动端也是广泛应用的。为了帮助大家更好的理解和使用手机谷歌浏览器&#xff0c;本文将详细介绍如何使用手机谷歌浏览器&#xff0c;对这款浏览器感到陌生的话就快快学起来吧。&#xff08;本文由https://chrome.cmrrs.com/站点的作者…

element-plus默认菜单打开

在 Vue 3 中使用 Element Plus 的 <el-menu> 组件时&#xff0c;默认情况下菜单项是关闭状态的。如果你想让某个菜单项默认处于展开状态&#xff0c;你可以通过设置菜单项的 default-active 属性来实现。 默认写法 步骤 1: 设置 default-active 你需要在 <el-menu&…

《分析模式:可重用对象模型》学习笔记之四:企业财务分析中的观察和测量06

下面是一些用Java 给出的代码示例&#xff08;Sample code&#xff09;&#xff0c;是作者最喜欢的Date Range。 class DateRange... public DateRange (Date start, Date end) { this (new MfDate(start), new MfDate(end)); } public DateRange (MfDate start, MfDate end) {…

会声会影剪辑视频收费吗,会声会影最新破解版

会声会影2024&#xff1a;引领视频创作新时代的创新之旅** 在数字时代的浪潮中&#xff0c;视频创作已成为连接世界、表达创意的重要方式。随着技术的不断进步&#xff0c;一款名为“会声会影2024”的视频编辑软件横空出世&#xff0c;它不仅继承了前代产品的优秀传统&#xf…

如何在VMwareWorkstation上安装的ESXi系统扩容存储

在做ESXi的相关实验的时候&#xff0c;需要扩容ESXi的存储&#xff0c;那么如何进行操作呢&#xff1f; 扩容VMwareWorkstation上虚拟机的存储 首先我们需要先扩容虚拟机上的存储&#xff08;可不关闭虚拟机&#xff09;按照图下所示&#xff0c;右键虚拟机&#xff0c;点击设…

银行总分支文件分发系统:在安全与效率之间找到平衡

银行的组织结构通常根据其规模、业务范围和地域分布而有所不同&#xff0c;但一般会包括以下几个层级&#xff1a;总行-区域总部或分行-分行-支行-业务中心或服务中心-国际分支机构-附属机构或子公司。 在日常中&#xff0c;存在总分支文件分发的业务场景&#xff0c;文件类型通…

最方便的MODIS数据下载

这篇文章给出现在最方便的MODIS数据下载方法。 传统的方式通过访问NASA的数据中心&#xff1a;https://ladsweb.modaps.eosdis.nasa.gov/ 具体方法可以参考我前面的一篇文章&#xff1a;https://blog.csdn.net/qq_39085138/article/details/116302600 但是可以发现如果想要处理…

代码随想录算法训练营第二十二天(回溯 一)

开始学习回溯&#xff01; 回溯理论基础 代码随想录文章链接:代码随想录 文章摘要: 什么是回溯法 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 在二叉树系列中&#xff0c;我们已经不止一次&#xff0c;提到了回溯。 回溯是递归的副产品&#xff0c;只…