電訊茶室's Archiver

角色 發表於 2012-11-11 00:20

【OpenWRT】——How to unbrick TL-LINK TL-WR1043ND?

[i=s] 本帖最後由 角色 於 2013-2-13 17:47 編輯 [/i]

为什么外面外面有那么多人人喜欢用TP-LINK TL-WA1043NDmod(改)机呢?如果有几个,1) Giga LAN ports 2) 有USB,3) flash有8M,4) RAM有32M。先这样的功能像当年[url=http://en.wikipedia.org/wiki/NSLU2]Linksys NSLU2[/url]。因为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的最新信息 [url=http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd]Link[/url].

下面就会表述你怎样unbrick你的1043ND router。

[attach]1909[/attach]


TP-LINK WR1043ND Bootloader problem staring from version 1.8

[url]https://forum.openwrt.org/viewtopic.php?id=38033[/url]
[url]https://forum.openwrt.org/viewtopic.php?id=22742[/url]

还有其他参考救机资料: [url]http://www.hkepc.com/forum/viewthread.php?tid=1870594[/url]


怎样打开1043ND:

[url]http://aspiregemstone.blogspot.hk/2011/07/hacking-tp-link-wr1043nd-part-1.html[/url]

角色 發表於 2012-11-11 00:21

[i=s] 本帖最後由 角色 於 2012-11-11 17:37 編輯 [/i]

搞了两天才把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 [url=http://rghost.net/36040799]Link[/url]

部分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

[i=s] 本帖最後由 角色 於 2012-11-11 19:11 編輯 [/i]

以下的说话,假设你的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不能工作。

[u]TP-LINK TL-WR1043ND firmware GUI:[/u]
    [b]可以刷 Bootloader + Linux kernel 或者只是Linux kernel。[/b]

[u]OpenWRT firmware GUI: [/u]
    [b]只可以刷 Linux kernel。[/b]

由于自己经验不过,在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也可以。

坊间([url=https://dev.openwrt.org/ticket/11898]Link[/url])有提及过,到某个网站([url=http://rghost.net/36040799]Link[/url]),去提取德文的TP-Link firmware,然后用[code]dd if=orig.bin of=tplink.bin skip=257 bs=512[/code]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

[i=s] 本帖最後由 角色 於 2012-11-11 19:14 編輯 [/i]

RS-232把3.3V的login,转5V,我们可以用下面的IC来完成: (当然你可以买USB-to-RS232 (3.3V)的converter.

[attach]1921[/attach]

怎样接,大家可以参考这条[url=http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd]link[/url]。 接线的位置[url=http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd#serial]Link[/url]。

当我们把线接到板子,然后用Hyperterminal,链接RS-232,通过转接板,连线router的RS-232 port,HyperTerminal会出现:[code]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[/code]我们要在一秒内打入[code]tpl[/code]如果不行进入下面的画面,要重启电源,再等下次机会。[code]ar7100>

ar7100>

ar7100>
[/code]然后我们查看router的environment variables,用printenv command[code]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[/code]上面都是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[code]erase 0xbf020000 +7c0000
tftpboot 0x81000000 code.bin
cp.b 0x81000000 0xbf020000 0x7c0000
bootm 0xbf020000[/code]启动完后,找出router IP,然后进入router IP的TP-LINK的GUI,那么再刷新German的TP-LINk firmware,然后再刷OpenWRT (code.bin)就可以。

角色 發表於 2012-11-11 00:22

[i=s] 本帖最後由 角色 於 2012-11-11 19:16 編輯 [/i]

怎样找出Router IP?

一般都是先等系统什么反应都没,然后关闭电源,再启动电源。

进入Windows的command prompt,再输入ipconfig/all,然后抓出固网的gateway IP。

角色 發表於 2012-11-11 11:29

[i=s] 本帖最後由 角色 於 2012-11-11 19:44 編輯 [/i]

怎样打开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

[b]WR 1043ND 里跑的 open WRT 能否 装个简单httpd服务进去当作http小型服务器呢?[/b] :call:

mrandrewchan 發表於 2013-3-3 18:45

之前由 TP 改 dd-wrt , 再改 gargoyle,  但由gargoyle 改 openwrt 就死左, serial & LAN port 都沒反應沒燈, 係咪己死左 ? ...:(

mrandrewchan 發表於 2013-3-3 18:49

[i=s] 本帖最後由 mrandrewchan 於 2013-3-3 18:53 編輯 [/i]

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=28269&ptid=4997]8#[/url] [i]Skypeus[/i] [/b]

可以

Ref. Site :
[url]http://www.joeho.org/wordpress/?p=300[/url]

tomlee0101 發表於 2013-3-3 21:19

Very helpful sharing..

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.