当前位置: 首页> 教育> 培训 > 切换数据失败0x1671分析

切换数据失败0x1671分析

时间:2025/7/27 21:51:12来源:https://blog.csdn.net/tjpuzm/article/details/140637383 浏览次数:1次

1、问题背景

        切换双卡数据开关,无法切换成功,且单机必现该问题

2、问题分析

    搜索Log发现相关拨号无法建立成功,返回0x1671,无法建立PDN连接。

 

相关拨号上层未下发相关AT命令,属于上层报错,并非网络问题,相关具体在代码RtcDataController.cpp的函数enqueueForPreferredDataMode中上报。

其中RFX_STATUS_KEY_SLOT_ALLOW表示当前RILD当前DDS,如果是当前DDS,这个SETUP_DATA_CALL下发到RILD的下一层,否者直接返回错误。那说明当前DDS没有更新,导致了问题。

对比正常切换和异常切换的Log分析。

正常Log

异常Log

异常Log在切换DDS时实际是没有切换的

从Log可以看到虽然上层都下发了> SET_PREFERRED_DATA_MODEM

并且RILD都回复了< SET_PREFERRED_DATA_MODEM 但是实际DDS确没有切换。相关切换流程总结如下。

红色框为问题出现的地方。查看相关代码

红色框为问题出现的地方。查看相关代码

说明mOnDemandQueue请求中还有相关请求在处理,导致无法下发切换DDS。最终在框架层发现如下异常请求,包名为“com.tencent.android.qqdownloader”,但是请求的能力没有Internet能力,只有BANDWITH和PRIORITIZE_LATENCY能力。卸载相关APP后问题恢复。

3、对比测试

        发现5G手机发现无此问题,原因在于5G modem支持有区别

相关代码区别在于EDataSimSupported是支持的,在5G平台

相关AT命令如下

4、解决方案

针对无APN相关的请求不要放入相关队列。

        由于 PRIORITIZE_LATENCY  PRIORITIZE_BANDWIDTH 与5G切片强相关,建议修改是加上5G能力判断。

5、延展验证

     抓取MTK 副卡发彩信流程

        0x1671实际为MTK设计的流程,当SETUP_DATA_CALL请求存在时,不允许相关DDS下发切换。如果只是临时的报错,可以忽略,如果一直上报错误,需要check相关拨号逻辑。

关键字:切换数据失败0x1671分析

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: