也谈新旧SIM卡耗电之争——从手机处理STK异常说起

  • A+
所属分类:lcx

概述

关于“新旧SIM卡待机耗电量差10倍”的说法可谓莫衷一是,支持(沈阳日报报道)、反对(如通信专业教师@奥卡姆剃刀
的实验)和中立者(如@戏龙浅底虾 )均有。

本人虽然对通信原理一窍不通,但刚好具有最初争议出处沈阳日报提到的测试条件,故而进行了复测,结果发现旧SIM卡确实在某些情况下会出现耗电严重问题,并从手机逻辑处理的角度,认为纠结“新旧SIM卡待机耗电量差10倍”的问题毫无益处,其实应该归结为“手机终端在进行SIM卡处理部分(如STK开机交互)的逻辑异常是否会导致耗电量剧增”问题:当SIM卡由于氧化、损坏等导致包括接触不良、物理损坏在内的各种物理异常,或者由于错误的写卡动作导致SIM卡数据结构不标准时,会有可能导致手机在处理SIM卡(比如STK开机交互等)上出现逻辑异常,结果有可能导致耗电,也有可能不耗电;而耗电的严重程度,需要视乎异常而定,根本不可能得出一个通用数值。总体来讲,所以,认同@戏龙浅底虾
的观点:两种观点都有失偏颇,还需要进一步调查。

对于使用安卓、苹果、塞班等智能机的绝大多数用户而言,担心旧SIM卡(包括SIM逻辑处理异常)而可能导致的耗电其实并无太大必要。这部分智能机的耗电绝大多数在大屏幕、手机应用大量后台常驻、不必要的设置开启、频繁打开和使用手机应用等问题。经常杀进程、关闭非必要功能、不要频繁使用手机才是王道。如果真担心耗电又不想换卡,用橡皮擦擦干净,是个好办法。

对于通信行业的从业者、学术研究者而言,建议到各大手机维修点和运营商营业厅,针对此问题进行大面积调研。相信,应该会有些特别的案例值得挖掘。而对于手机底层开发者来讲期待有开发者出来撰文,阐述有关SIM卡物理异常所导致逻辑处理异常问题和经验同时也期待有非智能机开发者讨论这个问题,因为有人提到,功能机对SIM卡具有较高依赖性,其操作SIM卡的程度要大于智能机。

最后,这场争议传播得如此之快,其很大程度上是因为对“待机”两字的理解不一致。

本文观点争鸣(定期更新)

@智能卡技术
:其实怎么说呢?“新旧SIM卡耗电差10倍”的结论肯定是错的,至于旧SIM卡因表面锈蚀磨损接触不良引起的额外耗电,其实和不同卡商的SIM卡质量有关,和新旧关系不大。有些卡商的卡用了1年可能就锈蚀磨损,有的用10年也没事。不同的SIM卡芯片也会不同,所以片面地用SIM卡的新旧来划分欠妥。(2012-12-28
09:05;http://weibo.com/1308114954/zbNXrs4LD 

===============================

一、缘起

关于“新旧SIM卡待机耗电量差10倍”的说法可谓莫衷一是,最早出自沈阳日报的《手机电池不耐用或SIM卡作怪:别使用两年以上》(http://tech.qq.com/a/20121225/000118.htm ),后来就直接以子段落标题“新旧SIM卡待机耗电量差10倍”在微博传开了。通信专业教师@奥卡姆剃刀
则用实验反驳其说法,认为“新旧SIM卡待机耗电量差10倍”是流言(http://blog.sina.com.cn/s/blog_6c7e111d0101do9j.html )。后来也有从业者@戏龙浅底虾
发表博客,认为两者的观点都有失偏颇,主要是将个案扩大化(http://blog.sina.com.cn/s/blog_53dbe4cf01017nox.html )。

二、复测沈阳日报说法

俗语说“空穴来风,未必无因”。虽然对通信原理一窍不通,惊喜的发现,我有沈阳日报报道中的各种复测条件。

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

我目前使用的SIM卡,是06年入网的移动动感地带卡。因今年进行手机应用研究,所以SIM卡插拔就多了起来,结果导致现在在Nokia
C5-00手机,开机后会不停弹出“SIM卡应用:没错,我就是M-Zone人”,无法关闭,只能按home键“忽略”;中兴U880刷到Android
2.3后更惨,关不了就意味着屏幕锁死,无法进行正常的操作,只能先开启飞行模式,再切换回来(原版Android
2.2倒不会出现这个问题)。

后来仔细一看,应该是卡表面氧化和刮损较严重,导致手机在开机后对SIM卡的操作过程中,出现了异常。但除此之外,Nokia
C5手机的日常待机并无异样(3天4天不在话下),中兴U880的官方2.2版本在精简各种app后日常也能待到2天机(上下班刷微博的情况下)。乍看上去,沈阳日报的说法是假的?因此,就有了这次根据Nokia
Energy Profiler的复测。

为了验证说法,还借了同事的正常SIM卡进行基准测试。凑巧的是,同事的也是06年的中国移动神州行旧卡,这下就是全旧卡对照实验了。

每次复测都会重新开机,待所有应用载入后测试;复测实验结果如下(数据下载:http://vdisk.weibo.com/s/lN4DE ):

(1)复测实验A:氧化和刮损严重的SIM旧卡,在Nokia不锁定键盘的时候,每1分钟就会亮一次屏幕,持续15s(系统设定的节点保护时间;见图)。由于屏幕是手机耗电大王,所以直观表现就是大幅度耗电,耗电程度视乎节点保护时间而定。

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

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

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

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

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

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

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

从以上待机复测实验上来看,SIM旧卡导致耗电异常是有可能的,但10倍貌似就有点夸张了。就这个个案而言,问题出在哪?

三、分析:从STK处理异常,推导手机处理SIM卡异常引发的耗电问题

既然用屏蔽SIM卡补丁、把“SIM卡应用:没错,我就是M-Zone人”去掉后,耗电平稳性就恢复正常。那么这个玩意,从哪里来的呢?一番搜索后,STK初入视野:

STK(SIM TOOL
KIT)是一种小型编程语言的软件,可以固化在SIM卡中。它能够接收和发送GSM的短消息数据,起到SIM卡与短消息之间的接口的作用,同时它还允许SIM卡运行自己的应用软件。这些功能经常被用于在可通过软件激活的电话显示屏上,用友好的文本菜单代替机械的“拨号-收听-应答”方式,从而允许用户通过按键轻松进行复杂的信息检索操作或交易。SIM卡技术,"空中下载"业务,实现基于SIM卡的服务业务,例如移动的"移动梦网"SIM卡,"动感地带"等都是基于STK技术的SIM卡,该技术可以使SIM卡拥有大的存储容量和内置运营商提供的各项服务。

http://baike.baidu.com/view/65890.htm#3 ;百度百科)

而操作过程,则见@智能卡技术 的文章《关于SIM卡的STK应用》(http://blog.sina.com.cn/s/blog_4df8400a0100ec4l.html ):

对于具备STK功能的主动式SIM卡,在表示结果执行正常的时候,采用另外的协议通知终端“你发给我的命令我都执行完了,但是我这里还有一些命令数据,希望你能够取走,帮我执行一下。”于是终端就利用一个取数据的“Fetch”命令,从卡片中把准备好的数据取出来,然后按照这些数据的要求,进行相应的操作,之后终端会利用一个“Terminal
Response”的命令告诉卡片,“嘿,你让我帮忙的事情,我已经做完了,你看看结果吧,还有啥需要我做的吗?”如果卡片这个时候还有需要终端处理的命令数据,就继续发给终端,如果没有则跟终端说,“伙计,干的不错,暂时没有啥事了,多谢。”
   

如果把上面的对话翻译成卡片和终端之间的数据传输的话,就是这样的:

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

同时还搜索到Android的“STK(三):STK开机启动后流程解析”(http://ming.highgic.com/?p=419 ):

“接着,Modem继续上报两条消息,这两条消息均为DISPLAY_TEXT,即通知显示开机导航提示语(如:动感地带SIM/USIM卡
 没错,我就是M-Zone人),有的卡只有一条,有的有卡有两条”

从上面的资料可以看出,SIM卡和手机终端是存在各种交互过程的,主要的逻辑也放在手机终端上。而手机终端在处理SIM卡的逻辑时,确实有可能因为各种错误的输入或交互,而引发异常。大家都知道,程序逻辑异常的出现可大可小,所造成的影响都需要结合场景来评估:比如说死循环异常,极大几率会导致耗电量剧增,手机发热;但输出异常,可能就只是弹个框,影响甚微。就复测的案例而言,当SIM卡存在氧化等物理异常后,不同的手机有不同的情况:

(1)Nokia
C5手机在处理STK时,确实出现了周期性的异常,从而引发耗电量增加异常;但很幸运的是,这种耗电量的异常,在大多数情况下,并不影响待机能力——除非忘了锁定键盘。

(2)中兴U880的Android 2.2做了容错处理,不会出现任何问题,但是否耗电,待测。

(3)中兴U880的Android
2.
3出现了异常,无法关闭对话框,导致无法正常使用(处理DISPLAY_TEXT前后出现异常?);而是否耗电,待测。

从上述推测,沈阳日报的说法,并非不可能,旧SIM卡出现接触不良,导致了手机逻辑异常,碰巧,这种异常使得在纯粹待机耗电量上,出现有10倍差异的说法。要注意的是,新闻中并没有说明主角的使用手机习惯,所以真实的待机时间,无法推导出来。另外,有些人说旧SIM卡导致频繁掉线,不排除也是手机异常处理不完善导致(也有可能处理不了?)。

因此可以作出一个最终结论,从从手机逻辑处理的角度,纠结“新旧SIM卡待机耗电量差10倍”的问题毫无益处,其实应该归结为“手机终端在进行SIM卡处理部分(如STK开机交互)的逻辑异常是否会导致耗电量剧增”问题:当SIM卡由于氧化、损坏等导致包括接触不良、物理损坏在内的各种物理异常,或者由于错误的写卡动作等导致SIM卡数据结构不标准时,会有可能导致手机在处理SIM卡(比如STK开机交互等)上出现逻辑异常,结果有可能导致耗电,也有可能不耗电;而耗电的严重程度,需要视乎异常而定,根本不可能得出一个通用数值。所以,两种观点都有失偏颇,沈阳日报的报道存在个例化的情况,而@奥卡姆剃刀
的实验也并不严谨。

实际上,因为SIM卡异常的情况而引发耗电问题在维修店和手机玩家上都时有听闻,如下截图,就分别代表了SIM卡物理异常和SIM卡逻辑异常(对于国外改卡机而言,国内卡可作为一种输入异常看待),引发手机耗电较高问题。(PS:最近几年出现的剪卡潮,会否导致这类问题,希望看到相关案例)

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

也谈新旧SIM卡耗电之争——从手机处理STK异常说起

写到这里,想起一条曾广泛流传的微博:“刚吃饭,听某hardware
team的同事说硬件有些bug是因为宇宙射线击穿内存导致某一bit反转造成的…宇宙射线…长姿势了…”(@__charles_lin
http://weibo.com/1784849201/z47CaBam4 )。重提这条微博的原因,是为了提醒自己:一个缺陷,可能来自多方面甚至意想不到的原因,这需要有多方面知识的储备,以及对相关业务流程的深刻了解,两者决不可孤立存在。

四、对于普通用户的建议:纠结这个并无必要

纠结旧SIM卡(包括手机对SIM卡逻辑处理异常)的耗电问题有没有必要?个人认为,对于绝大部分普通用户而言,并无必要。因为安卓、苹果、塞班等智能机的绝大多数耗电是在:

(1)越来越大的大屏幕。屏幕越大必然越耗电。此部分不阐述。

(2)大量手机应用的安装、后台常驻。应用越多,特别是常驻应用越多,耗电必然越严重。实际上,这也是root/越狱支持和反对者经常交锋的点之一:安全研究者用各种血的案例力证root/越狱的不安全性,并呼吁不要这么做;而用户又确实反感各种强制定制应用所带来的耗电困扰,同时又要寻求自由修改系统的权利。这使得手机应用开发者在选择保护用户隐私的加密手段时,很多时候感到左右为难。

(3)各种不必要服务的开启,比如GPS等。

(4)频繁开关屏幕使用应用,就是(1)+(2)+(3)=Game Over。

因此在智能手机上,对SIM卡逻辑处理异常导致的耗电,只要不会出现信号异常,那么在以上智能机的耗电大户面前,基本小巫见大巫,在大部分情况,可以忽略。少装应用,经常杀进程、关闭非必要功能、不要频繁使用手机才是省电王道。

什么,你还是担心耗电?还不想换卡?那就用橡皮擦擦干净吧。

五、对于行业人员的建议

对于通信行业的从业者、学术研究者而言,建议到各大手机维修点和运营商营业厅,针对此问题进行大面积调研。相信,应该会有些特别的案例值得挖掘。

而对于手机底层开发者来讲期待有开发者出来撰文,阐述有关SIM卡物理异常所导致逻辑处理异常问题和经验   

同时也期待有非智能机开发者讨论这个问题,因为有人提到,功能机对SIM卡具有较高依赖性,其操作SIM卡的程度要大于智能机。

六、一些后话

这场争议传播得如此之快,其很大程度上是因为对“待机”两字的理解不一致。所有涉及的待机实验、还有说明书上的标称待机时间,其实是在理想状态下(没有开启任何应用下、sim卡和信号良好)测出的续航时间;但大家理解的待机,包括各种评测文章所说的待机,是指用户在各种环境、各种操作习惯下的续航时间。这两者数值都没有错,但往往相差巨大,而微博上的传播,大多是用后者来理解前者,因此传播之快,误解之多,意料之中。传播百态,值得传播研究者细细品味。

转自:http://blog.sina.com.cn/s/blog_56b798f801019lj2.html

文章来源于lcx.cc:也谈新旧SIM卡耗电之争——从手机处理STK异常说起

相关推荐: 【漏洞】百度官方空间链接跨站跳转漏洞

漏洞描述:     百度官方空间链接跨站跳转漏洞 漏洞出自:     www.yes-cn.net 漏洞详情:     首先,我们构造这样一个链接:     http://hi.baidu.com/baidu/album/%C4%AC%C8%CF%CF%E0%…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: