EdgeRouter-X莫名自杀,开膛破肚才抢救回来

EdgeRouter-X 的Reset孔比较神奇,别人家(尤其是OpenWRT)的Reset都是一键还魂,而ER-X这个仅仅是把Configure替换成出厂设置。除非你只用GUI,否则其他文件出错的话大铁棍子医院找捅主任是救不回来ER-X的。

由于ER-X又没有Serial Consol接口,就只能开膛破肚找主板上的TTL接口刷机了。

按着官方论坛上EdgeRouter-X (erx) 系列TTL连接救砖/刷固件(EdgeOS/OpenWRT/LEDE)/教程一步步搞下来算是成功把ER-X给救回来了。

那篇帖子是macOS环境下的,跟Windows还是有一点区别,我在他的基础上把Windows救砖的一些细节补上。

准备工作

首先要下载几个东西,分别是:

openwrt 引导固件:openwrt-ramips-mt7621-ubnt-erx-initramfs-kernel.zip

  openwrt-ramips-mt7621-ubnt-erx-initramfs-kernel.zip (2.8 MB, 1 次)

EdgeRouter-X 固件:https://www.ubnt.com.cn/download/edgemax/edgerouter-x

然后需要配置TFTP和HTTP(由于openwrt 引导固件没法用SFTP或者TFTP),我用的是tftpdHFS

把openwrt 引导固件解压部署在TFTP上、EdgeRouter-X 固件解压放在HTTP上。总之就像下面那样

TFTP:
openwrt-ramips-mt7621-ubnt-erx-initramfs-kernel.bin
HTTP:
compat
squashfs.tmp
squashfs.tmp.md5
version.tmp
vmlinux.tmp
vmlinux.tmp.md5

最后,也是最重要的是得有串口,通常都用各种USB-TTL解决,我一开始试图用DFrobot XBee USB Adapter V2 – Atmega8U2 但是没有任何输出,后来换了一个讨厌的(这东西驱动特别烦必须用旧的3.2.00版本才行)PL2303 就好了,不过这个破玩意也给我埋了个坑(蓝屏了好多次)。软件我用的是Putty不过应该任何一个串口工具都行。

捎带手还得设置一下IP:

IP地址:192.168.1.111
子网掩码:255.255.255.0
路由:192.168.1.1

拆机连线

拆机很简单,电源口那侧左右各有一个小螺钉,拧开推一下就开了。

按图接线,RX和TX我也不大确定,重启上电应该会有输出,总之没输出的话对调一下就好了。

开刷

网线连电脑和eth0,Putty开串口,波特率57600,断电重启就会看到滚屏。会有一个询问你要干什么的倒数,这时候赶紧按1。

device IP 指的是获取文件的地址,此处则是路由器即 ER-X IP 地址是 192.168.1.1。

server IP 是你想获取文件的地址,此处我们范例是使用的本机,就是刚刚填入的 192.168.1.111。

最后提示你要获取的文件名, 此处填写 openwrt-ramips-mt7621-ubnt-erx-initramfs-kernel.bin

然后会上传加载,具体的可以去看官方论坛的帖子,时间不是很长,需要注意的是默认不显示,可以敲个回车试试。能看到OpenWRT的字符画就算胜利,到这串口的使命就结束了。

网线插到eth1上,还是用Putty,这回开SSH,192.168.1.1:22,用户名root密码留空就进SSH了。为这地方不用串口了是因为我一开始用串口跑这部分的时候,蓝屏,不断蓝屏。反正到这个阶段SSH好用了何必折磨自己。

切到root文件夹,用wget把EdgeRouter-X 固件下载到路由器上:

cd root
wget http://192.168.1.111/compa
wget http://192.168.1.111/squashfs.tmp
wget http://192.168.1.111/squashfs.tmp.md5
wget http://192.168.1.111/version.tmp
wget http://192.168.1.111/vmlinux.tmp
wget http://192.168.1.111/vmlinux.tmp.md5

然后就可以开始安装了

ubidetach -p /dev/mtd5
ubiformat /dev/mtd5
ubiattach -p /dev/mtd5
ubimkvol /dev/ubi0 --vol_id=0 --lebs=1925 --name=troot
mount -o sync -t ubifs ubi0:troot /mnt/

将官方固件解压出来的文件改名,并复制进 mnt

cp version.tmp /mnt/version 
cp squashfs.tmp /mnt/squashfs.img
cp squashfs.tmp.md5 /mnt/squashfs.img.md5

复制 squashfs.tmp 的时间较长

dd if=vmlinux.tmp of=/dev/mtdblock3
dd if=vmlinux.tmp of=/dev/mtdblock4

最后重启

reboot

现在你的ER-X就和新的一样了,网线插到eth0就可以用了

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据