第一步:开启telnet和uboot控制台
此款路由器内置的原厂固件为基于mtk-sdk Linux 5.4内核的OpenWrt,uboot和OpenWrt的控制台终端均不可操作,但可以使用TTL进入OpenWrt的failsafe模式,从而开启telnet和uboot控制台。具体操作方法如下:
拆机,此机器卡扣较紧,拆机后找到下图红框内的UART串口。线序由上到下为RXD,TXD,GND,波特率115200
打开串口助手,上电,等待机器启动后,不断按下 f和回车键 ,直到出现下面的提示后,即可进入failsafe模式
[ 10.205973] wed_get_slot_map(): assign slot_id:0 for entry: 0!
[ 10.211812] wed_get_slot_map(): assign slot_id:1 for entry: 1!
[ 10.218061] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 10.235722] init: - preinit -
[ 10.539480] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[ 10.547859] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
在failsafe模式依次执行以下操作
# 开启uboot控制台菜单
fw_setenv bootmenu_delay 3
# 挂载rootfs并开启telnet
mount_root
sed -i 's/.*local debug=.*/\tlocal debug=1/' /etc/init.d/telnet
# 修改root密码
passwd root
通过网络备份原厂固件(可选)
# 将电脑的IP地址设置为192.168.1.8,插入路由器LAN口
# 使用nc监听3333端口并写入all.bin
# Windows系统可以使用netcat
# nc -l -p 3333 > all.bin
# 在路由器failsafe模式下开启网络
ifconfig eth0 0.0.0.0
brctl addbr br-lan
ifconfig br-lan 192.168.1.1 netmask 255.255.255.0 up
brctl addif br-lan eth0
# 读取/dev/mtd0,使用nc发送到192.168.1.8:3333
cat /dev/mtd0 | nc 192.168.1.8 3333
接下来将刷入修改版uboot。修改版uboot的优点有:
固件分区可达108MB,原厂uboot只能使用36M
自带一个简单的webui恢复页面
mt7981_360t7-fip-fixed-parts.bin
将mt7981_360t7-fip-fixed-parts.bin通过HFS等方式上传到路由器,使用以下命令刷入uboot
刷UBoot命令:
cd /tmp
wget http://down.lkkj.net/360t7-fip-fixed-parts.bin
mtd write 360t7-fip-fixed-parts.bin fip
确认刷入完毕后,拔掉路由器电源。然后将电脑的IP地址设置为固定的192.168.1.2,接着按住路由器的RESET按钮后通电开机,等待8s后用浏览器进入192.168.1.1
在uboot恢复页面选择要刷入的固件。immortalwrt-mt798x目前编译两个版本的360T7固件。建议修改版uboot直接使用immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-factory.bin,两种固件区别如下:
mt7981-360-t7-108M为108M固件分区,原厂uboot不可启动,需要修改版uboot才能启动
360-215.zip
mt7981-360-t7为原厂36M固件分区,原厂uboot可以启动
等待机器重启即可