Tplink 703N TTL刷机

0004

一直喜欢折腾,硬件最多只刷过ROM,再复杂的没弄过了。这次弄了个更深入的,记个流水帐!万一有哪位像我一样是个外行人喜欢折腾的,可以作为参考,最主要是给自己记录一下万一以后要刷机省得又重新摸索。

先把背景资料记个流水帐

************************************

去年买的一个703N,叫人升级了8M ROM本打算拿来做下载机的,但是发回来的机器有问题,刷固件可以成功,但是加载transmission一段时间后系统就会崩掉,所有的程序都会丢失,原因也不明。

之后刷了各种版本的固件要么不成功,要么也是同样的问题。后来刷的固件更是奇特,刷完后不能断电(重启),一重启就变砖,要进安全模式重新恢复才能再次启动。

前两天刚好家里路由器的无线功能也坏了,想把这个临时用用也没搞好,就强行刷了Tplink工厂固件(直接在OpenWRT下刷回工厂固件),结果是连安全模式也进不去了,彻底变砖!

把TTL插上发现显示未知的设备,坑爹,居然TTL芯片坏了,只能重新淘宝一个。

************************************

一、PL2303驱动

我用的8.1 x64下载了一个驱动据说是for 8.1的,结果可以识别出设备并安装驱动但打设备有个感叹号!

网上找到这篇参考文章:
http://hi.baidu.com/arike/item/6cdb54b7824a4ff162388e8e

并根据其中的内容找到了网盘:
http://pan.baidu.com/share/link?shareid=107892&uk=117742042

其中下载的驱动,版本是:3.3.2.105(2008/10/27)

这个版本的驱动在win8.1 x64下安装成功并正常运行。

需要补充说明一点的是:

在找到这个版本的驱动程序之前,我已经安装过其它版本的驱动程序(有很多这个设备的驱动是个exe需要安装的,并不是一般的inf文件压缩包之类的;包括上面提到的3.3.2.105版也是一个exe程序,它会将驱动及inf文件装到系统中可以被windows搜索)。在windows8.1下,当我选择更新驱动程序并选择手工选择驱动程序时,系统能够识别出不同的版本提示并可以选择;在windows2003下,即使选择手工选择设备也无法显示出刚才已经安装的驱动程序版本;我懒得去研究怎么解决这个问题了,建议在进行刷机之前,一定要找到正确的版本!

二、Secure CRT配置

先安装任意版本的Secure CRT,选择Quick Connect,协议选择Serial。

端口号及波特率可以通过设备管理器查看Pl2303 USB to Serial这个设备的属性来查看并调整,反正我将两边都设置为下面两项可以运行。

SNAGHTML48a67ed

注意:默认情况下波特是9600,调整为115200应该会快点;默认情况下RTS/CTS是勾上的,我不知道做啥用,但根据我找到的其它资料,我把这个选项去掉了。

插上PL2303然后再点Connect应该可以看到SecureCRT显示连接成功但啥也不显示:)

三、TTL的接线

具体的TTL接线请搜索right.com.cn上的教程,真心不懂:)别人帮我干的。

不过有几点好像很多教程上都没怎么说的(内行肯定不会有这些问题,呵呵):

1、如果是用TX/RX接到MicroUSB上这种方式,也就是说703的供电口被占用的情况下,除了接RX,TX,GND之外,还要接上5V的电源线,不然703没电;

2、如果接好线,启动SecureCRT连接成功后,加电没有任何输出,试着交换一下TX与RX线可能会有效果。

四、进入TPL模式

启动SecureCRT之后,点击View,勾选chat windows,并输入TPL三个字母,准备着。

接好线路,加电;等待uboot启动大概1-2秒种之后出现:

Autobooting in 1 seconds

立刻在chatwindows下按下回车(之前已经准备好TPL字母了)。注意,保持Chat Windows为焦点。

如果出现honrnet命令提示符并闪烁光标表示成功了,借个图片用一下:

应该是不同的uboot会有不同的信息显示,例如:我刷的这个ROM提示就是这样的:

image

提示符不是Autobooting in 1 seconds,而是Hit any key to stop autobooting,但是总体上是大同小异的。

五 、准备tftp服务器

下载任意一个版本的tft服务器,把对应的uboot.bin,固件.bin放到服务的目录当中,启动tftp程序。

需要注意的是选择正确的网络接口(IP地址),否则可能会连接不上。

image

六、 刷机操作:)

刷机就是几个命令,按使用顺序简单说明一下

1、检查环境是否配置正确 。

显示环境配置命令 printenv

这个命令显示系统的环境变量,最主要的是ipaddr和serverip这两个地址。

ipaddr应该是路由器的地址,serverip应该是刷机用的机器也就是tftp服务器的地址。

如果地址不对,可以用

setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.2

来修改,修改完成后可以再用printenv确认一下是否修改成功,如果IP地址不对则tftp命令无法下载固件。

2、下载固件

不管是uboot,还是firmware,还是什么art(没试过),都是先下载固件。

tftp 0x80000000 固件文件名

这个命令从tftp服务器上下载固件:)下载后的内容应该是保存在内存中从地址0x80000000开始的地方。

3、删除系统中原ROM中的内容,这一步操作后如果不执行下一步,这部件固件就挂了

写入之前先删除(清空)内容,命令是:

erase 0x9f000000 +0x20000

这个命令第一个参数0x9f000000应该是删除的起始地址,第二个参数+0x20000应该是表示向前(正向)删除0x20000个字节的数据。

4、复制固件的内容进ROM,执行完这一步刷机就算是完成了。

cp.b 0x80000000 0x9f000000 0x20000

这个命令的第一个参数0x80000000应该数据源(下载的固件)的起始地址;第二个参数是ROM内的目标地址;第三个参数是固件长度。由于ROM的写入肯定是正向的,因此这里的长度参数不需要+号。

无论是刷uboot,firmware,还是art都是通过上述三个步骤刷入。区别在于起始地址与长度的不同。

提供一个参考地址的说明,其中0x8000000可以理解为内存中的缓冲区,所有的固件都下载进同一个地方因此没有变化,但不同固件的长度,刷入ROM的地址地址是不同的。

4M的:
________________________________________
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x400000
cp.b 0x80000000 0x9f000000 0x400000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f3f0000 +0x10000
cp.b 0x80000000 0x9f3f0000 0x10000

________________________________________

8M的:
________________________________________
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x800000
cp.b 0x80000000 0x9f000000 0x800000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x7c0000
cp.b 0x80000000 0x9f020000 0x7c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f7f0000 +0x10000
cp.b 0x80000000 0x9f7f0000 0x10000

七、其它说明

1、想刷回原厂固件没成功

我试着重新刷了厂固件的uboot和firmware,但是启动不成功,原因没找到;但刷OpenWRT则正常,不知道是不是因为uboot不太配套的原因,不明白就不弄了!

2、数据线的问题!

原因参考这个帖子(大意是USB的D+/D-两个接口在一般电源一端被短接了)。
http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=78085

特征是,用任何纯粹的USB电源,包括移动电源插上数据线给703不能成功启动;但接PL2303或任何电脑USB端口则工作正常。

帖子里说解决方法有3条,应该是指选3个方案中的任何一个都可以。从方便携带的角度及便于改造而言,我选择了自己重新做根线。

任意一个好的数据线,中间剥开,把绿白线剪断,保持红黑两线正常连接即可正常使用了。

Continue Reading

把我的9308给ROOT了:)

昨天刚弄了个9308,这回终于是3G了!

不过这对我来说意味着要开始一段新的历程:Android,以前从来没自己用过(播放器上的不算)。

首先是找了一下看哪个论坛更好,在DRL上找人问了下是机锋(后来我感觉这个论坛啥都要G币,感觉不太好)。过去,大体上找到了几个相关的帖子:

手机root、系统备份、EFS备份、刷机、最新最牛rom、还原最….
http://bbs.gfan.com/forum.php?mod=viewthread&tid=5472925&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1662%26typeid%3D1662

说明:这个比较全,前面的我还不太懂,后面关于ROOT的描述与我实际操作的基本相符,推荐学习。

i9308 LH3 Root 成功,加入Google服务,步骤如下
http://bbs.gfan.com/forum.php?mod=viewthread&tid=4943344&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1662%26typeid%3D1662

说明:这是一个比较复杂的过程,原理应该是正确的,但是我基本没有按这个进行操作,只是进行由此帖推断9308是可以ROOT,哈哈。

9308升级LI3后root 成功!!!
http://bbs.gfan.com/forum.php?mod=viewthread&tid=5326170&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1662%26typeid%3D1662

说明:和上面一个一样,这也验证了9308是可以被ROOT的。不过我从这里下载了用于ROOT的两个文件:Odin3 v3.06.rar和CF-Root-SGS3-v6.4.zip(解压后使用其中的.tar文件)。

基本的操作方法其实相当简单:

1、下载上面的两个文件,估计3.06和3.07版的ODin都是可以的,但是很多地方都说CF-Root-SGS3-v6.3及以下的是不行的。

2、9308关机,启动ODin(此时应该看不到任何连接的设备),按住音量下、HOME、关机键,等1-3秒钟看到画面提示后按下音量上(继续,continue),进入刷机模式。这就是所谓的进入挖矿模式……

3、插上数据线,此时ODin中应该看到有一个设备连接并显示端口号。注意:很多地方说这里应该是什么黄色的,可是我看到的是蓝色的,实际也是OK的。

4、勾上刷PDA前的勾,选择CF-Root-SGS3-v6.4.tar(注意是tar文件,不是zip),其它什么BootLoader,Phone,CSC都不勾选,但是AutoBoot(自动重启)、F.ResetTime(同步时间)默认是勾上的这个可以保持不动,点开始刷机。30秒不到,自动重启:)

至此,ROOT已经OK!

接下来就是安装Google Play的东西:(

1、把要安装的文件复制进SD卡;

2、进入工程模式;关机,按下音量上、HOME、关机键等3-5秒钟(比进入刷机模式要慢一点点);

3、音量键选择菜单项,HOME键确认,依次安装CWM-SuperSU-v0.95.zip和GMS_Samsung_LH1_3.zip两个文件。操作过程中我每次安装都重启了:)是不是可以不重启安装两个我不确定。

其它需要说明的内容:

1、不确定是否与开发者模式有关(因为上述操作都是进入系统前,进入的刷机或工程模式),但我确实在做上述操作前将开发者模式打开了;

2、ROOT后安装Google Play的东西不一定要安装在真正的卡上,也可以安装在9308自带的internal sdcard上。

Continue Reading