问题描述
测试机 拨号呼出后,一直在4G,超时后自动挂断。
对比机可以呼出成功,呼出时回落3G。
日志分析
测试机和对比机一样发起了CSFB 呼叫。
只是测试机后面没有回落3G。
03:44:40.373264 [0xB0ED] LTE NAS EMM Plain OTA Outgoing Message
prot_disc = 7 (0x7) (EPS mobility management messages)
msg_type = 76 (0x4c) (Extended service request)
lte_emm_msgemm_ext_serv_reqtsc = 0 (0x0) (cached sec context)nas_key_set_id = 1 (0x1)service_type = 0 (0x0) (mobile originating CS fallback)
对比CSFB call时收到网络回复:
测试机收到的 RRCConnectionRelease
03:44:40.529607 [0xB0C0] DL_DCCH / RRCConnectionRelease
Radio Bearer ID = 1, Physical Cell ID = 404
Freq = 1300
value DL-DCCH-Message ::=
{message c1 : rrcConnectionRelease : {rrc-TransactionIdentifier 0,criticalExtensions c1 : rrcConnectionRelease-r8 : {releaseCause other}}
}
对比机收到的RRCRelease
02:58:53.635142 [0xB0C0] DL_DCCH / RRCConnectionRelease
Radio Bearer ID = 1, Physical Cell ID = 404
Freq = 1300
value DL-DCCH-Message ::=
{message c1 : rrcConnectionRelease : {rrc-TransactionIdentifier 0,criticalExtensions c1 : rrcConnectionRelease-r8 : {releaseCause other,redirectedCarrierInfo utra-FDD : 3052}}
}
可以看到测试机收到rrcrelease比对比机收到的rrcrelease少了一个字段。
redirectedCarrierInfo utra-FDD : 3052
这个字段告知终端切换到3G的 band VIII 频段的3052频点。
后续对比机在3g 3052的频点上进行了语音通话。
而测试机一直没有找到合适的2g3g网络进行寻呼,超时后挂断
为什么网络没有告知测试机回落的频点呢?
网络的回复有差异,应该是终端前期的信令有差异。
网络没有告知测试机回落的3g频点。这个频点在3g bandVIII。
那么就怀疑终端是否没有上报3g bandVIII能力?
而且2g3g模式下测试机的表现也是没有信号。而对比机可以。这样进一步问题只和3g能力有关。
由于没有2g3g下的日志。现在关注在4G网络下终端的上报能力消息,即终端发出的UECapabilityInformation 的差异。
通过对比UECapabilityInformation发现,和3G相关的能力里,测试机没有BandVIII相关的上报。
为什么测试机没有上报3g bandVIII频点?
通过读取频段能力nv值。测试机确实没有配置3g bandVIII的频段能力。
而测试机支持3g bandVIII能力。
这样重点就是跟踪为何频段能力nv值被篡改。最终找到篡改的模块,修改bug,解决此问题。