問題描述
測試機 撥號呼出后,一直在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,解決此問題。