network mode的常見類型有
WCDMA preferred : 0
GSM only : 1
WCDMA only : 2
GSM UMTS : 3
CDMA : 4
... (參考RILConstants.java)
是透過AT+ERAT把mode的值丟給modem,讓modem設定對應的mode。 如果是TDD手機,那麼其network mode的值和WCDMA是對應的。
WCDMA preferred -- TD-SCDMA preferred
WCDMA only -- TD-SCDMA only
這個network mode在第一次開機時會有一個參數來記錄默認值,這個參數就是PREFERRED_NETOK_MODE,該參數定義在在RILConstants.java中。在SettingProvider loading的時候,這個參數的值就寫到Settings.Global.PREFERRED_NETWOK_MODE當中(參考SettingsProvider中的DatabasHelper.java)。然後在make default phone的時候就根據Settings.Global.PREFERRED_NETWOK_MODE取出來的值來使用。
注:因為network mode是End user可以通過操作setting菜單切換的,所以本FAQ只是修改download完第一次開機的network mode默認值
AP端修改如下:
有了上述的描述,設定默認的network mode比較簡單,就是把PREFERRED_NETWORK_MODE的默認取值修改掉即可,目前PREFERRED_NETOK_MODE默認值是NETWORK_MODE_WCDMA_PREF。
例如默認設成GSM only:
RILConstants.java 路徑: alps/framework/base/telephony/java/com/android/internal/telephony/
Modem端修改如下:
modem端修改preferred rat對應的nvram 是NVRAM_EF_RAC_PREFERENCE_LID
請幫忙根據需要修改相關default數組COMMON_NVRAM_EF_RAC_PREFERENCE_DEFAULT的IR preferred RAT(紅色highlight部分):
/* 4th byte is IR preferred RAT and MM preferred RAT */
// MM preferred RAT 0x00 : RAT_NONE 0x01 : RAT_GSM 0x02 : RAT_UMTS
0x00
+
// IR preferred RAT 0x00 : RAT_NONE 0x10 : RAT_GSM 0x20 : RAT_UMTS
0x20 //