新旧SIM卡耗电新说 新旧sim卡耗电从逻辑角度说起

时间:2021-09-09

发布者:admin

来源:网络收集

关于“新旧SIM卡待机耗电量差10倍”的说法可谓莫衷一是,支持、反对和中立者均有。通过实验复测推测,从手机逻辑处理的角度来讲,纠结于“新旧SIM卡待机耗电量差10倍”的问题毫无益处,其实应该归结为“手机终端在进行SIM卡处理部分的逻辑异常是否会导致耗电量剧增”问题。所以,无论支持方还是反对方的实验,都存在将个案扩大化、样本量偏少的问题。
一、缘起
关于“新旧SIM卡待机耗电量差10倍”的说法可谓莫衷一是,最早出自沈阳日报的《手机电池不耐用或SIM卡作怪:别使用两年以上》,后来就直接以子段落标题“新旧SIM卡待机耗电量差10倍”在微博传开了。通信专业教师@奥卡姆剃刀 则用实验反驳其说法,认为“新旧SIM卡待机耗电量差10倍”是流言。后来也有从业者@戏龙浅底虾 发表博客,认为两者的观点都有失偏颇,主要是将个案扩大化。
二、复测沈阳日报说法
俗语说“空穴来风,未必无因”。虽然对通信原理一窍不通,惊喜的发现,我有沈阳日报报道中的各种复测条件。

我目前使用的SIM卡,是06年入网的移动动感地带卡。因今年进行手机应用研究,所以SIM卡插拔就多了起来,结果导致现在在Nokia C5-00手机,开机后会不停弹出“SIM卡应用:没错,我就是M-Zone人”,无法关闭,只能按home键“忽略”;中兴U880 Android 2.3在“TD优先”模式后更惨,这个对话框经常关不了,导致除关机菜单之外其余屏幕内容均被锁死而无法操作,只能先开启飞行模式,再切换回来。
后来仔细一看,应该是卡表面氧化和刮损较严重,导致手机在开机后对SIM卡的操作过程中,出现了异常。但除此之外,Nokia C5手机的日常待机并无异样(3天4天不在话下),中兴U880的 Android 2.3在精简各种app后日常也能使用1天多(上下班刷微博的情况下)。乍看上去,沈阳日报的说法是假的?因此,就有了这次根据Nokia Energy Profiler的复测。
为了验证说法,还借了同事的正常SIM卡进行基准测试。凑巧的是,同事的也是06年的中国移动神州行旧卡,这下就是全旧卡对照实验了。
每次复测都会重新开机,待所有应用载入后测试;复测实验结果如下:
(1)复测实验A:氧化和刮损严重的SIM旧卡,在Nokia不锁定键盘的时候,每1分钟就会亮一次屏幕,持续15s(系统设定的节点保护时间;见图)。由于屏幕是手机耗电大王,所以直观表现就是大幅度耗电,耗电程度视乎节点保护时间而定。


(2)复测实验B:氧化和刮损严重的SIM旧卡,在Nokia锁定键盘的时候,每1分钟就会出现一次CPU高占用异常,直观表现就是功耗尖峰突出。但总体功耗极低。

(3)复测实验C:正常SIM旧卡,表现稳定,总体功耗极低。

(4)复测实验D:氧化和刮损严重的SIM旧卡,在Nokia中用C2ZBIN+屏蔽SIM卡补丁后。表现稳定,总体功耗极低。

从以上待机复测实验上来看,SIM旧卡,更确切来说,SIM卡异常,而导致耗电是有可能的。
三、从STK切入手机处理SIM卡逻辑异常
把“SIM卡应用:没错,我就是M-Zone人”去掉的屏蔽SIM卡补丁,实际上是干扰了手机处理STK的逻辑。STK(SIM Application Toolkit)固化在SIM卡,主要用于提供各种增值服务。而操作过程,详细见@智能卡技术 的文章《关于SIM卡的STK应用》:

既然手机在处理STK的逻辑上确实存在异常,那具体症结在哪呢?本来最正确的做法是调试Nokia上面的塞班系统,但塞班资料难寻;后来想到,既然中兴 U880 Android 2.3也存在对话框无法关闭问题,不如从它入手来相互印证猜测。为此,使用“adb logcat -b radio”获取中兴U880 Android 2.3的相关日志后,搜索DISPLAY_TEXT进行上下文查找(DISPLAY_TEXT含义见《STK(三):STK开机启动后流程解析》),发现DISPLAY_TEXT的上下文都和sim卡操作存在显著相关,比如在读取sim卡上的快速拨号列表时(AT+CRSM=178,28474)突然要求DISPLAY_TEXT;还有一处,更是提示卡存在问题,那就是手机无法读取sim卡上的短信:
D/GSM ( 1549): [SimSmsInterfaceManager] getAllMessagesFromEF
……
V/RIL ( 1219): onRequest: send command:AT+CRSM=XXX,XXXXX,X,X,XX,,XXXXXXXX
……
V/MARVELL_TEL_ATCMD( 1379): atRespStr: athandle = 327781, resultCode = 3, errCode = 13, respString = (null)
……
D/RIL ( 1219): <<====[Recv AT cmd][5] +CME ERROR: 13
……
D/RILJ ( 1549): [0074]< SIM_IO error: com.android.internal.telephony.CommandException: GENERIC_FAILURE
......
D/GSM ( 1549): [SimSmsInterfaceManager] Cannot load Sms records
D/STK ( 1549): StkAppService: DISPLAY_TEXT

(左边是正常SIM卡的读取日志,右边为损坏SIM卡的读取日志。点击后可查看大图)
从功能机(即非智能机)过来的玩家,大多会对手机可存储联系人和短信的条数有着深刻的印象。功能机上这个数目通常并不多,经常要为难删哪条,还要分配存储在 SIM卡和手机上的比例。到了智能机时代,许多原本SIM卡承担的功能已经弱化,但从这个错误日志可以看到,由于兼容性的需求,这部分会仍有保留。而两部手机在处理这个SIM卡短信这个地方,确实都存在异常:四、归纳与结论至此,可以进行归纳总结了。SIM卡(Subscriber Identity Module)由CPU、ROM、RAM、EEPROM和I/O电路组成,所承担的远不仅是鉴权作用,它在历史上还承担有存储非鉴权信息(联系人、短信、快速拨号等)、增值服务(STK)等许多功能。而这些功能必然要求手机终端具备一系列配套处理逻辑。若手机对来自SIM卡的异常考虑不周,确实不排除会出现处理逻辑异常,而其造成的后果,均需要结合场景来评估。比如SIM卡由于氧化导致短信存储存在问题的情况下,从复测案例来看,在绝大部份情况下对智能机的耗电影响轻微,这得益于其将短信存储功能早已转移到巨大的手机存储空间;但另一方面,如果这个场景放到功能机(即非智能机),恐怕就不那么乐观了。而沈阳日报的案例,确实也不排除遇到的SIM卡异常这种异常使得在纯粹待机耗电量上,出现有10倍差异。要注意的是,新闻中并没有说明主角的使用手机习惯,所以真实的待机时间,无法推导出来。因此可以作出一个最终结论,从从手机逻辑处理的角度,纠结“新旧SIM卡待机耗电量差10倍”的问题毫无益处,其实应该归结为“手机终端在进行SIM卡处理部分的逻辑异常是否会导致耗电量剧增”问题:当SIM卡由于氧化损坏等导致包括接触不良、物理损坏在内的各种物理异常,或者由于SIM卡数据结构不标准等的各种逻辑异常时,会有可能导致手机在处理SIM卡上出现逻辑异常;但是否造成信号丢失、耗电等各种后果,以及其严重程度,均需要视乎情况而定(包括手机型号、SIM卡异常程度、手机处理逻辑片段等),根本不可能得出一个通用数值。所以,无论支持方还是反对方的实验,都存在将个案扩大化、样本量偏少的问题。实际上,因SIM卡问题引发逻辑处理异常而导致的耗电问题,在维修店和手机玩家上都时有听闻,甚至不乏引发信号不稳的情况。如下截图,就分别代表了SIM卡物理异常和SIM卡逻辑异常(对于国外改卡机而言,国内卡可作为一种输入异常看待),引发手机耗电较高问题。(PS:最近几年出现的剪卡潮,会否导致这类问题,希望看到相关案例)五、对于普通用户的建议:纠结这个并无必要纠结于手机对SIM卡逻辑处理异常导致的耗电问题,究竟有没有必要?个人认为,对于绝大部分普通用户(即非开发者和手机深度DIY玩家)而言其实并无必要。因为对于塞班s60智能机、以及功能机的普通用户,考虑到出现这种问题的概率应该还是偏低,无需过于担心。而对于绝大部分安卓、苹果的智能机用户而言,则更无必要舍本逐末,因为这些智能机的耗电绝大多数是在:(1)越来越大的大屏幕。屏幕越大必然越耗电。此部分不阐述。(2)大量手机应用的安装、后台常驻。应用越多,特别是常驻应用越多,耗电必然越严重。实际上,这也是root/越狱支持和反对者经常交锋的点之一:安全研究者用各种血的案例说明root/越狱的不安全,并呼吁不要这么做;而用户又确实反感各种强制定制应用所带来的耗电困扰,同时又要寻求自由修改系统的权利。这使得手机应用开发者在选择保护用户隐私的加密手段时,很多时候感到左右为难。(3)各种不必要服务的开启,比如GPS等。(4)频繁开关屏幕使用应用,就是(1)+(2)+(3)=Game Over。因此,少装应用,经常杀进程、关闭非必要功能、不要频繁使用手机才是省电王道。如果实在担心由此引发的耗电,又不想换卡的话,用橡皮擦干净,就是好方法。六、对于行业人员的建议对于通信行业的从业者、学术研究者而言,建议到各大手机维修点和运营商营业厅,针对此问题进行大面积调研。相信,应该会有些特别的案例值得挖掘。而对于手机底层开发者来讲,期待有开发者出来撰文,阐述有关SIM卡物理异常所导致逻辑处理异常问题和经验。同时也期待有非智能机开发者讨论这个问题,因为有人提到,功能机对SIM卡具有较高依赖性,其操作SIM卡的程度要大于智能机。另外,本文一稿发出后,@智能卡技术 评论到:其实怎么说呢?“新旧SIM卡耗电差10倍”的结论肯定是错的,至于旧SIM卡因表面锈蚀磨损接触不良引起的额外耗电,其实和不同卡商的SIM卡质量有关,和新旧关系不大。有些卡商的卡用了1年可能就锈蚀磨损,有的用10年也没事。不同的SIM卡芯片也会不同,所以片面地用SIM卡的新旧来划分欠妥。(2012-12-28 09:05)所以,从SIM卡质量本身出发考察这个问题,也不失为一个研究方向。还有,这场争议传播得如此之快,其很大程度上是因为对“待机”两字的理解不一致。所有涉及的待机实验、还有说明书上的标称待机时间,其实是在理想状态下(没有开启任何应用下、sim卡和信号良好)测出的续航时间;但大家理解的待机,包括各种评测文章所说的待机,是指用户在各种环境、各种操作习惯下的续航时间。这两者数值都没有错,但往往相差巨大,而微博上的传播,大多是用后者来理解前者,因此传播之快,误解之多,意料之中。

最新软件