首页 > 代码库 > android SIM Switch功能和配置

android SIM Switch功能和配置

SIM Switch feature是Smart 3G switch feature在LTE版本上发展演变而来的功能;
MTK双卡双待单通版本只有一个3/4 G Protocol,所以同一时刻只有一个卡可以camp on 3/4G,默认在卡槽1;
与Smart 3G switch功能对应的,LTE版本上面,MTK有SIM Switch feature,可以在某些case下自动将3/4G protocol切给sim2用。
配置:
1.开关SIM Switch功能的配置
在ProjectConfig.mk里面设置
MTK_SIM_SWITCH = yes/no
MTK_SIM_SWITCH_POLICY = 1/2
1: open market rule
2: operator rule
如果 MTK_SIM_SWITCH 为no, MTK_SIM_SWITCH_POLICY 的值将会被忽略;
2.SIM Switch与3G Switch配置的关系:
KK之前的版本配置3G Swtich;
KK1.MP3,KK1.MP11,配置SIMSwitch;其他KK1的版本配置3G Switch;
KK1.MP3DS  KK2.MP13及之后的版本,配置SIMSwitch;
自动切换规则:
自动切换的时机 Bootup / After SIM changes:
1)Normal boot up
2)IPO / Modem reset
3)SIM hot plug / common slot
 
SIM Switch Policy 提供2种切换规则:
1.Open Market Policy (OM)
Code path:   
alps\mediatek\frameworks\base\telephony\java\com\mediatek\telephony\SimSwitchPolicyDefault.java
Open Market Policy Rules:
1)3/4G capability 默认在SIM1
2)仅插1张卡时:
3/4G capability 将会切到这张仅有的SIM卡上
3)插2张卡时:
看卡槽中插的卡是否有上次开机时设定为的,如果有,优先将切给这张卡用(last ICCID saved)
如果没有,则上一次关机3g 开在哪个卡槽就在哪个卡槽.
4)Open Market Policy 总是允许用户手动切换;
 
2.Operator Policy (OP)
Code path:   
alps\mediatek\frameworks\base\telephony\java\com\mediatek\telephony\SimSwitchPolicyOp.java
允许其他的operator定义新的rule,目前仅实现CMCC的rule.
Operator Policy 仅在某些case下允许用户手动切换.
CMCC的rule:
在open market 切换的基础上,需要遵循如下的规则:
1)CMCC policy check rules (优先级)
a)运营商的优先级:
中国移动用户卡 > 非中国大陆运营商
中国大陆非中国移动运营商只能注册到2G;
b)SIM类型优先级
USIM > SIM
2)允许用户手动切换的条件:
当两张卡的operator和type相同时,才允许用户手动切换;
更多关于SIM Switch切换规则的说明,可以参见DMS上面的如下文档:
SIM switch policy-LTE.pptx和SIM Switch Introduction-SGLTE DSDS.pptx;
(直接在DMS上面搜索SIM switch就可以找到)

android SIM Switch功能和配置