返回列表 發帖

【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。




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 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。



打开第四和第三个properties,查看他们的file size





那么
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。
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

本帖最後由 角色 於 2012-11-11 19:11 編輯

以下的说话,假设你的bootloader没有弄坏,不然就要用JTAG了。在没有详细说过程,先说一下一些名称的定义,以简化以后的讨论。



从上面的图看的非常清楚,如果我们要用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,然后用
  1. 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
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

本帖最後由 角色 於 2012-11-11 19:14 編輯

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



怎样接,大家可以参考这条link。 接线的位置Link

当我们把线接到板子,然后用Hyperterminal,链接RS-232,通过转接板,连线router的RS-232 port,HyperTerminal会出现:
  1. U-Boot 1.1.4 (Nov 17 2009 - 11:56:26)

  2. AP83 (ar9100) U-boot 0.0.11
  3. DRAM:  
  4. sri
  5. 32 MB
  6. id read 0x100000ff
  7. flash size 8MB, sector count = 128
  8. Flash:  8 MB
  9. Using default environment

  10. In:    serial
  11. Out:   serial
  12. Err:   serial
  13. Net:   ag7100_enet_initialize...
  14. No valid address in Flash. Using fixed address
  15. : cfg1 0xf cfg2 0x7114
  16. eth0: 00:03:7f:09:0b:ad
  17. eth0 up
  18. eth0
  19. Autobooting in 1 seconds
複製代碼
我们要在一秒内打入
  1. tpl
複製代碼
如果不行进入下面的画面,要重启电源,再等下次机会。
  1. ar7100>

  2. ar7100>

  3. ar7100>
複製代碼
然后我们查看router的environment variables,用printenv command
  1. ar7100> printenv

  2. bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar9100-nor0:128k(u-boot),1024k(kernel),4096k(rootfs),64k(art)
  3. bootcmd=bootm 0xbf020000
  4. bootdelay=1
  5. baudrate=115200
  6. ethaddr=00:1D:0F:11:22:33
  7. ipaddr=192.168.0.2
  8. serverip=192.168.0.5
  9. stdin=serial
  10. stdout=serial
  11. stderr=serial
  12. 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
  1. erase 0xbf020000 +7c0000
  2. tftpboot 0x81000000 code.bin
  3. cp.b 0x81000000 0xbf020000 0x7c0000
  4. bootm 0xbf020000
複製代碼
启动完后,找出router IP,然后进入router IP的TP-LINK的GUI,那么再刷新German的TP-LINk firmware,然后再刷OpenWRT (code.bin)就可以。
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

本帖最後由 角色 於 2012-11-11 19:16 編輯

怎样找出Router IP?

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

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

TOP

本帖最後由 角色 於 2012-11-11 19:44 編輯

怎样打开TP-LINK TL-WR1043ND?

1. 把靠近天线的两个胶脚撬开,把螺丝钉松开。

2. 然后用一个一字批,慢慢把上下白的盖撬开

3. 但是上下白盖被5处扣紧。其中两个是上下白盖互相扣紧(图一),另外上开和前面黑色的panel有三处扣紧(如图二)。

图一


图二
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

终于把这个brick和unbrick问题,还有TP-LIN官方网站解读,弄过明白。

TOP

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

TOP

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

TOP

本帖最後由 mrandrewchan 於 2013-3-3 18:53 編輯

回復 8# Skypeus

可以

Ref. Site :
http://www.joeho.org/wordpress/?p=300
AC

TOP

Very helpful sharing..

TOP

返回列表