文章轉自:https://onlinesso.mediatek.com/Pages/FAQ.aspx?list=SW&FAQID=FAQ20103
[網絡]插入移動卡和非移動卡,非移動卡爲主卡時無信號
自2017年4月開始經常會收到這樣的問題:在插入移動卡和非移動卡時,如果切換非移動卡爲主卡時,出現非移動卡搜不到網絡,無法註冊上網絡,無信號等現象。
如果是當前測試機本來就是移動定製版,那麼這個現象就是正常的。如果當前測試機不是移動定製版,如是open market版本,那麼就是不正常的,可以參考如下第3點的方法解決。
2.在modem log的 “PS Intergrated” log中搜索SBP ID,如果看到如下的log中SBP ID=1,那麼說明modem走的是移動定製版的流程,modem會按移動定製版進行配置,就會出現這樣的現象。
1092, 2937, 708, 18:44:20:000 2017/06/03, MOD_L4C, , TRACE_INFO, SBP ID = 1, MD CCCI SBP = 1, OLD_SBP_ID = 1, IMS op_code = 1
如果是移動定製版,那麼上面的log就是正常的,出現這樣的現象也是正常的。但是如果是open market版本,那麼如果看到SBP ID=1那麼就是不正常的,就需要按第3點的方法來解決該問題。open market版本,正常的log應該是下面這樣:
1092, 2937, 708, 18:44:20:000 2017/06/03, MOD_L4C, , TRACE_INFO, SBP ID = 0, MD CCCI SBP = 0, OLD_SBP_ID = 0, IMS op_code = 1
或者
1092, 2937, 708, 18:44:20:000 2017/06/03, MOD_L4C, , TRACE_INFO, SBP ID = 0, MD CCCI SBP = 0, OLD_SBP_ID = 0, IMS op_code = 0
3.但是如果實際上當前問題的項目是open market版本,並不是移動定製版。那麼請先確認AP端SBP這塊的配置是否正確,如果確認配置正確,說明當前問題機之前有刷過移動定製版,然後非全擦下載的open market版本。請按如下(1)進行正確配置,然後按(2)進行相應操作即可解決該問題。(爲什麼以前這個配置沒有問題呢?因爲這是移動最新出的規定,我們也是在2017年4月做的該feature,只有合入了最新做的patch,纔會出現該問題。如modem branch MOLY.LR9.W1444.MD.LWTG.MP上面的MOLY00241028就是其中一筆patch)。
(1) open market版本,MTK默認正確配置如下,MTK_MD_SBP_CUSTOM_VALUE必須爲0,CONFIG_MTK_MD_SBP_CUSTOM_VALUE必須爲”0”。
- Under device/mediatek path
- [Project_Name]/ProjectConfig.mk,
e.g. k55v1_64_om_lwg_volte_ss/ProjectConfig.mk
- Set MTK_DYNAMIC_SBP_SUPPORT = yes
- Set MTK_MD_SBP_CUSTOM_VALUE = 0
- Set OPTR_SPEC_SEG_DEF = NONE
- [Project_Name]/ProjectConfig.mk,
e.g. k55v1_64_om_lwg_volte_ss/ProjectConfig.mk
- Under kernel-3.xx/arch/arm64/configs path
- [Project_Name]_defconfig,
e.g. k55v1_64_om_lwg_volte_ss_defconfig
- Set CONFIG_MTK_MD_SBP_CUSTOM_VALUE = "0"
- [Project_Name]_debug_defconfig,
e.g. k55v1_64_om_lwg_volte_ss_debug _defconfig
- Set CONFIG_MTK_MD_SBP_CUSTOM_VALUE = "0"
- [Project_Name]_defconfig,
e.g. k55v1_64_om_lwg_volte_ss_defconfig
(關於配置這塊的詳細內容,可以參考DCC上面的文檔VoLTE_Configuration.pptx,或者可以參考MTK online上面的Quick Start > IMS功能專區(VoLTE/VoWifi/ViLTE) > IMS Configuration。)
(2)因爲MTK_MD_SBP_CUSTOM_VALUE和CONFIG_MTK_MD_SBP_CUSTOM_VALUE值在非0的情況下,會將該值存入AP NVRAM AP_CFG_RDCL_FILE_MD_SBP_LID中的md_sbp_code中。且該NVRAM具有備份屬性,所以需要清除md_sbp_code的值,確保爲0,纔可以解決該問題。所以除了確保配置正確還需要貴司根據具體情況選擇如下操作①~③中的任一步來清除md_sbp_code的值,解決該問題。(如果是批量手機下載過當前版本推薦使用第①or第②種方法,如果只是一臺測試機有此問題,可以採用第③種方法,當然採用第①和第②種也是可以的)
①採用formal all+download升級,即全擦升級。
②採用firmware upgrade,download only或者OTA升級時,需要將AP_CFG_RDCL_FILE_MD_SBP_LID_VERNO在原有的基礎上加1。
Modify AP code /vendor/mediatek/proprietary/custom/common/cgen/inc/CFG_file_lid.h
AP_CFG_RDCL_FILE_MD_SBP_LID_VERNO example from "001" to "002"
③如果貴司採用firmware upgrade,download only或者OTA升級時,並沒有將AP_CFG_RDCL_FILE_MD_SBP_LID_VERNO在原有的基礎上加1。那麼升級後,貴司可以使用SP meta tool連接手機查看AP_CFG_RDCL_FILE_MD_SBP_LID,查看md_sbp_code的值是不是就是1,如果是1,修改爲0,然後保存,觸發備份(不然恢復出廠設置後還會出現giant問題),如下圖所示。
———————————————————————————————————————
注意:今後測試時,同一臺測試機請不要在定製版和open market之前互刷,特別是移動定製版和open market版本,否則也有可能出現這類問題。原因就像上面(2)所說的,如將移動定製版刷成open market版本,會將移動定製版的配置保留下來。所以定製版和open market版本測試時請使用不同測試機測試,否則每次只能全擦下載。
———————————————————————————————————————
[EXAMPLE]
如最近常見的AT+EGTYPE=4返回ERROR導致無法註冊上網絡,紅色字體的log是關鍵log。
//SBP ID=1表示當前modem走的是移動定製版的流程,這個SBP ID是開機時,AP傳過來的。
PS 4834 712 14:24:35:910 L4C SBP ID = 1, MD CCCI SBP = 1, OLD_SBP_ID = 1, IMS op_code = 1 SBP ID=1表移動定製版,modem會按移動定製版進行配置
SYS 67223 6142 14:25:02:965 NIL [AT_I p17, s5]AT+EGTYPE=4
PS 67240 6142 14:25:02:965 RAC [RAC] op01 protect effective, should ignore all reg req
SYS 67275 6142 14:25:02:965 NIL [AT_R p17, s5]ERROR