標題:
【OpenWRT】——How to unbrick TL-LINK TL-WR1043ND?
[打印本頁]
作者:
角色
時間:
2012-11-11 00:20
標題:
【OpenWRT】——How to unbrick TL-LINK TL-WR1043ND?
本帖最後由 角色 於 2013-2-13 17:47 編輯
为什么外面外面有那么多人人喜欢用TP-LINK TL-WA1043NDmod(改)机呢?如果有几个,1) Giga LAN ports 2) 有USB,3) flash有8M,4) RAM有32M。先这样的功能像当年
Linksys NSLU2
。因为1043ND有这样的功能,特别是USB,很多比较大的软件都可以安装在USB flash里。
由于以前1043ND的mod机方法都是以它早期version number而设定,TP-LINK从某些批次的Version 1.8中,在bootloader里把WAN port disabled,所以一刷OpenWRT后(没有刷新bootloader),WAN port就不能用。所以要重新刷新firmware,但是在过程中,分分钟就做错,把好好的1043ND router变成砖头(bricked),简单来说
V1.0 - 1.7 bootloader 没有disabled WAN Port
V1.8 部分bootloader跟V1.0 - 1.7一样。
V1.8 部分bootloader disabled WAN Port
V1.9 bootloader disabled WAN Port
因为TP-LINK的TL-WA1043ND的router V1.9,不能直接刷机,纷纷中brick了你的router,那么你要怎样办呢?
在做什么之前,要看看OpenWRT对TP-LINK TL-WR1043ND的最新信息
Link
.
下面就会表述你怎样unbrick你的1043ND router。
[attach]1909[/attach]
TP-LINK WR1043ND Bootloader problem staring from version 1.8
https://forum.openwrt.org/viewtopic.php?id=38033
https://forum.openwrt.org/viewtopic.php?id=22742
还有其他参考救机资料:
http://www.hkepc.com/forum/viewthread.php?tid=1870594
怎样打开1043ND:
http://aspiregemstone.blogspot.h ... r1043nd-part-1.html
作者:
角色
時間:
2012-11-11 00:21
本帖最後由 角色 於 2012-11-11 17:37 編輯
搞了两天才把firmware弄个明白。
对于TP-LINK TL-WR1043ND来书,官方软件有两种releases
1. Bootloader + Linux kernel: 8,258,048 bytes = 0x7E0200 bytes
2. Linux kernel: 8,126,464 bytes = 0x7C0000 bytes
下面4个firmwares是给TL-WR1043ND用的firmwares,最下面的三个是从官网下载的。最前的一个是从坊间下载的firmware。
[attach]1916[/attach]
打开第四和第三个properties,查看他们的file size
[attach]1917[/attach]
[attach]1918[/attach]
那么
wr1043nv1_en_3_13_12_up_boot(120405).bin 是带bootloader + Linux kernel update (WAN disabled in bootloader)
wr1043nv1_en_3_13_10_up(120210).bin 是只带 Linux kernel update
wr1043nv1_en_3_13_4_up(110429).bin 是只带 Linux kernel update
wr1043nv1_de_3_9_17_up_boot(100331).bin 是带bootloader + Linux kernel update (WAN enabled in bootloader)
The last file wr1043nv1_de_3_9_17_up_boot(100331).bin could be obtainable in
Link
部分Ver 1.8 和 所有1.9的router,都是以第一个firmware为准,那就是WAN port disabled in bootloader。
而从OpenWRT网站下载的firmware (Linux kernel),是假设WAN Enabled in bootloader, 如果disabled了,那么刷完OpenWRT后,WAN的灯不亮,而WAN Port没有功能。
所以现在购买的TL-WR1043ND的router,先要把WAN enabled加入bootloader里,那么我们就要用wr1043nv1_de_3_9_17_up_boot(100331).bin,然后再刷OpenWRT的firmware。
作者:
角色
時間:
2012-11-11 00:21
本帖最後由 角色 於 2012-11-11 19:11 編輯
以下的说话,假设你的bootloader没有弄坏,不然就要用JTAG了。在没有详细说过程,先说一下一些名称的定义,以简化以后的讨论。
[attach]1920[/attach]
从上面的图看的非常清楚,如果我们要用OpenWRT,就要先flash Germany的TL-WR1043NR的bootloader + Linux kernel image,把先把WAN disabled in bootloader转成WAN enabled in bootloader。
由于信息不够好,或者表达方式不到位,我们就从没有enabled WAN (in bootloader)的firmware,刷OpenWRT (Linux kernel)到router里面,当然启动OpenWRT后,WAN不能工作。
TP-LINK TL-WR1043ND firmware GUI:
可以刷 Bootloader + Linux kernel 或者只是Linux kernel。
OpenWRT firmware GUI:
只可以刷 Linux kernel。
由于自己经验不过,在OpenWRT的GUI下,竟然flash both Bootloader + Linux kernel,导致router bricked。其实在选完文件后,在OpenWRT里说filesize太大,是否继续进行,那个是胆粗粗就proceed,导致router bricked。
从上面图,如果将来我们想把OpenWRT转会TP Link的Firmware,我们只能找一个只update Linux的官方image就可以。上完官方的Linux image后,就可以刷Bootloader + Linux kernel,或者只是Linux kernel也可以。
坊间(
Link
)有提及过,到某个网站(
Link
),去提取德文的TP-Link firmware,然后用
dd if=orig.bin of=tplink.bin skip=257 bs=512
複製代碼
orig.bin是德文的firmware,本身带有bootloader + Linux kernel。经过上面的指令,tplink.bin = Linux kernel。
如果我们在OpenWRT的GUi里,我们可以不要tplink.bin,而用官方的firmware (Linux kernel only)的版本也可以。 就如#2所描述两个文件也可以用:
wr1043nv1_en_3_13_10_up(120210).bin 是只带 Linux kernel update
wr1043nv1_en_3_13_4_up(110429).bin 是只带 Linux kernel update
作者:
角色
時間:
2012-11-11 00:21
本帖最後由 角色 於 2012-11-11 19:14 編輯
RS-232把3.3V的login,转5V,我们可以用下面的IC来完成: (当然你可以买USB-to-RS232 (3.3V)的converter.
[attach]1921[/attach]
怎样接,大家可以参考这条
link
。 接线的位置
Link
。
当我们把线接到板子,然后用Hyperterminal,链接RS-232,通过转接板,连线router的RS-232 port,HyperTerminal会出现:
U-Boot 1.1.4 (Nov 17 2009 - 11:56:26)
AP83 (ar9100) U-boot 0.0.11
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash: 8 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ag7100_enet_initialize...
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Autobooting in 1 seconds
複製代碼
我们要在一秒内打入
tpl
複製代碼
如果不行进入下面的画面,要重启电源,再等下次机会。
ar7100>
ar7100>
ar7100>
複製代碼
然后我们查看router的environment variables,用printenv command
ar7100> printenv
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar9100-nor0:128k(u-boot),1024k(kernel),4096k(rootfs),64k(art)
bootcmd=bootm 0xbf020000
bootdelay=1
baudrate=115200
ethaddr=00:1D:0F:11:22:33
ipaddr=192.168.0.2
serverip=192.168.0.5
stdin=serial
stdout=serial
stderr=serial
ethact=eth0
複製代碼
上面都是default的settings,我们要安装本身的网络境况做出修改。我的tftp server用NAS做,ip是192.168.1.6, 而router回应ip我该为192.168.1.100。大家要注意,就算你set了IP,你ping到那个IP是没有反应的。我们把Linux kernel (code.bin) 放到tftp sever的root directory,
我们用下面只能刷新的新的Linux kernel
erase 0xbf020000 +7c0000
tftpboot 0x81000000 code.bin
cp.b 0x81000000 0xbf020000 0x7c0000
bootm 0xbf020000
複製代碼
启动完后,找出router IP,然后进入router IP的TP-LINK的GUI,那么再刷新German的TP-LINk firmware,然后再刷OpenWRT (code.bin)就可以。
作者:
角色
時間:
2012-11-11 00:22
本帖最後由 角色 於 2012-11-11 19:16 編輯
怎样找出Router IP?
一般都是先等系统什么反应都没,然后关闭电源,再启动电源。
进入Windows的command prompt,再输入ipconfig/all,然后抓出固网的gateway IP。
作者:
角色
時間:
2012-11-11 11:29
本帖最後由 角色 於 2012-11-11 19:44 編輯
怎样打开TP-LINK TL-WR1043ND?
1. 把靠近天线的两个胶脚撬开,把螺丝钉松开。
2. 然后用一个一字批,慢慢把上下白的盖撬开
3. 但是上下白盖被5处扣紧。其中两个是上下白盖互相扣紧(图一),另外上开和前面黑色的panel有三处扣紧(如图二)。
图一
[attach]1922[/attach]
图二
[attach]1923[/attach]
作者:
角色
時間:
2012-11-11 16:52
终于把这个brick和unbrick问题,还有TP-LIN官方网站解读,弄过明白。
作者:
Skypeus
時間:
2012-11-15 16:51
WR 1043ND 里跑的 open WRT 能否 装个简单httpd服务进去当作http小型服务器呢?
作者:
mrandrewchan
時間:
2013-3-3 18:45
之前由 TP 改 dd-wrt , 再改 gargoyle, 但由gargoyle 改 openwrt 就死左, serial & LAN port 都沒反應沒燈, 係咪己死左 ? ...
作者:
mrandrewchan
時間:
2013-3-3 18:49
本帖最後由 mrandrewchan 於 2013-3-3 18:53 編輯
回復
8#
Skypeus
可以
Ref. Site :
http://www.joeho.org/wordpress/?p=300
作者:
tomlee0101
時間:
2013-3-3 21:19
Very helpful sharing..
歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/)
Powered by Discuz! 7.2