TTL修复刷机失败的TP-LINK WR720N

  前阵子在刷回tp-link官方固件时候下错版本,导致路由器无法启动,表现为插电后LED一强一弱循环闪,复位键也无效,于是采用TTL接线来修复。
  拆开TP-LINK WR70N(吐槽:TP-LINK做工极差,外壳采用一次性封装,完全不顾及可修复性),找到后背的TP_IN和TP_OUT触点,接上USB-TTL版的RXD,TXD接线。本来还需要GND,但我这里路由器的供电和TTL小板接到了同一个USB集线器,故无须使用GND。

RXD : TP_IN
TXD : TP_OUT

  电脑上使用SecureCRT打开对应的串口(PuTTY乱码),波特率:115200,取消RTS/CTS流控。连接正确后可以看到路由器U-Boot的日志:

Autobooting in 1 seconds
## Booting image at 9f020000 …
Uncompressing Kernel Image … Too big uncompressed streamLZMA ERROR 1 – must RESET

  可以看到是在解压内核镜像的时候出问题了,too big,并且不断的重启。这个固件是官方TL-WR720N V3_120913标准版,比120620确实大了一些,不知为何会成这样。看来TP-LINK也犯傻了。作罢,还是刷回自己编译的OpenWrt。电脑上开启Tftpd32,设置本地连接地址为:192.168.1.10

在U-Boot界面快速按tpl三个键可以进入一个命令行模式,显示为hornet>,输入以下命令:

设置tftp服务器地址
hornet> setenv serverip 192.168.1.10

通过tftp下载固件
hornet> tftpboot 0x80000000 1.bin
eth1 link down
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.111
Filename ‘1.bin’.
Load address: 0x80000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################################################
done
Bytes transferred = 3932160 (3c0000 hex)

擦除内存
hornet> erase 0x9f020000 +0x3c0000
First 0x2 last 0x3d sector size 0x10000
61
Erased 60 sectors

拷贝固件到内存位置
hornet> cp.b 0x80000000 0x9f020000 0x3c0000
Copy to Flash… write addr: 9f020000
done

引导系统
hornet> bootm 0x9f020000
## Booting image at f020000b …

重启路由器应该就OK了。

2013-03-07 23.20.40

—————————————————————–

附修复后的完整引导日志
继续阅读TTL修复刷机失败的TP-LINK WR720N

TL-WR720N 挂载USB移动硬盘

  手头的TP-LINK TL-WR720是去年国庆回家的时候购入的,当时拿了个联通3G无线上网卡,又没电脑,只好买了这个来共享网络给iPad用。回来深圳后几乎用不到3G的功能了,于是琢磨着将这USB口改为能连接USB存储设备,以便出门在没有电脑的时候也可以将相机SD卡中的照片备份到移动硬盘中。网上找了些资料发现TL-WR720N是可以支持OpenWrt系统的,但官方的OpenWrt只支持到TL-WR703,修改修改就能用于这个了。试过很多网友编译的都不太理想,要么不支持NTFS,要么缺少语言NLS CODE,最后决定自己编译一个。编译比较耗时,我这台电脑i3的处理器,编译一次需要半个小时。编译好的bin直接在后台升级,有线/无线都可以。万一刷成砖了,可以进安全模式用mtd直接写flash。

  主要是加入以下的package(下面只列举一部分):

kmod-fs-ntfs
kmod-fs-vfat
kmod-nls-cp437
kmod-nls-iso8859-1
kmod-nls-utf8
kmod-scsi-core
kmod-usb-core
kmod-usb-ohci
kmod-usb-storage
kmod-usb-storage-extras
kmod-usb-uhci
kmod-usb2
ntfs-3g

  为了节省空间,luci只装了base theme,没中文语言。这样剩余空间在100kb左右,加入vsftp server,映射好端口,用于传输文件。经过这几个星期的日常使用来看,很稳定。USB设备自动识别挂载,即插即用。测试过设备有:

USB 3.0 ADATA 8G FAT32 U盘
USB 2.0 LENOVO 4G FAT32 U盘
USB 3.0 HitachiG ST 500G NTFS 移动硬盘
USB 2.0 EAGET V8 500G NTFS 移动硬盘
USB 2.0 SD/MMC Reader + SANDISK Extreme 8G

  通过USB HUB,同连接了四个设备(两个U盘,两个500G移动硬盘),2A电流输出可不是吹的。识别如下:

[29647.680000] scsi 0:0:0:0: Direct-Access ADATA USB Flash Drive 1.00 PQ: 0 ANSI: 6
[29647.690000] sd 0:0:0:0: [sda] 15433728 512-byte logical blocks: (7.90 GB/7.35 GiB)

[31415.050000] scsi 2:0:0:0: Direct-Access HitachiG ST 0000 PQ: 0 ANSI: 6
[31415.070000] sd 2:0:0:0: [sdc] 976773116 512-byte logical blocks: (500 GB/465 GiB)

[35139.320000] scsi 3:0:0:0: Direct-Access EAGET V8 PQ: 0 ANSI: 0
[35139.330000] sd 3:0:0:0: [sdb] 976773167 512-byte logical blocks: (500 GB/465 GiB)

[35730.020000] scsi 4:0:0:0: Direct-Access 8.07 PQ: 0 ANSI: 2
[35730.030000] sd 4:0:0:0: [sdd] 8212480 512-byte logical blocks: (4.20 GB/3.91 GiB)

  都能很好的支持,通过shell cp文件互相拷贝正常。复制一个638m的iso耗时6分钟,2m/s不到,速度是比较慢了,总比没有好。若是换成8M的flash,还可以用BT客户端离线下载,总之功能无比强大,缩小版的Raspberry Pi,果然是居家旅行必备神器啊。
20130114000341IMG_0177

下载地址: https://pan.baidu.com/s/1N4_DIULTxBrm7fqfTta6DA 提取码: 4bze(2020-04-29已更新链接,由于硬件本身太弱,不建议再折腾了)