白卡无法注册TDSCDMA问题分析

news2025/1/12 18:20:02

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 done
    char 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 done
        sp<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.coloradmin.cn/o/2064679.html

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

相关文章

CART决策树-基尼指数(全网最详解)

文章目录 一、基尼指数的定义二、基尼指数在CART决策树中的应用三、基尼指数与CART决策树的构建1.计算每个子集的基尼系数&#xff1a;2.计算基尼指数3.选择最优特征4.其余基尼指数5.构建决策树 四、总结 CART决策树基尼指数是CART&#xff08;Classification And Regression T…

稳石机器人 | 工业级AMR S1200L,专为多样化需求设计,柔性拓展更易用

近日&#xff0c;稳石机器人重磅推出基于新品控制器ROC1000的全新移动机器人AMR S1200L&#xff0c;专为满足生产制造和仓储物流的多样化需求而设计&#xff0c;无需改造现场&#xff0c;最快可在1周内完成部署。 重载型AMR-S1200L设计注重实用性和灵活性&#xff0c;可在室内…

Excel 中找出每列第一个和最后一个非空格对应的行--Excel难题#87

Excel表格的第2-6列有空格。 ABCDEF1StartDateQID1QID2QID3QID4QID5210/03/2024 10:561yes32310/03/2024 03:102no423409/03/2024 19:253yes22509/03/2024 11:404no1yes609/03/2024 03:555yes5no708/03/2024 20:106808/03/2024 12:257no908/03/2024 04:408yes1007/03/2024 20:…

Linux云计算 |【第二阶段】SECURITY-DAY4

主要内容&#xff1a; Kali系统、扫描与抓包、Nginx安全加固、Linux基本防护 补充&#xff1a;使用Curl命令查看网页头部信息和页面内容 不加选项&#xff0c;默认查看网页的内容&#xff1b; [ -I ] 选项&#xff1a;访问服务器页面时&#xff0c;显示HTTP的头部信息&#xf…

用阿里云“无影”搭建《黑神话:悟空》电脑环境

目录 《黑神话&#xff1a;悟空》 阿里云无影试用版概述 阿里云无影云电脑试用版情况 具体详细过程&#xff08;搭建环境&#xff09; 《黑神话&#xff1a;悟空》 《黑神话&#xff1a;悟空》作为一款高品质的国产游戏&#xff0c;对硬件配置有一定的要求。根据公开发布的…

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用性能优化一(界面层面)

学完时间&#xff1a;2024年8月22日 学完排名&#xff1a;第1801名 一、介绍 在开发HarmonyOS应用时,优化应用性能是至关重要的。通过/ArkTS高性能编程、减少丢帧卡顿、提升应用启动和响应速度 可以有效提升用户体验。本文将介绍一些优化HarmonyOS应用性能的方法。 一、Ark…

Go开发桌面客户端软件小试:网站Sitemap生成

在前一篇【手把手教你用Go开发客户端软件&#xff08;使用Go HTML&#xff09;】中&#xff0c;我们详细介绍了如何通过Go语言开发一个简单的桌面客户端软件。本次&#xff0c;我们将继续这个系列&#xff0c;使用Go语言结合Sciter的Go绑定库——go-sciter&#xff0c;实战开发…

14.C基础_结构体

定义与使用 1、定义 定义结构体&#xff1a; 定义结构体时&#xff0c;需要注意最后的分号必须加上。 定义结构体时&#xff0c;成员只去声明类型&#xff0c;不进行赋值。赋值在定义结构体变量时进行。 struct 结构体名{结构体成员列表 }; //注意这里的分…

Qt入门学什么?

Qt是一个跨平台的C图形用户界面应用程序框架&#xff0c;它为应用程序开发者提供建立图形界面所需的所有功能。Qt框架以其面向对象、易于扩展的特性而受到广泛欢迎&#xff0c;并且支持多种平台&#xff0c;包括桌面、嵌入式和移动平台 。 对于Qt的入门学习&#xff0c;可以通过…

uniapp+vue3的defineProps传递

//index.vue <view class"topic"><!-- 磨砂背景 --><view class"content"><matte v-for"(item,index) in 8" :key"index"></matte><matte isMore"false"></matte></view>&…

0成本学习Liunx系统【只需要一台笔记本电脑,无需购买云服务器】

【准备工作&#xff0c;需要软件】&#xff1a; 1&#xff1a;MobaXterm 【服务器连接工具&#xff08;免费开源&#xff09;】 2&#xff1a;CentOS-7-x86_64-DVD-2009.iso 【CentOS-7 镜像】 3&#xff1a;VirtualBox-7.0.20-163906-Win.exe 【虚拟机壳子】 4&…

朴素贝叶斯与决策树分类

朴素贝叶斯分类 1贝叶斯分类理论 选择高概率对应的类别 2条件概率 事件B发生的情况下&#xff0c;事件A发生的概率 &#x1d443;(&#x1d434;|&#x1d435;)&#x1d443;(&#x1d434;∩&#x1d435;)/&#x1d443;(&#x1d435;) > &#x1d443;(&#x1d43…

【前端面试】浏览器原理解读

前端进阶——浏览器篇-CSDN博客 浏览器工作原理与Javascript高级&#xff08;前后端异步&#xff09;-CSDN博客 DOM树的建立过程 前端DOM&#xff08;文档对象模型&#xff09;数的建立过程&#xff0c;实际上是浏览器解析HTML文档并构建DOM树的过程。这一过程大致可以分为以…

声音克隆GPT-SoVITS 2.0软件和详细的使用教程!

天命人&#xff0c;请允许我先蹭个热点&#xff01; 原始声音&#xff1a; 播放 克隆声音&#xff1a; 播放 文章写了一半&#xff0c;被《黑神话悟空》刷屏了。突发奇想&#xff0c;用里面的声音来做个素材试试看。 B站捞了一点声音素材&#xff0c;随便剪一剪&#xff0c…

IOS半越狱工具nathanlr越狱教程

简介 nathanlr 是一款半越狱工具&#xff0c;不是完整越狱。 半越狱只能使用一些系统范围的插件。 无法做到完整越狱 Dopamine 越狱一样插件兼容性。 nathanlr支持 iOS 16.5.1 – 16.6.1 系统。 支持 A12 及以上设备。 肯定有人问&#xff0c;为什么仅仅支持这些系统&#xff…

关于全球影像下载你需要知道这些参数

经常会有客户问我们&#xff0c;如果想要下载全球的影像应该怎么下载&#xff0c;这里我们用数字说话&#xff0c;为你介绍一下全球影像下载的那些关键参数。 TIF文件大小 在开始之前说明一下&#xff0c;以下表格中所有出现的级别均为标准级别&#xff0c;如果想对应水经微图…

Qt系列之数据库(一)

Qt 数据库开发是指在Qt框架下进行数据库操作的开发工作。Qt提供了一套强大的数据库模块&#xff0c;可以方便地与多种数据库进行交互&#xff0c;如SQLite、MySQL、PostgreSQL等。 该模块中接口是使用C语言&#xff0c;也就是说&#xff0c;学习相关的类及类的接口使用。 qt…

我的Markdown简历模板开源了!

我之前写过一篇文章&#xff0c;很详细的讲解了如何使用Markdown写出一份漂亮的简历&#xff0c;并且在各个博客平台都有发布。 为了方便&#xff0c;我在这贴一下这篇文章的链接&#xff1a;✨Markdown制作简历教程 如果你还没有读过&#xff0c;或者恰好需要做一份新的简历…

【Kubernetes】K8s中Container(容器)、Pod(小组)和node(节点)概念讲解

Kubernetes学习之路 第一章 Kubernetes学习入门之Container(容器)、Pod(小组)和node(节点)概念 文章目录 Kubernetes学习之路前言一、Container&#xff08;容器&#xff09;二、Pod&#xff08;小组&#xff09;1.单容器 Pod2.多容器 Pod 三、Container&#xff08;容器&…

132-横向移动-Exchange 服务有账户 CVE 漏洞无账户口令爆破

Exchange服务 Microsoft Exchange Server 是微软公司推出的一款企业级邮件服务器软件&#xff0c;它提供了一套全面的电子邮件服务组件&#xff0c;以及消息和协作系统。Exchange Server 不仅支持电子邮件服务&#xff0c;还提供了日历、联系人管理、任务管理、文档管理、实时会…