上一篇:MediaWiki文件上传的设置 - 下一篇:memcached全面剖析–5. memcached的应用和兼容程序
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/27/blackberry-7230-activate/以及本声明。
这年头BlackBerry 7230的激活已经是老掉牙的话题了。其实原理相当简单, 无非是让BB做个到MDS服务器的连接,连上MDS之后BB就认为自己激活了, 然后就能使用cnwap正常上网了。maxpda上也有高人贴出了 自建MDS服务器进行激活的办法。
简单来说,BlackBerry 7230激活的过程如下:
- 导入ServiceBook,其中IPPP的IP地址需要指向MDS服务器。
- 在Options->Service Book中恢复删除所有内容。
- 设置Options->TCP的APN为空。
- 以上的设置是保证BlackBerry 7230能使用ServiceBook中设置的MDS服务器进行连接。
- 然后启动任意一款能不通过WAP建立网络连接的程序。QQ3可以,自带的浏览器似乎不行。
- 使用该程序建立直接的网络连接(不能走WAP)。
- 待BlackBerry 7230连接到MDS服务器之后,激活成功。
- 此时在Service Book中删除IPPP,并设置TCP的APN为cmwap,就可以用WAP上网了。
在这个过程中,关键的就是这一步:使用该程序建立直接的网络连接(不能走WAP)。 也就是说,任何一个能建立直接连接的程序都可以用来激活。为什么呢?
大家可以查查BlackBerry JDE的javadoc。建立网络连接主要使用 javax.microedition.io.Connector 类的 open 方法(这在《BlackBerry Application Developer Guide Volume 1》中有介绍)。 open方法支持多种协议,比较注目的就是http和socket。 从http协议的参数中可以看到,其中包含 WapGatewayIP、WapGatewayPort等参数, 所以可以认为http是走WAP的(实际不一定如此,但不影响本文的介绍),而且用法比较复杂。 相比之下,socket就简单得多。打开一个socket连接的方法如下。
connection = (StreamConnection)Connector.open("socket://1.2.3.4:5555");
URL可以带一个参数 deviceside,这个参数很关键。根据javadoc, 该函数可以取以下的两个值:
- deviceside=true:直接建立手机到服务器的连接,不使用MDS服务器。
- deviceside=false:通过MDS服务器建立连接。
我们知道,激活是要走MDS进行认证的,所以必须使用deviceside=false才能正常使用MDS进行认证。 所以上面的建立socket链接的语句千万不能加deviceside=true参数,否则就白忙了。 BlackBerry 7230的默认连接方式是 deviceside=false 的,所以什么参数都不加就可以了。
知道了原理,只要写一个程序,调用上面的Connector.open,不管连接什么URL都能完成激活。 我写了个程序,编译后的cod文件只有2440字节,完全可以取代上百K的QQ3。 源代码和cod文件见文末的下载。
另外有兴趣的同学还要注意了,BlackBerry对进行网络连接的程序有严格的限制。 同一程序不能同时连接外网和内网,这里的外网就是上述deviceside=true的直接连接, 内网就是deviceside=false的走MDS的连接。而且这里的“同时”是永久性的, 也就是说,一旦你的程序连过外网,BlackBerry就会认为你是一个外网程序, 以后就永远禁止你连接内网,反之亦然。想连内网,对不起,只能请你换个名字了。 这种同时连接外网内网的行为叫做“split-pipe”, 关于禁止这一点在《TCP IP Support for the BlackBerry 6500 Series and BlackBerry 7500 Series of Wireless Handhelds》中有说明。
程序下载:
2008-07-29 20:44
也准备买个黑莓玩玩
2008-09-05 18:11
7230太老了。。最起码7290
2008-09-05 18:53
没钱买7290,呵呵
2008-09-26 17:03
您好,刚买了个翻新的7230,麻烦问下手机USB不能用怎么回事啊?是不是数据线有问题啊,我那数据线好象是V3的。谢谢QQ83212743/手机13475447354
2008-09-27 05:46
我的USB也用不了
2008-10-04 17:55
@gao fei 就是普通的USB线插上就应该能找到设备。V3的数据线和7230应该是通用的。如果插上USB后找不到设备,可能是USB接口坏了,找卖机器的人问问吧;如果能找到设备,可能是需要驱动程序,上网搜一搜Desktop Manager,装上试试看。
2008-11-04 21:01
偶像,我的7230按照你的方法激活后自带浏览器显示“无法读取下列apn的pdp上下文”cmwap。是不是说还没有激活啊?该怎么办呢?
2008-11-05 01:00
@smilediao 应该是这个意思吧。原因不好说,拔电池重启一下重新导入servicebook再来一遍试试吧。另外注意检查servicebook是否还好用。
上一篇:MediaWiki文件上传的设置 - 下一篇:memcached全面剖析–5. memcached的应用和兼容程序

2008-07-28 21:45
收藏,备查,:)