HTC Touch Pro2 CDMA(xv6875)刷机及写号攻略
Contents
由于某些原因,打算换用电信CDMA的手机号码,所以不得不换手机。考虑到以后可能还是会用GSM号码,挑来挑去,最终选择了HTC Touch Pro 2。由于之前完全没有接触过CDMA,入手之后,如何解锁、写号、刷机及修改ROM,着实让我颇费头脑。不过还好,通过几周的恶补,稍微有些心得,趁着新鲜热辣,赶紧记下来,以作备忘。
由于CDMA技术与GSM技术的差别及其的相对不开放,所以解锁、写号需要了解的概念也比较多。关于这些网上有很多相关文章,这里是详细叙述步骤。
所需软件的准备
- Touch Pro2的驱动(Mirror)
- 最新版本的解锁软件
- Patched Radio包(Mirror)
- ESN Modify工具(Mirror)
- CDMA Workshop v2.7.0(Mirror)
- ESN/MEID转换工具(Mirror)
- 收集的一些PRL文件(Mirror)
同步手机
在Windows 7下,将手机与电脑用USB线连接之后,电脑会自动下载手机驱动及同步软件;在Windows XP下,这个步骤要手动完成。使用“所需软件的准备”中Touch Pro2的驱动,同步软件可以从微软官方网站获得。
解锁SPL
由于该机器基本上是HTC与欧美各大运营商合作退出的签约机,所以通常限制了对其它网络的使用,我们需要先将该限制解除。
下载“所需软件的准备”中最新版本的解锁软件。注意,该软件限制了只能免费使用一次,所以一旦解锁失败而要再次使用时,需向作者付一定的费用。这里“Rhodium_W”为“HTC Touch Pro2 CDMA”机型的代号,这个以后还会接触到。
下载之后解压运行其中的exe文件,然后点击“Flash Hard-SPL”按钮。这里要注意一定要将该文件置于本地硬盘内,并且关闭杀毒软件以防误报,尽量保证网络通常并且最好不要在内网中,手机电量要在60%以上。
接下来一路点OK,直到电脑上出现刷机界面,此时手机会自动黑屏进入刷机模式。运行刷机软件一路点Next,出现进度条之后稍等片刻便刷机成功。
Radio Patch
官方的Radio是不能直接写号的,必须要刷Patched Radio。刷Radio其实和刷Rom的性质一样,将“所需软件的准备”小节中得到的Patched Radio解包之后在同步状态下运行“ROMUpdateUtility.exe”,根据提示进行刷机。
写号
写号必须要获知CDMA号码的IMSI、ESN、A-Key,俗称三码,这可以保证正常通话、短信、1x上网;如果有CAVE Radio并且本地网络支持CAVE EVDO上网认证,那么有这三码也可以EVDO上网了;否则,就必须还要获知AN、AAA,加上之前的三码,俗称五码。关于具体的获知渠道,不是这篇文章关注的重点。
题外话,其实IMSI和ESN可以自己通过UIM卡查出来的。电信赠送的手机很多牌子比如华为,拨“##497613”进入工程模式,依次进入System test→System parameter,其中“UIM ID”即UIM卡的ESN,“IMSI”即手机卡的IMSI,不过“MEID”并非手机卡而是手机的MEID。
首先需要进入EPST模式,在拨号界面下拨“##3424#”(需要手机系统中装有EPST),此时系统会自动发现两项新设备,使用上面“同步手机”小节中的驱动后,在设备管理器中会发现“端口”一项中多出新设备,记住COM端口号,后面会用到。
接下来获取当前手机的SPC。在“所需软件的准备”小节中下载由DiyPda制作的ESN Modify工具,运行之后,“选择端口”一项应该为上面所得到的COM端口,这里是“COM4”,点击“读SPC”,即可得到当前的SPC。关闭该软件,之后取决于情况,可能还会用到。
然后解压执行CDMA Workshop,注意杀毒软件还是可能会误报。接下来按图操作:
连接成功后,点击“Security”标签。在“SPC”内输入上面通过ESN Modify获知的SPC码后点击“SPC→Send”:
如果SPC码正确,会弹出“SPC is correct. Phone unlocked”的确认框。这时,手机已经完全解锁。为了防止以后忘记SPC而重复工作,在SPC框中填入“000000”后点击“SPC→Write”,这样就一劳永逸了。
接下来将MEID清零。点击“Terminal”标签,在“Commands (bytes in HEX)”框中输入下述字符串后点击“Send”:
27 97 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
MEID清零之后便开始改写手机ESN。点击“Security”标签,在ESN栏位第一个框中填入八位的ESN码后点击“Write”写入。
写入成功的话会弹出“Success. ESNsuccessfully has been changed”的确认框。
然后改写ISMI。点击“Nam”标签,点击“Read”按钮读出手机原内置信息,按图操作:
Tips:关于SID/NID(转自DiyPda)
SID和NID的作用:
SID和NID用于判断手机是否漫游及漫游状态,手机的漫游状态同时体现在它的登记方式和它的呼叫限制标志上。注意:这所说的漫游是指“位置”上的,不是指“计费”上的,手机在漫游状态下呼叫是否要拨长途区号、是否要付长途话费,是由手机的号码段和计费终端的设置决定的。SID号码由“前联通总公司”确定并分配给每个移动本地网,每个本地网一般只有一个号码。在中国可以简单理解为地级分公司或同一个国内长途区号的系统代码,为什么强调“在中国”呢?要知道中国的一个省比很多国家面积都要大,国外划分本地网不一定像中国按地级市来划分。NID是SID下面的一个子集,表示构成同一网络的一组基站或一个基站。NID的分配由各本地网管理,也就是由地级分公司分配。在中国,NID可以理解为数据交换局的代码,在同一NID下有若干基站。还有一些代码在手机里没有显示的,例如基站识别码、扇区代码。如何用SID和NID判别漫游状态
在中国,手机是利用“为其服务的基站的SID与手机(UIM卡)内的SID是否相等”来判断是否处于漫游状态。有些使用CDMA网络的小国家,可能只有一个SID,他们判断手机是否漫游只需比较NID是否相等就可以了。在手机内部保存一个SID和NID的列表(机卡分离的保存在UIM卡内部),是它曾经登记过的区域的标识。NID有两个保留值,一个是0,这是为公众蜂窝网所预留的;另外一个是65535,手机利用它来进行漫游状态判决,如果手机的NID设为65535,这时手机只进行SID比较,不进行NID的比较。只要在同一SID内,就认为是本地用户,不被看做是漫游。手机可以处于下面三种漫游状态的任何一种中:本地(不漫游)、NID漫游和SID漫游。如果从系统参数消息中接收接收到的SID/NID不与UIM卡存储的本地识别码SID/NID相匹配,则认为该手机处于漫游状态。如果手机正在漫游并且为其服务的基站的SID/NID中的SID与手机(UIM卡)中本地识别码表中的SID相等,则这个手机被认为是NID漫游。如果手机本地识别码表中的SID都不等于服务系统的SID,这个就被认为是SID漫游。如果手机使用特定的NID(65535),则表明手机认为在一个SID里的全部NID中都是非漫游的,即在系统的所有基站的小区里,手机都不算是漫游。例如:如果手机的本地(SID/NID)列表包括:13828/65535、13844/65535、13831/65535,13828、13844、13831分别是广州、深圳、东莞三地的SID,手机认为这三个都是本地网,手机就不会显示白三角。能全国漫游的UIM卡就应该包含全国各地的SID,有些地区推出的本地通(例如深圳的“市话通”),UIM卡内就只有深圳的SID,至于是否漫游成功,还要看当地的系统是否允许接入。
这里需要注意的是,十五位和十位ISMI其实是一样的,区别在于前面是否加了MCC码460和MNC码03。
最后写入A-Key。点击“Cave”标签,在Cave栏的A-Key框中输入自己手机号码的A-Key,SSD_A与SSD_B两项填满0,点击“Write”按钮。
成功的话会弹出“Success. A-Key successfully has been changed for NAM1. Success. SSD_A successfully has been changed for NAM1. Success. SSD_B successfully has been changed for NAM1.
”的确认框。
然后关闭软件、重启手机,可以发现手机已经可以像插入UIM卡一样正常使用了。不过最重要的一点,千万不能让写号后的手机和插了原来该号码UIM卡的手机同时开机,否则这种并机状态会被电信立即停机!
例外:80开头的ESN
写码的时候发现悲剧了,ESN码是80开头的,这种ESN是通过MEID转换而来的,无法直接通过CDMA WorkShop写入。解压执行“所需软件的准备”小节中的ESN/MEID转换工具,输入ESN的后六位,点击“查找”,稍等片刻就可以得到转换的MEID(注意该软件会有弹出广告),换算时间视电脑性能而定,CPU为T7200的笔记本大概花费了二十分钟。
得到MEID后,再次运行ESN Modify工具(刚才说过的可能还会用到),选择好端口,“16进制MEID”框填入刚才换算得到的MEID,“16进制ESN”会自动通过换算得到,可以和自己的ESN对比一下,应该是一样的。点击“写入”按钮。这样80开头的ESN也终于搞定写号了!
更新PRL及设置AA/AAA
正常来讲,现在应该已经可以使用写号机通话了,不过有些时候也有例外。如果还是无法拨通的话,可以尝试更新PRL,在这里,用PRL包中的“0005.prl”为例。
首先将PRL文件放置于手机存储中,比如“My Documents”内。在拨号界面下拨“##778#”,点选“Edit”,然后输入SPC密码,刚才我们已经修改为“000000”。进入EPST界面后,点击左键“View info”,在弹出菜单中点选“PRL”,在接下来的PRL界面中,将Update PRL File设置为“\My Documents\0005.prl”,系统提示“Update the items?”,点击确定。
接下来设置一些和网络相关的参数,如果有AA/AAA,也可以设置EVDO上网,现在Touch Pro2还仅支持MD5而不支持CAVE(2010.08.20注:现时淘宝里已有一些商家在卖CAVE Radio,不过是要花钱的,价格感觉和直接查询AA/AAA码相差不多),这代表,只有获得了AA/AAA码才能使用EVDO。
在上述“View info”的菜单中点选“M.IP Setings”,将“MIP-MODE”改为“Simple IP Only”,“Mobile Node-HA Auther”改为“Enable”。
在上述“View info”的菜单中点选“Modem Settings”,将“HDR Hybrid Preferred”改为“Enable”,将“Preferred Mode”改为“Automatic”(代表使用1X/EVDO混合模式且优先选择EVDO)。
在“View info”的菜单中点选“Data Parameter”,将“Packet Dial String”改为“#777”,把“Rev. A”改为“Enable”。
在“View info”的菜单中点选“Security”,将“HDR AN AUTH User Id”改为UIM卡的AN,把“HDR AN AUTH Password”改为UIM卡的AAA。
重启手机,界面上应该已经显示“Ev”图标了,这只是代表当前存在EVDO网络而已,具体AA/AAA是否正确、是否可以使用EVDO网络,可以在拨号界面下拨“##33284#”→在“Field Trial”界面中点击左键“Debug Info”→在弹出菜单中点选“HDR”,看“AN/AAA authentication”如果为“1”,即代表终于可以使用EVDO了!
更改运营商的字样
我所使用的U.S. Cellular版本Touch Pro2,一直在系统中显示运营商为“U.S. Cellular”,网上所流传的方法(譬如更改注册表、安装某Cab包等)大部分都无效,要么就是根本不起作用,要么就是在硬启之后失效。这个问题根本的原因还是源于PRL。不过,最终在DiyPda论坛中找到了解决方法(感谢作者eric5100君)。
在上述写号过程中,需要多操作一步。下载NVItems.txt文件,其内容为:
[NV Items]
[Complete items - 1]
8042 (0x1F6A) - OK
0D D6 D0 B9 FA B5 E7 D0 C5 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 0D D6 D0 B9 FA B5
E7 D0 C5 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
红色的内容为“中国电信”的十六进制值,也可以根据需要替换为其它值。点击“Memory”标签,在“NV Items”栏中点击“Write”,会提示需要先解锁SPC,确认跳过提示,然后选取NVItems.txt文件,很快软件会提示写入成功。
这时只需重新启动手机,就可以看见“中国电信”字样了。嗯,我的一个心病终于解决了!
疑难解答
- 如果仍有白色三角漫游标纪,可以尝试更新其它PRL。
- 如果写号之后能打电话而无法收发短信,请检查“##778#”模式中,“CDMA Settings”里面是否是MCC:460/MNC:03。
- 如果无法打出电话,来电能振铃但一接就断,可能是A-KEY错误。
疑问:现在本人所用的 U.S. Cellular版本,无论如何设置、修改注册表,界面都仍显示“U.S. Cellular”运营商,不知道和什么有关。而其它用Spint、Verizon版本的好像就没有这个问题。- “AN/AAA authentication”的值为“2=Failed Authenticat”,这应该是AA/AAA不正确。
You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.