74版本A780手机Telnet、安装loader mpkg、mtf文件全攻略

ucuc6868

普通会员
2006-05-30
4
0
0
转非newbee2000的贴子,请大家研读

本文所描述的方法,不仅仅适用于74版的手机,其他的大A小E都可以采用.
第一部分 linloader的安装
第二部分 telnet的实现
第三部分 mpkg和mtf的实现
第四部分 和大家探讨几个问题





最新的74版本的A780手机,是移动定制的手机,所以虽然版本较新,功能却做了限制,尤其是不能安装mpkg文件,不能telnet,picsel是英文界面,而且对于中文网页显示不正常等等。piscel的问题当然可以安装java程序来部分解决——毕竟对于中文的office文档,piscel还是可以正常工作的。但是不能telnet,不能mpkg,这是无论如何不能容忍的。作为一款内置操作系统的智能手机,软件的可扩展性是其最大的优势。但是没有这两个功能,A780和其他普通手机相比又是已经不大,和smartphone就更没法比。真不知道moto公司的人脑子是不是进水了,没有人来开发,这款手机和moto的后续的linux手机,就是垃圾一堆,没有任何前途。moto的官方说法是这款手机只承诺支持java程序。Ft,我花3000多大洋,就为了买一款java手机?在现在800不到的手机上,java就已经支持地很好了。
刚得到这个消息,真有一种把手里的大A砸了的冲动。不过这显然不符合DIY的精神。于是开始琢磨破解的办法。首先想到的当然是刷机,但是经过一番考察后,我暂时搁置了刷机的想法。首先是因为moto官方建议,74版本有若干个序列号不能刷50的系统,究竟能不能,网上的网友有人刷成了,有人失败了。我想既然moto这么说,应该不会是空穴来风,那些刷成的,短期内看不出什么,有没有后遗症很难说清楚。毕竟74是个新版本,肯定有很多优点,并修正了一些bug,所以主观上不打算放弃74。另一方面,我想刷机前先把系统备份一下,万一失败了还能刷回去,可是问了好几个论坛,都没有人告诉我如何备份flash 的内容。 我想应该还有其他的解决办法。


第一部分,linloader的安装
linloader的安装是所有工作最重要的一部,如果能运行脚本程序,那么所有的事情就好办了。
作为内置的linux系统,运行命令是基本的功能,所以系统内部肯定不能去掉这个功能。



从网上下载linloader的软件包,这个应该到处都是,本版精华里也应该有。虽然是mpkg格式的文件,但是其实可以用winrar打开的(在winrar中不断选中里面的内容,右键选查看,知道看到下面几个文件为止:
lin_loader 不同的版本这个文件名可能不完全一致,但大同小异,改名即可
loader.gif
loader-sm.gif
把这几个文件解压缩出来备用。



使用大容量存储模式,在手机或者存储卡上的.system/java下找到PlugCardDB这个文件,用任何的文本编辑器打开这个文件。这个文件的大小和你已经安装的java程序多少有关。不管大小,翻到最后,添加如下内容。如果你以前没有改过这个文件,应该没有问题。如果以前曾经改过,注意里面的编号不要和以前的修改冲突。
[AppLinkRecord100001001]
AllPosition = 200
BigIcon = loader.gif
Directory = loader
Exec = lin_loader
Group = 3
Icon = loader-sm.gif
InstalledDate = 2006/2/19
JavaId = -1
Mime =
MpkgFile =
Name = LinLoader
OsVersion =
Position = 1
Rotation =
Shared = 0
Size = 4K
Type = 4
uid = 100001001 这个编号和第一行的应该一致。
group记录的是程序出现的位置,3应该是其他,如果要放到其他组,可以改这个数字。位置是出现在这个组里的位置。

然后在.system/QTDownLoad 下面建立一个目录loader,注意如果修改的是手机上的PlusCardDB文件,就要建在手机上,如果修改的是卡上的文件,目录也建在卡上。然后把前面的三个文件拷贝进去。



重启机器,然后就可以在程序中找到linloader了



第二部分 Telnet的实现
74版本的手机屏蔽了mode=99参数,所以找不到usblan。
其实理论上,有了linloader,就可以做telnet能做的所有事情,只是稍微麻烦一点。比如我们在手机上任何目录下建立一个文件test.lin,然后输入内容(可以用记事本先输入,保存后再改名):
#!/bin/bash
ls /bin >/mmc/mmca1/result.txt



这个脚本把/bin目录下的内容列目录并输出到TF卡根目录下的result.txt中.这里,/mmc/mmca1是手机的tf卡在系统中的位置,手机的位置是/diska.
用linloader打开这个文件,然后我们查看,可以在卡中找到result.txt这个文件,并可以查看输入的结果.用这个方法,我们可以执行任何的telnet中的指令,并查看输入的结果.当然,这个办法太笨了,我们还是尝试从电脑telent的办法



手机中有一个文件/proc/motusbd(严格说它其实不是一个文件,只是一个从系统内存变量影射出来的一个虚拟文件,这是linux系统本身的问题,我们不管那么多,就把它当一个文件).这个文件中记录了大A目前的usb的状态,比如大容量存储器是MotASM.
相应的usblan模式对应的是MotNet.所以我们写一个脚本usblan.lin,可以放在任何目录下.内容有两行:



#!/bin/bash
echo MotNet>/proc/motusbd



保存.然后手机置于modem模式下,连上pc,这时识别出motorola modem,这个驱动装不装无所谓。然后这时打开手机,运行这个文件(使用linloader打开),这时电脑马上会识别出新硬件,接下来的安装过程和普通的大A,小E安装usblan的方式全都一样.安装完驱动,就可以正常使用telnet,或者大A通过pc上网了.



实际上,还有这样的java程序,可以在手机上打开一个终端,连到手机内部的系统上,这样连通过pc来telnet都省了,所有的事情通过手机都可以完成了.这样的程序是有的,不过我懒得花时间找了,顺便说一句,有了linloader,就可以运行opie,opie里有好几个这样的程序,大家可以试试.




第三部分,mpkg,mtf的安装
有了linloader,我们就可以无法无天了,那么mpkg的安装就可以使用常规的方法来实现了.然后有了mpkg的安装程序,那么mtf.mpkg就可以安装,然后mtf文件也可以打开了.这部分内容文章很多,就不多写了.
一些参考文章,本版的精华区里也有很多类似的文章可以参考
http://e680i.aa.topzj.com/viewthread.php?tid=19320&page=1
http://www.3g365.com/viewthread.php?tid=48647
http://bbs.blueshow.net/simple/index.php?t140747.html
尤其这一篇http://www.vlan9.com/network/x010005232.html,很有技术含量



第四部分,和大家探讨的几个问题
实际上,通常的连接usblan的方法,输入echo at+mode=99 >comx,其他的手机可以激活usblan模式,但是74系列的手机不行.但是74系列的手机相应mode=12和mode=11,前者进入PST模式,也就是说其他手机运行PST软件时检测到的一系列硬件,小3可以检测到大概六七个,而大A竟然有十几钟硬件.通过PST,应该其实可以做很多事情.另外这种模式下也应该可以开机用PST刷机,因为该加载的硬件都加载了.
mode=11的时候,也可以检测到一个叫做Belcarra的硬件,而且对应的USB的硬件号VID_22b8 PID_6004,而telnet时是600c.我尝试用usblan的驱动,但是没有加载成功,硬件不停地重新启动.这个模式下究竟能做什么,我想可能还需要新的Belcarra的驱动程序加上大家的探索.