|
楼主 |
发表于 2009-8-4 19:10
|
显示全部楼层
文章发布在:
+ H2 C/ r( T+ M2 a+ R" E+ ~http://honeyhan.cn/200908/04_1124.html' F& S9 H& m% b- P
文章如有错误请大家批评指正,或有补充,亦表感激!2 ]- }! j; u+ l0 t
3 a/ U3 Z1 |- i" o. MPalm Pre烧号过程中的QXDM连接不稳定问题
+ n1 F, q/ x3 G% L* G9 E6 }* r1 d
. d9 n8 _, Y9 T* z/ L这两天在帮一位朋友折腾Palm Pre的CDMA烧号,遇见一个问题:
0 V4 Y. @2 @: s, o. |1、通过Python监听Palm Pre端口,成功打开8023端口;8 E6 S1 P$ e: o, {+ p& l
2、通过Putty连接Palm Pre获取root权限并运行mpt diag(或mpt 0d)命令;
; d1 o' _8 K5 H! A3、安装了diag模式驱动,在设备管理器中找到相应的diag端口(例如COM4);6 E N% s7 y; l% E5 p0 @
4、在QPST Configuration中,设置连接端口时,如果选择”Show Serial and USB/QC Diagnostic ports only”的话,则左边的可选择端口中看不到COM4(COM3也看不到),如果把这个选项取消,则可以看到”COM3 – USB/Unknown”和”COM4 – USB/Unknown”,将COM4添加到端口列表中去,可以看到Palm Pre设备连接成功(稳定连接);6 G: i+ X% r ~9 C1 C
5、但是,如果此时打开QXDM,并通过Options – Communications选择COM4,就会出现一个非常奇怪的现象:无论从QXDM还是QSPT Configuration中,看到的Palm Pre连接,都会出现时连时断现象,大约循环时间为5秒钟左右,也就是每隔5秒会连接、断开、连接、断开,不停重复,因此无法通过QXDM进行任何操作;
1 ]% I9 o0 G& ^具体如下图所示:
3 A- V& Z! j! E+ }+ M" {3 S图1:从QXDM看,每隔5秒钟就连接上的截图/ c) a, ]2 L# O; n0 o

1 r$ x, k! v9 j0 `: l; _图2:从QXDM看,每隔5秒钟就断开的截图% q& }1 ]- S3 x' N8 H$ B A& y

4 F( v8 Z' C- l% F& E* k( f+ k图3、4:从QPST看,每隔5秒钟就连接上的截图
s' @1 |3 x# _5 V) u" k ' o0 e+ b3 D5 f: V/ f, e4 Y4 P, H8 V

0 ?0 K, q7 d0 H图5、6:从QPST看,每隔5秒钟就断开的截图
" V5 c4 Q) W% ~- T4 g8 C4 [6 J
8 g' w! o1 W& E% r" l7 F+ H ' B3 I* y) T% V; w
6、如果用CDMA Workshop,可以连接,并读取手机相关信息,可以操作SPC等,但是无法进行内存扫描,我猜测,就是因为时断时连,所以,对于瞬间的读取操作、写入操作是可以成功的,但是对于持续的读取就会失败;
3 k6 y+ [1 a) F5 ^其他信息:. ?5 J; v& p& m
Windows Server 2008 Stan sp2
/ F& c. i* |( w L% o& KQXDM 3.11.360 M8 O2 I5 ^9 j* g
QPST 2.7 build 323+ D+ R0 J. x/ O; J& q
webOS 1.0.4,已经激活、破解SPC
' ` d! C3 x& O& _/ B4 ]当然,在我的机器上,用QXDM/QPST、CDMA Workshop对BlackBerry 9530进行操作是没有任何问题的,否则我也就不可能研究出9530机身ESN/MEID的修改方法了。* K4 u# v7 ^/ |5 a" u
问题的分析和解决:/ p5 }. m! p+ b+ [# ?& s
首先怀疑是驱动程序的问题,因为在网上看大家好像都没碰到过类似问题,所以,怀疑是使用Windows 2008的人比较少,而这个diag mode的驱动在2008上不稳定——只是怀疑,没法验证,也找不到更新的驱动程序;
( _ P2 a: ?# A3 B( G后来仔细分析了一下,认为这个问题与QXDM关系还是很大的,因为仅仅开QPST的话,是稳定连接的,虽然没有任何操作,但是连接是正常的;可是打开QXDM之后就不正常了,就开始不停地连接、断开;——这样看来,应该仔细看看QXDM:/ Z& I* I9 C% r8 `
我的QXDM以前一直用于BlackBerry 9530分析,所以默认打开的时候,会有三个子窗口,分别是Core Dump View、Memory Viewer、Command Output;
9 I- ]! u9 x; b& k经过反复确认,发现问题就在Memory Viewer上:! t) O$ n/ ?' p7 N
1、Memory Viewer打开的时候,默认显示内存地址是最后一次关闭时候所显示的内存地址,比如我最后一次折腾QXDM的时候,关闭前,内存地址是0×20000000,现在打开QXDM,Memory Viewer默认就是显示0×20000000这个地址;
% c+ z2 c/ q4 {. r2 \ 4 U$ ?) p7 p0 R6 h* |3 L. ?1 n9 |) Q3 b) N
2、不巧的是,刚好0×20000000这个地址在Palm Pre上是不可读地址,而QXDM的Memory Viewer会反复尝试去读取该地址,这个读取动作会导致Palm Pre断开diag mode的端口;
% G1 v, T- U" c3、如此反复,导致上述现象的产生;
" v6 A) m+ V* Q- m d# G/ e( D# @找到原因之后,解决办法就简单了:# J7 l5 G/ b6 P J! B' K
1、先把Memory Viewer关掉,然后把QXDM也关掉;* g1 @9 T T1 y( V! d& I
2、重新打开QXDM(这时候它不会自动打开Memory Viewer),所以就正常了;
8 \# Y& [/ \. |0 ]& R3、再手动打开Memory Viewer,这时候应该显示的是0×00400000,而这个地址是可读内存地址,所以还是正常的。
3 ~ m# D' S) C+ m2 [ ) h: h+ x) s" N* C4 Q: d
好了,问题搞定!1 m! \+ |: k0 M; H
) M, D, E2 ]$ p# J# S
补充:2 d2 a( W o4 b1 j& c+ a. V
如果这个问题存在的时候,一直不关闭QXDM,会导致最终无法连接Palm Pre,必须拔掉电池冷启动,才可以恢复。 |
|