前几天修的,根据回忆记录一下,不然再过段时间就忘了。
变砖原因
刷 OpenWrt 后再刷回官方固件,官方固件带 Uboot,所以就变砖了。
工具
硬件:USB-TTL线、双绞线(568B)、电烙铁、焊锡、万用表。
电烙铁、焊锡和万用表不是必需的。
软件:PuTTY、TFTP Server、USB-TTL线的驱动、路由器固件
拆机
上图是打开后盖的样子,两个红圈有两个螺丝。拧掉螺丝后两侧还有几个卡扣,还是比较难拆的,需要细心用力。
拆掉后壳就可以看到电路板了。
TTL连接
TX和RX反接,GND接GND,VCC不用接。
为防接触不良,最好焊起来。但是连接处选择粗细合适的导体,如果能插紧就不用焊接了。可以考虑订书钉、缝衣针、大头针或者双绞线里面的铜线等等。
我的TTL线,白色是RX,绿色是TX,黑色是GND。RX接TX,TX接RX,GND接GND。
在电脑上装好驱动和PuTTY,PuTTY的参数设置如下图:
不一定是COM3,要在设备管理器里看具体是什么。
给路由器上电,窗口会连续滚屏,按下键盘 t p l 这三个键进入 Uboot Shell。
TFTP连接
用双绞线把路由器和电脑连起来,电脑的以太网卡IP地址设置为192.168.1.10/24,安装 TFTP Server,开启 TFTP 服务。
PuTTY 里面的命令:
<pre><code>
hornet> setenv serverip 192.168.1.10
hornet> printenv
ootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART)
bootcmd=bootm 0x9f020000
bootdelay=1
baudrate=115200
ethaddr=****************
ipaddr=192.168.1.111
stdin=serial
stdout=serial
stderr=serial
serverip=192.168.1.10
ethact=eth1
<p>
</p>
Environment size: 361/65532 bytes
</code></pre>
然后在电脑端把路由器固件放到TFTP根目录下。
刷固件
PuTTY里面的命令:
<pre><code>
hornet> tftpboot 0x80000000 1.bin
Using eth1 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.111
Filename 'openwrt-ar71xx-generic-tl-mr11u-v2-squashfs-factory.bin'
Load address: 0x80000000
Loading: ####...###
done
Bytes transferred = 3932160 (3c0000 hex)
hornet> erase 0x9f020000 +0x3c0000
<p>
</p>
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
</code></pre>
注意,猫猫在TL-MR10U 修砖过程// TTL, OpenWrt里提到:
上面命令中的 0x3c0000 来自于 tftpboot 命令执行后的输出的 Byte transferred, 如果不是这个大小, 那么命令中对应改一下.
实际上,大小改到超过这个数值会报错,而折腾mr11u v2版openwrt 小记带还刷回原厂固件中用到的命令并没改这个数值。
<blockquote><pre><code>
Bytes transferred = 4063744 (3e0200 hex)
hornet> erase 0x9f020000 +0x3c0000
</code></pre></blockquote>
至此刷机完成,路由器应该可以正常启动了。
请关注“宝贝回家”公益计划。请关注农村留守儿童。