10. Sim Hot Plug

oginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
Table of Contents
1. SIM 卡不识别 ................................................................................................................................ 3
1.1. sim 卡检卡流程介绍: ............................................................................................................ 3
1.2. Sim 卡不识别如何排查 ........................................................................................................... 3
1.3. 举几个不识卡的例子: ........................................................................................................... 4
1.3.1. 没有收到卡回的ATR (多数不识别卡的问题都是这种case). .................................................. 4
1.3.2. 有收到ATR,但是后面跟卡通信出现异常 ............................................................................. 5
1.3.3. Sim 卡热插拔卡配置不正确引起的不识卡问题 ....................................................................... 6
1.3.4. 某些特殊的卡与Mediatek MT6589/6572/6582/6592/6271 平台兼容问题,MT6595 之后的平
台已修正。 6
2. Sim 卡掉卡 ................................................................................................................................... 8
2.1. 掉卡和掉网的区别 .................................................................................................................. 8
2.2. Fast recovery ......................................................................................................................... 8
2.3. Full recovery .......................................................................................................................... 8
2.4. 排查方法 ................................................................................................................................ 9
2.4.1. 举例1:出现真正的物理“掉卡”! ..................................................................................... 9
2.4.2. 举例2:干扰导致的掉卡! .................................................................................................. 10
3. Sim 卡热插拔 ............................................................................................................................. 12
3.1. 热插拔功能简单介绍 ............................................................................................................. 12
3.2. 热插拔feature option 说明 ................................................................................................... 12
3.3. 中断配置 .............................................................................................................................. 12
3.4. 分平台举例说明中断配置方法: ........................................................................................... 13
3.4.1. MT6582/MT6592 平台: ..................................................................................................... 13
3.4.2. MT6572 平台 ....................................................................................................................... 13
3.4.3. MT6589 平台 ....................................................................................................................... 13
3.4.4. 82/92+90 热插拔配置方法 ................................................................................................... 13
3.4.5. MT6595 平台 ....................................................................................................................... 13
3.4.6. MT6580 平台 ....................................................................................................................... 14
3.4.7. MT6735/MT6753/MT6795/MT6797/MT6755 等LTE 平台 ................................................... 14
3.5. 热插拔功能如何验证 ............................................................................................................. 15
3.6. 热插拔功能异常排查方法: .................................................................................................. 15
3.7. 如何从log 中查看中断信息: ............................................................................................... 17
3.8. PLUG IN/OUT ignore 原因 ................................................................................................... 17
3.9. sim 卡热插拔与full recovery 区别 ........................................................................................ 18
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
4. 如何实现卡槽交换? ................................................................................................................... 19
有客户因为hw 设计的关系,需要交换卡槽。让原本的卡槽2 的卡变为卡1,卡槽1 的卡变为卡2. . 19
5. 双卡共卡座功能介绍 ................................................................................................................... 20
5.1. 功能介绍 .............................................................................................................................. 20
5.2. Feature option 介绍 .............................................................................................................. 20
5.3. 中断配置 .............................................................................................................................. 20
5.4. 双卡共卡座热插拔log........................................................................................................... 20
6. 双卡共卡座热插拔项目进行卡槽交换后热插拔失效,如何修正? ............................................... 22
有客户hw 上是双卡共卡座设计,并且支持热插拔。后面因为项目需要进行了卡槽交换后发现热插拔
功能失效。需要进行下面的改动: ....................................................................................................... 22
7. T 卡与sim 卡共卡座问题。 ........................................................................................................ 23
请参考下面的faq: .......................................................................................................................... 23
8. 如何分开设定sim 卡插卡和拔卡的debounce time? ............................................................... 24
9. CTA/FTA 测试失败需要提供哪些信息? .................................................................................... 25
对于CTA/FTA 测试失败的问题,需要提供下面的信息: ................................................................. 25
10. MD log 如何打开? .................................................................................................................... 26
10.1. 2/3G 的modem,需要使用catcher.exe 来打开。 ............................................................... 26
10.2. LTE 项目的mdlog 需要用Elt.exe 打开。 ............................................................................. 27
11. 使用MT6306 来扩展3 卡/4 卡的配置方法 .................................................................................. 29
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
1. SIM 卡不识别
1.1. sim 卡检卡流程介绍:
Sim 卡检卡是在modem 侧完成的,modem 在初始化时会去做sim 卡的初始化,包括检卡动作。
检卡的时序是follow ISO_IEC_7816-3 的spec,所有卡(联通卡,移动卡,电信卡...)都一样. 简单
说明时序如下:
(1) 先给sim 卡上电(会先上1.8v,如果检卡失败会切换到3.0v);
(2) Sim controller 拉动RST pin;
(3) Sim 卡收到controller 的RST 后会回复一串字符串,称为ATR(answer to reset),ATR
里面包含了一些卡的信息;
(4) Sim driver 收到卡回的ATR 后就可以跟卡进行通信了.
注: 检卡失败后会将vsim 关掉。
1.2. Sim 卡不识别如何排查
根据上面1.1 的简单介绍,已经了解了sim 卡检卡的一个简单的流程,接下来将告诉大家在遇到不识别
卡的问题时要怎么排查:
(1) 确认modem 是否有正常bootup, 有时候客户报卡不识别,实际上是modem 没有bootup 成
功,modem 都没起来,当然不能检卡.
确认modem 是否有成功bootup 的方法是在关于手机里面看是否有baseband 版本信
息.
(2) 多找几张卡不同的卡进行测试,看是否所有卡都不识别,还是只有个别卡不识别。
因为所有卡的检卡流程都一样,如果是只有个别卡不识别,通常是卡与卡槽不匹配,
或者卡没插好。
经常有客户反馈插某张卡不识别,最后发现测试人员拿一张nano 卡插在micro 卡槽上,
不要笑,这类问题很多,卡是插进去了,但是卡与卡槽的pin 是否联通有确认吗???
(3) 如果插所有卡都不识别,先请hw 检查下线路是否正常,vsim 上是否有贴电容。
如果支持热插拔的,请先将热插拔功能关闭看是否识别,关闭热插拔的方法请参考3.2
小节; 如果关闭热插拔就ok 的,那说明热插拔配置有问题导致不识别,具体请参考1.3.3
小节。
(4) 因为检卡是modem 开机就做的,所以软件流程上基本不会出现问题,基本都是配置问题。
检查codegen.dws 中sim 相关的gpio(rst, io,clk)配置是否正确。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
通常mtk default 给出去是配置好的,不排除客户有改动到,要做double check, 除了
检查配置,更要在开机后cat gpio 状态,排除其他模块有改动到gpio 模式,方法如下:
To show GPIO status:
adb shell "cat /sys/devices/virtual/misc/mtgpio/pin"
每行分别对应:
IO 编号: 模式, 输入上拉选择,输入值,输出值,输入上拉使能,方向,输入翻转
Codegen.dws 配置如下,IO 记得要配置上拉!
(5) 如果以上方法都排查后仍不识卡,请hw 测量检卡时的vsim,rst,io 的波形,3 个pin 要
同时抓,用trigger vsim 的方式抓取。
1.3. 举几个不识卡的例子:
通过check modem log 来确认不识卡的原因。Modem log 的打开方式请参考第10 章节。
1.3.1. 没有收到卡回的ATR (多数不识别卡的问题都是这种case).
Case 1:没有收到任何数据!举例log 如下:
Sys trace:
红框中的数字10 代表: SIM_PRINT_L1USIM_RESET_FAIL. 请参考
sim_drv_HW_def_MTK.h 中的enum:sim_printEnum.
Primitive log:
ATR 都收不到的问题,通常是hw 问题!
Case 2:收到数据,但是收到的数据不符合ATR 的spec 规定!
例1:客户回报不识别某张卡,log 如下:
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
从这份log 来看,卡收到rst 后,回了ATR,但是回的ATR 不符合spec,TS 是invalid.这种情况按照
正常的流程我们会认为卡异常,因为卡回的数据不正确,因此会打出card error 的信息出来。
这种问题根据经验有可能是下面几种情况:
a) 这张卡有磨损,导致检卡异常;
b) 卡与卡槽接触不良,可以尝试在卡背面贴几张小纸片确保卡与卡槽接触良好再做测试,同时
插卡时应注意,请确保卡有插好;
c) 这种case 通常会发生在某张特殊的卡上,并不是所有的卡插在这支手机上都是这样,也可
以在对比机上做对比试验,确认是否是卡有问题。
有一种方法可以很好的验证是否是卡有问题还是卡接触不好,就是直接将卡飞线到卡座上,
但是这样有损坏卡的可能,因此很多客户不会选择做这个实验。
1.3.2. 有收到ATR,但是后面跟卡通信出现异常
例2:客户回报某个运营商的卡在卡槽2 识别不到,log 如下:
可以看到这份log 上一开始有收到卡回的ATR,但是后面的检卡过程中出现通讯异常导致重新检卡,检
卡又收到正确的ATR,后面又出错,如此反复,导致检卡失败。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
这种case 通常是由干扰引起的,客户反馈是某个运营上的卡插在卡槽2 才有这样的问题,很有可能是
卡槽2 太靠近RF 收到RF 干扰引起,可以尝试用导电布将sim 卡座包起来避免被其他模块干扰到,再做
测试。
1.3.3. Sim 卡热插拔卡配置不正确引起的不识卡问题
不识别sim 卡有时与sim 卡热插拔配置错误有关。此类问题可以从log 中看到:
开机检卡时有收到卡回的ATR,但在后面又马上出现拔卡消息:
请跟hw 确认硬件上是否有支持sim 卡热插拔功能,如果不支持,需要将热插拔功能关闭,关闭sim 卡
热插拔的方法请参考3.2 小节。
如果支持,说明中断电平配反了,注意Polarity 需要配置为拔卡后的中断电平。
中断配置方法请参考3.3 和3.4 小节.
1.3.4. 某些特殊的卡与Mediatek MT6589/6572/6582/6592/6271 平台兼
容问题,MT6595 之后的平台已修正。
有发现个别特殊的sim 卡,在MT6589/6572/6582/6592/6271 无法识别,在之前的MT6575/6577 平台
可以识别,在某些对比机上也可以被识别。
从log 来看,这种特殊的卡是属于收到的ATR 不符合spec 规定,类似本章节第2 小节的case 2.
通过量取波形发现,这种特殊的卡的IO 上有数据传输,但是有出新“0”没有到底的现象,现象“容
性”,波形如下:
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
这个问题主要是因为这几个平台chip 设计相关:
▪ 75/77 SIM SIO 是Digital IO,并不是6320 level shift Analog IO,因此对于75/77 来说,SIM
SIO input 低电平判断的max voltage = 0.35 x 3.0V = 1.05V,也就是说SIO 低电平在1.05V 以
内对于75/77 来说都是可以识别的,即使SIM FAIL spec (> 0.15x 3.0 = 0.45V)
▪ 而对于89 来说,6320 level shift 并不是digital buffer,当传递电压在0~1.8V 时,89 SIM SIO
看到的电压跟6320 看到的几乎是一样的(NMOS 内阻暂忽略),也就说,SIM SIO 送给6320 的
0.8V 的低电平,也会以同样的电压传递给89,就是89 SIO 看到的电压也是>0.8V (加上NMOS
内阻,实际值近1.0V),89 SIO 低电平的max threshold = 0.35x DVDD = 0.35 x 1.8V (89 IO
always 1.8V) = 0.63V < 0.8V (这张卡的SIM SIO 低电平电压)
▪ 综上所述:这张特殊的卡不符合spec 规定的电器特性,于是跟我们的89/72/82/92/71 平台出现
兼容性问题,这种问题因为是chip 的限制,因此目前无法解决。
▪ 为了提高兼容性,MT6595 平台之后的chip 将改掉这个design.
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
2. Sim 卡掉卡
2.1. 掉卡和掉网的区别
当看到没有信号时进入“设置-SIM 卡管理”查看,是否可以看到网络运营商,若可以看到,但信号栏
没有信号,表示是掉网;若连运营商都看不到,就像没有卡一样,才表示为掉卡。
掉卡后通知栏会有如下显示:
您在提交CR 时,请写清楚是掉卡还是掉网,以便将CR assign 给正确的owner,从而加快问题的处理。
2.2. Fast recovery
掉卡是指一开始有成功检测到卡,后面用着用着发生掉卡,通常是在上网或者通话时遇到。出现掉卡后,
软件会立即启动fast recovery 来救卡,有3 次机会!
您在Sys trace 中会看到 SIM_Fast_Recovery_fail 或者SIM_Fast_Recovery success 的信息。
2.3. Full recovery
若三次fast recovery 没能将卡救回来,接着再启动full recovery enhancement timer,此timer interval
默认为30s,直到将卡救回来。
注意:full recovery 只针对之前有成功检测到卡后出现掉卡,如果开始检卡就失败,不会启动full
recovery.
您在Sys trace 下回看到:
+ESIMS: 0,13 // start full recovery
+ESIMS: 1,14 // recovery end, 表示卡有救回
您在Primitive log 下搜索关键字MSG_ID_SIM_ERROR_IND,也可以看到如下信息:
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
2.4. 排查方法
出现掉卡通常是hw 引起的问题:若每次救卡都可以收到卡回的ATR 数据,一直在掉卡和救卡之间反
复,很大可能是IO 收到干扰导致,可以尝试一些抗干扰的方法来解决;若每次救卡连卡的ATR 都收不到,
很有可能是真正出现了“掉卡”,及卡与卡槽接触不良,可以尝试在卡背面贴几张纸片,确保卡与卡槽紧
密接触再来测试。
通常hw 的排查方法有如下几点:
(1) 检查layout 走线;
(2) 量SIM POWER,IO 波形,通过波形确认是否有noise;
(3) SIM1_DATA,SIM1_CLK,SIM1_RST 上分别加12pF 的电容;
(4) 用导电箔将SIM 包起来,并良好的导地;
(5) 降低天线发射功率改变天线发射方向;
(6) 用External SIM Socket,并远离天线
2.4.1. 举例1:出现真正的物理“掉卡”!
出现物理”掉卡”说明卡与卡槽接触不良,请检查卡片是否是人工裁剪的,或者卡片本身有磨损,这种卡很容
易出现这种问题.建议客户在做测试时务必找比较好的卡进行测试.
也有可能是卡槽结构本身的原因,卡放入卡槽后容易松动,从而导致接触不良的掉卡,通常表现在做跌落或
者翻滚实验中,这时候需要hw 或者结构同仁改善卡槽结构来避免此类问题的发生.
Log 中3 次fast recovery 救卡失败,每次救卡连ATR 都没有回,一直重复下面的log:
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
3 次fast recovery 救卡失败,启动full recovery:
但仍然没有见到卡,log 跟前面一样,直到过了十来分钟,终于救卡成功:
2.4.2. 举例2:干扰导致的掉卡!
下面的log 中出现掉卡后有启动fast recovery,每次fast recovery 都有收到卡回的ATR,但是后面又
出现通信error 再次启动fast recovery,如此反复!
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
3 次fast recovery 都没有将卡成功救回,于是启动了full recovery 最终将卡救回:
像这种case 就比较倾向于干扰了,可以从干扰角度来排查!
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
3. Sim 卡热插拔
3.1. 热插拔功能简单介绍
对于非热插拔的项目,只有在modem 开机时才会启动检卡流程,如果开机时没有检测到卡,后面就不
会再走检卡流程!
为了实现在开机后用户可以自由的进行插卡和拔卡的动作而不需要关机->插卡->再开机,sim 卡热插拔
的feature 应运而生。
热插拔功能是靠中断来实现的,因此要支持sim 卡热插卡,硬件上需要特殊的sim 卡座,这种卡座会有
个detect pin(也就是中断pin),当用户插入或者拔出卡时,中断电平会发生高低变化,进而触发中断,软
件会根据中断的状态来判定当前是插卡还是拔卡,从而执行检卡或者停卡动作。
目前我们只支持一种热插拔类型的卡座: 插卡是高(低)电平,拔卡是低(高)电平。
请注意插卡和拔卡的间隔一定要在2s 以上,低于2s 的快速热插拔动作会导致热插拔功能异常!
3.2. 热插拔feature option 说明
MODEM 侧:
xxAMDWxxx_xxx_xxx\make\[project_custom].mak
SIM_HOT_SWAP = sim_slot_1 //开启sim 热插拔功能
SIM_HOT_SWAP = NONE //关闭sim 热插拔功能
注:当用户需要关闭热插拔来做一些检卡的实验时,可以只将modem 侧的feature 关闭,build
modem image,push 进手机进行验证即可,这样会比较节省时间。但验证后要记得恢复哦~
AP 侧:
alps\mediatek\config\[Custom_ Project]\ProjectConfig.mk
MTK_SIM_HOT_SWAP =yes //开启sim 热插拔功能
MTK_SIM_HOT_SWAP =no //关闭sim 热插拔功能
注:sim 卡热插拔功能在SP 项目上default 就是支持,客户可以自行开关,不需要申请patch 或者
Flavor build.
3.3. 中断配置
对于集成了modem 的SP 平台,sim 卡相关的gpio 配置,包含sim interface 和中断pin,都是在AP
的codegen.dws 中配置由AP 生成配置文件,并在kernel 初始化时进行gpio 及eint 初始化的,modem
在启动过程中做sim 卡初始化时,会通过CCCI 接口向AP 要中断信息,再来注册中断的,代码如下:
@icc_switchControl_al.c\L1sim_Reset_All()
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
Sim 热插拔不能正常work,基本上都是中断没有正确配置的原因,因此接下来的内容这里大家一定要
认真再认真看哦~
配置sim 卡热插拔的中断,主要有两点:
a) Hw 上选的eint pin 通常都是与gpio 复用的,因此需要在driver tool 的gpio setting 页面将对应的
gpio 配置为MD_EINT mode;
Note: sim 卡的中断pin 必须选用具有MD_EINT 模式的gpio,只有这类gpio 才能直接触发
modem 中断,普通的gpio 仅具有EINT mode,只能触发AP 中断。
b) 在MD1_EINT setting 页面配置对应的eint:
 EINT debounce time: enable,100
 Sensitivity_level: Level
 Polarity:配置为拔卡的电平
3.4. 分平台举例说明中断配置方法:
3.4.1. MT6582/MT6592 平台:
ID: FAQ17406 MT6582/MT6592 平台sim 卡热插拔配置
3.4.2. MT6572 平台
配置方法与82/92 相同,只是需要注意在gpio setting 页面的MD_EINTx 序号跟MD1_EINT setting 页
面序号不同,说明如下:
3.4.3. MT6589 平台
ID: FAQ17407 MT6589 平台sim 卡热插拔配置
3.4.4. 82/92+90 热插拔配置方法
ID: FAQ12120 使用MT6290 作为md 时,如何配置sim 热插拔
3.4.5. MT6595 平台
请参考Sim hot plug configure about MT6595.pptx,可以上dcc 上下载到.
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
3.4.6. MT6580 平台
与MT6572 平台配置方法相同。
gpio setting 页面的MD_EINTx 序号跟MD1_EINT setting 页面序号的对应关系也与MT6752 平台相同。
3.4.7. MT6735/MT6753/MT6795/MT6797/MT6755 等LTE 平台
早期MT6589 之前(包含MT6589),MD1_EINT setting 页面配置哪个序号需要对照GPIO setting 页
面所选的模式,具体配置方法及序号对应关系请3.4.1,3.4.2.
这里需要说明的是LTE 平台,MD1_EINT setting 页面多了一列:Src Pin, 这个配置务必要正确,否则
热插拔不会work.
Src Pin 要配置为所用的gpio pad 名称。例如:MT6753 平台客户使用GPIO21 来作为卡2 的中断,则
需要配置Src Pin 为PAD_ANT_SEL2.
对于有Src Pin 配置的平台,MD1_EINT setting 页面的编号与卡对应关系如下:
MD1_EINT0 – MD1_SIM1_HOT_PLUG_EINT
MD1_EINT1 – MD1_SIM2_HOT_PLUG_EINT
也就是说,如果要配置卡1 的中断,必须配置MD1_EINT0 这行;如果要配置卡2 的中断,必须配置
MD1_EINT1 这行。Polarity 的配置不变,仍然是配置为拔卡后的中断电平状态。
举例:MT6735 平台,客户中断使用如下:
GPIO9 -- 卡1 中断 -- 拔卡后是高电平
Gpio8 -- 卡2 中断 -- 拔卡后是低电平
配置如下:
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
3.5. 热插拔功能如何验证
按照上面的方法配置好热插拔功能后,可以用下面的方法来验证!
 简单的验证方法如下:
(1) 不插卡开机,开机后再插入卡,看是否可以识别,若可以,说明热插拔功能ok;
(2) 插A 卡开机,开机后拔出A 卡,换B 卡插入,若B 卡也可以很快识别,说明热插拔功能ok;
同一张卡拔出再插入可以识别并不是能说明热插拔功能ok,很有可能走的是掉卡救卡流程,
请参考3.9 小节。
 也可以通过log 做进一步确认:
抓取log 时记录拔卡和插卡的时间(插卡和拔卡的动作间隔最好超过1min,比较好对应log),然后对照
md log 的system trace,搜索关键字“Insert”和“Remove”看是否与你记录的时间匹配,匹配的话说
明热插拔配置ok.
例如:在10:12 分拔卡,10:13 分插卡,log 如下:
26013, 0, 139943, 10:12:23:219 2015/11/26, MOD_NIL, , TRACE_INFO, [SIM_CUS_DRV:506]Remove SIM :
0, 0, 1, 1, 1, 1, 4ecc7
43844, 0, 1385397, 10:13:42:928 2015/11/26, MOD_NIL, , TRACE_INFO, [SIM_CUS_DRV:540]Insert SIM :
0, 0, 0, 0, 0, 0, 2cc75e
这部分trace 是在中断处理函数中打印的,因此判定是否有进入中断,看这个是最准确的。
3.6. 热插拔功能异常排查方法:
如果热插拔功能能不正常,可以按照下面的方法进行排查:
1. 检查mdlog,在PS Intergrated 中搜索关键字“EINT”,查看中断信息是否与codegen.dws
配置一致,举例说明如下:
下面表示卡1 的中断信息,具体意义请参考3.7 小节。
下面表示卡2 的中断信息,-11 表示没有get 到卡2 的中断信息,如果卡2 有自己单独的中断
pin,就要检查配置是否正确啦。
Note1:双卡共卡座设计,卡2 与卡1 公用中断,并且default 是公用卡1 的中断,因此
codegen.dws 中不需要配置卡2 的中断信息,log 中卡2 的中断信息将会显示如上。
Note2: 如果log 中打印的中断信息与您在codegen.dws 中配置的不一致,请检查AP 侧几个
路径下的codegen.dws 配置是否一致,可以参考FAQ13193 进行排查。
2. 如果中断信息正确,但就是没有触发中断,接下来要量取中断的波形;
分别在插卡和不插卡的状态下量取中断波形,看中断电平是否有正确发生变化。
3. 如果1 和2 都检查无误,接下来就需要cat 中断pin 的状态。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
Cat 的方法请1.2 中有介绍。需要分别cat 插卡和不插卡两种状态下的值。
a) 确认DIN 是否有正确变化。
b) 确认模式是否正确;
如果模式不正确,可以检查下是否是sim_switch.c 中修改了模式,可以把这部分代码注释掉再
试试看。
static int set_sim_gpio(unsigned int mode)
{
SSW_DBG("set_sim_gpio: %d\n", mode);
switch(mode)
{
case SINGLE_TALK_MDSYS:
#if (defined(GPIO_SIM1_HOT_PLUG) && defined(GPIO_SIM2_HOT_PLUG))
// mt_set_gpio_mode(GPIO_SIM1_HOT_PLUG,5);
// mt_set_gpio_mode(GPIO_SIM2_HOT_PLUG,4);
#endif
//SIM1=> MD1 SIM1IF
// mt_set_gpio_mode(GPIO_SIM1_SCLK,1);
// mt_set_gpio_mode(GPIO_SIM1_SRST,1);
// mt_set_gpio_mode(GPIO_SIM1_SIO ,1);
//SIM2=> MD1 SIM2IF
// mt_set_gpio_mode(GPIO_SIM2_SCLK,1);
// mt_set_gpio_mode(GPIO_SIM2_SRST,1);
// mt_set_gpio_mode(GPIO_SIM2_SIO ,1);
break;
case SINGLE_TALK_MDSYS_LITE:
#if (defined(GPIO_SIM1_HOT_PLUG) && defined(GPIO_SIM2_HOT_PLUG))
// mt_set_gpio_mode(GPIO_SIM1_HOT_PLUG,2);
// mt_set_gpio_mode(GPIO_SIM2_HOT_PLUG,4);
#endif
//SIM1=> MD3 SIM1IF
// mt_set_gpio_mode(GPIO_SIM1_SCLK,4);
// mt_set_gpio_mode(GPIO_SIM1_SRST,4);
// mt_set_gpio_mode(GPIO_SIM1_SIO ,4);
//SIM2=> MD1 SIM2IF
// mt_set_gpio_mode(GPIO_SIM2_SCLK,1);
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
// mt_set_gpio_mode(GPIO_SIM2_SRST,1);
// mt_set_gpio_mode(GPIO_SIM2_SIO ,1);
break;
…}
基本上通过以上3 步就可以定位到问题原因,中断本身就这么简单!
3.7. 如何从log 中查看中断信息:
在mdlog 中搜索关键字“EINT”可以看到下面的信息:
EINT: 0, 0 0 100 0 0 1
后面7 个数据的含义分别表示如下:
[Application]:0 - sim1, 1 – sim2
[获取eint number 是否成功]:0 表示成功;负数表示失败
[Eint number];
[debounce time]:
[polarity] :0 – low,1- high;
[Sensitive] :0 – level,1 – edge;
[socket type]:0 (只支持这种插卡为高(低)电平,拔卡为低(高)电平)
3.8. PLUG IN/OUT ignore 原因
在插卡和拔卡时log 中会有如下信息:
【System trace】
Insert SIM : …. //插卡
Remove SIM : … //拔卡
【PS Integrated log】
正常情况下driver 在收到插卡和拔卡中断后会执行回调函数,回调函数是在sim task 里面(这部分代码
不向客户开放),在回调函数中sim task 会发msg 出来,您可以在log 中看到如下信息:
这个信息不是一定会有的,有时候在system trace 中有看到“Insert SIM...”或者“Remove SIM...”,
但在Primitive log 中却看不到MSG_ID_SIM_PLUG_IN_IND 或者MSG_ID_SIM_PLUG_OUT_IND,这
时候在system trace 中会看到如下log:
SIM Plug In but ignore!!!
SIM Plug Out but ignore!!!
为什么会出现这样的log 呢?这样的log 是正常还是异常呢?下面我们来说明在什么情况下会打印这两
条trace!
(1) Plug In ignore 原因
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
a. 卡槽内有卡; (Ex:中断异常、误触发)
b. SIM Task 初始化未完成; (Ex:开机阶段插卡,Modem 启动过程中)
c. SIM Task 处于power off 状态; (Ex:modem 关闭/启动过程中:关机,飞行模
式,SIM Switch)
d. 上一个plug in 还未处理完。 (Ex:中断异常重复触发)
(2) Plug Out ignore 原因
a. 卡槽内有卡; (Ex:中断异常、误触发)
b. SIM Task 初始化未完成; (Ex:开机阶段插卡,Modem 启动过程中)
c. SIM Task 处于power off 状态; (Ex:modem 关闭/启动过程中:关机,飞行模
式,SIM Switch)
d. 上一个plug in 还未处理完。 (Ex:中断异常重复触发)
【注意】:我们不支持在modem 启动/关闭过程中的热插拔,如果测试热插拔feature 请注意以下
场景:
(1) 开启SIM SWITCH 功能(MTK_DISABLE_CAPABILITY_SWITCH = no)时,不要做两张卡
交替热插拔;
(2) MTK_FLIGHT_MODE_POWER_OFF_MD = yes 的情况下,不要将开关飞行模式与SIM
卡热插拔混测;
(3) 热插拔中有电信卡时,插入卡请确认识卡之后,再做拔卡动作。
3.9. sim 卡热插拔与full recovery 区别
很多客户反馈说插入卡后要过将近1 分钟才能识别到卡,提交log 上来,基本上都是因为热插拔功能并
没有配置成功导致。这种现象实际是full recovery 在其作用并不是热插拔功能。
因为他之前是插卡开机,开机时有识别到卡,后来又拔卡(实际判断为了掉卡),后面又插卡过了近1 分
钟才检到卡实际是full recovery 将卡救起,并非热插拔中断响应到。
另外,full recovery 只针对同一张sim 卡,若开机时插的A 卡,识别到后将A 卡拔掉再换插B 卡,对于
不支持热插拔的项目是不能识别B 卡的。
Sim 热插拔功能可以实现同一个卡槽,插拔其他卡依然可以识别。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
4. 如何实现卡槽交换?
有客户因为hw 设计的关系,需要交换卡槽。让原本的卡槽2 的卡变为卡1,卡
槽1 的卡变为卡2.
修改方法如下:
4G modem 代码路径:
driver\devdrv\usim\src\icc_switchControl_al.c
2/3G modem 代码路径:
driver\storage\sim\src \icc_switchControl_al.c
kal_bool sim_physicalSlotChanged = KAL_TRUE; //找到定义的地方直接赋值
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
5. 双卡共卡座功能介绍
5.1. 功能介绍
前面介绍的热插拔都是一张sim 卡对应一个中断,后来为了节省空间,产生出了一种新型的卡座,一个
卡座上可以放两张卡,两张卡共用一个中断。
为了迎合市场的需求,我们软件也开发了支持这种双卡共卡座的热插卡功能。
5.2. Feature option 介绍
AP Side:
MTK_SIM_HOT_SWAP_COMMON_SLOT=yes
MD Sdie:
DUAL_SIM_HOT_SWAP_CO_DECK = TRUE
原本的sim 卡热插拔的feature 也要保留并打开。
5.3. 中断配置
双卡共卡座只用1 个中断,default 配置卡1 中断即可。
因为mtk release 出去的代码默认会配置卡1 和卡2 的中断,如果客户是双卡共卡座结构,建议将卡2
的中断配置去掉,不然没有用到的pin 被配置为卡2 中断,一旦这个pin 被其他模块动到,会影响卡2 的
检卡。
同时没有用到的GPIO 也请配置为NC,否则有可能会引起漏电。
5.4. 双卡共卡座热插拔log
开启了双卡共卡座功能后,进入中断处理函数后会同时调用卡1 和卡2 的中断回调函数,因此插卡时可
以在log 中看到一个“Insert SIM...”,两个“MSG_ID_SIM_PLUG_IN_IND”.
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
拔卡会看到一个“Remove SIM”,但不一定会出现两个“MSG_ID_SIM_PLUG_OUT_IND”,因为
只有之前确实是有卡状态,才会上报此消息,如果之前本身就没检测到卡,就不会上报啦,此次plug out
会被忽略掉。举例如下:
1. 8:12 分插卡,只识别到卡1,没有识别到卡2,reset 卡2 没有收到卡2 回的ATR 数据。
174183, 27424, 19243, 08:12:01:950 2015/07/01, MOD_NIL, , TRACE_INFO, [SIM_CUS_DRV:412]Insert SIM : 0, 0, 1, 0, 1, 0,
30a502
174180, 27424, 19243, 08:12:01:950 2015/07/01, MOD_DRV_HISR, MOD_SIM, PS_SIM_SAP, MSG_ID_SIM_PLUG_IN_IND
174182, 27424, 19243, 08:12:01:950 2015/07/01, MOD_DRV_HISR, MOD_SIM_2, PS_SIM_SAP, MSG_ID_SIM_PLUG_IN_IND
175630, 27525, 19344, 08:12:02:550 2015/07/01, MOD_SIM_DRV, , TRACE_INFO, [SIM_DRV]:SIM0 ATR=
3B9F96801FC38031E073BE2119573786680201300549
175739, 27525, 19344, 08:12:02:550 2015/07/01, MOD_SIM, , TRACE_INFO, SIM_RESET_ERROR: DCL_USIM_NO_ERROR
177132, 27642, 19461, 08:12:03:150 2015/07/01, MOD_SIM_2, , TRACE_INFO, SIM_RESET_ERROR: DCL_USIM_NO_INSERT
2. 8:14 分拔卡,因为卡2 本身就没检测到卡,上层显示的就是无卡状态,因此就不会再往上报PLUG OUT.
405063, 614638, 52425, 08:14:47:890 2015/07/01, MOD_NIL, , TRACE_INFO, [SIM_CUS_DRV:378]Remove SIM : 0, 0, 0, 1, 0, 1,
839943
405387, 615072, 52826, 08:14:49:890 2015/07/01, MOD_NIL, , TRACE_INFO, SIM Plug Out but ignore!!!
405591, 615413, 53141, 08:14:51:490 2015/07/01, MOD_DRV_HISR, MOD_SIM, PS_SIM_SAP, MSG_ID_SIM_PLUG_OUT_IND
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
6. 双卡共卡座热插拔项目进行卡槽
交换后热插拔失效,如何修正?
有客户hw 上是双卡共卡座设计,并且支持热插拔。后面因为项目需要进行了
卡槽交换后发现热插拔功能失效。需要进行下面的改动:
custom_sim_driver.c 中做下面的修改。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
7. T 卡与sim 卡共卡座问题。
请参考下面的faq:
ID: FAQ14546
SIM 卡T 卡共卡座设计,软件如何配置?
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
8. 如何分开设定sim 卡插卡和拔卡
的debounce time?
请参考FAQ17420.
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
9. CTA/FTA 测试失败需要提供哪些
信息?
对于CTA/FTA 测试失败的问题,需要提供下面的信息:
(1) AP 及MD 的版本信息;
(2) 具体是哪一项测试失败?
(3) 测试fail 的实验室报告,通常是word 或者PDF 档案;
a. 例如:5.1.3 1.8V-3V_09-23-12_15-23-30.RTF
(4) 测试fail 的仪器端log
a. 例如:5.1.3 1.8V-3V_09-23-12_15-23-30.ILF
(5) 测试过程的mtklog.
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
10. MD log 如何打开?
Sim 卡的问题通常都需要分析mdlog,那mdlog 如何打开呢?
10.1. 2/3G 的modem,需要使用catcher.exe 来打开。
Catcher.exe -> Controls->Open Dump File…
选择mdlog 里面的MDLog_PS_xxx.dmp
接下来就会让你选database (BPLGUInfoCustomAppSrcP_MTxxx):
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
就可以看到下图中两个窗口:Sys Trace 和Primitive Log.
如果没有,可以在View 菜单下打开。
10.2. LTE 项目的mdlog 需要用Elt.exe 打开。
只有ELT_Customer 版本的tool 才能看到sim 卡的相关log,ELT_Lite 版本是看不到的。
其中Lite 版本是所有客户都能拿到的,不需要license。功能也最少,只可看Peer Trace view;
Customer 版本需要客户找AM 及CPM 签SLA 获取license 后才能使用,具备PS Integrated 及
System Trace view,可以看到sim 卡相关log,可以自己进行问题的初步排查。
Exe.exe-> 点选下面的icon 来load database (BPLGUInfoCustomAppSrcP_MTxxxx):
Control->Open Mux Raw File(Batch), 选择MDLog1_xxx.muxraw 文件
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
就可以看到下面两个窗口PS Integrated 和 System Trace:
如果没有,可以通过View 菜单打开。
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
loginid=xujikui.roco@foxmail.com,time=2015-12-19 01:26:48,ip=14.153.125.200,doctitle=SIM_debug_SOP.docx,company=JOYA_TABLET
11. 使用MT6306 来扩展3 卡/4 卡
的配置方法
请上DCC 搜索文档:MT6306_SW_Programming_Guide.pdf
MEDIATEK CONFIDENTIAL
FOR xujikui.roco@ foxmail.com USE ONLY
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值