mdm9607 mcfg_sw.mbn修改編譯方法
一、平臺實際遇到問題:
1.未新增運營商mcfg_sw.mbn配置檔案,存在裝置找網速度慢的問題。
2.新增高通預設配置mcfg_sw.mbn,出現問題: (1)裝置插入移動卡,呼入會出現自動接聽。 (2)裝置插入電信4G卡,無法4G上網。 (3)裝置插入特定物聯網路卡,UE無法正常切換對應運營商配置。預設切換至3GPP,導致無法正常上網。
3.使用QXDM 修改網路相關的nv引數,切換運營商卡後,nv引數配置失效。
二、原因分析
1.裝置搜網會根據對應運營商mcfg_sw.mbn中配置去搜尋相應的頻段,未新增則會導致裝置輪詢所有頻段,從而導致駐網速度慢。
2.高通通過nv項中的引數來設定裝置一些定製功能。 (1)檢視nv850(CT電信預設配置為cs only)從而導致電信卡4G無法上網 PS域(Packet SwitchedDomain)為分組(交換)域,CS域(Circuit SwitchedDomain)為電路(交換)域。 通俗的說,打電話語音訊號走的是CS,上網等資料業務訊號走PS。 (2)檢視nv74(CMCC移動卡預設配置為enable)nv74是控制電話自動接聽,因此出現移動卡裝置呼入會出現自動接聽。
3.UE會根據插入運營商卡的iccid來切換相應mcfg_sw.mbn配置。物聯網路卡採用專用號段,因此可能存在配置不支援導致無法正常切換運營商配置。 (由於這批移動物聯網路卡iccid前幾位為898604,mbn未配置因此會導致UE無法正常切換mbn配置,導致無法上網。) 什麼是物聯網路卡
4.使用QXDM修改引數後為何切換不同運營商卡後,nv配置引數會失效。 假設插入電信卡後,裝置通過QXDM修改nv,改nv值並沒有寫入到mcfg_sw.mbn中,簡單理解為臨時引數。 當裝置插入移動卡後,UE會根據iccid來切換mcfg_sw.mbn。它獲取的引數依然是從該檔案內部讀取,修改的值未起到作用。
圖為運營商mbn配置,CU CMCC CT 分別對應聯通、移動、電信。其他為預設硬體軟體配置。
三、具體流程
1.修改XML原始檔
(1)路徑:modem_proc\mcfg\mcfg_gen\generic\china(有全球各個地區的運營商配置資訊)
圖為生成cmcc mcfg_sw.mbn各個xml配置檔案
(2)修改內容 CT:
CMCC:
目前只在已有的NvItemData項中修改引數,還未測試自己新增新的nv配置。
2.編譯流程
(1)編譯引數說明
(2)實際測試命令a.進入/modem_proc/mcfg/build
b.編譯CT mbn命令: perl build_mcfgs.pl --build_id=9607.genns.prod --configs=mcfg_sw:OpenMkt-Commercial --force-regenerate --force-rebuild --source-dir=generic/China/CT --xml mbn檔案生成路徑:/modem_proc/mcfg/configs/mcfg_sw/generic/China/CT/Commercial/OpenMkt
c.編譯CMCC mbn命令: perl build_mcfgs.pl --build_id=9607.genns.prod --configs=mcfg_sw:Commercial-CSFB-SS-LocTech --force-regenerate --force-rebuild --source-dir=generic/China/CMCC --xml mbn檔案生成路徑:/modem_proc/mcfg/configs/mcfg_sw/generic/China/CMCC/CSFB/SS
3.出現問題: (1)現象 Building MBN for mcfg_sw:Commercial-CSFB-SS-LocTech... Could not open or create temporary file '/media/root/exdisk/workspace/L170_4K/modem_proc/mcfg/mcfg_gen/scripts/data/efs_files/cmcc/profile4' 沒有那個檔案或目錄 at ../mcfg_gen/scripts/mcfg_write.pm line 1242.
(2)原因 原始碼中該檔案大小寫存在差異,去原始碼中修改相應profile檔案大小寫,問題解決。
4.xml新增移動物聯網路卡支援
(1)找到移動對應的xml檔案
(2)新增物聯網路卡iccid前6位數字。
(3)重新編譯mcfg_sw.mbn檔案,通過PDC tool重新load裝置,測試成功。