本文主要记录个人对小米 WR30U 路由器的解锁和刷机过程,整体步骤与 一般安装流程 类似,但是由于 WR30U 的解锁 ssh和刷机的过程中有一些细节需要注意,因此记录一下

解锁 ssh环境准备

需要一台同时具有 WiFi 和有线网络的电脑,以及一根网线

然后需要配置 python环境,并且安装 pycryptodome依赖


【资料图】

conda create -n wr30uconda activate wr30uconda install pycryptodome

然后是解锁脚本,可以直接从 PatriciaLee3 的仓库中下载

解锁过程

PatriciaLee3 的仓库中已经给出了详细的解锁过程,这里只是简单记录一下

电脑连接原厂固件的路由器,进入 192.168.31.1 的管理后台,在常用设置-上网设置里分别设置:

上网设置 DHCP,自动配置 DNS启动与智能网关无线配置同步(会重启)固定 WAN 口为 1(会重启)

电脑连接有正常网络的 WiFi,然后将网线连接到路由器的 WAN 口

打开 控制面板 - 网络和 Internet - 网络和共享中心 - 更改适配器设置 - 选择 WLAN - 右键属性 - 共享,勾选第一个并确认,这个时候 WR30U 会通过有线连接共享电脑的网络,并且网络指示灯会变成蓝色

打开 控制面板 - 系统和安全 - Windows Defender 防火墙 - 启动或关闭 Windows Defender 防火墙,关闭 Windows Defender 防火墙

运行解锁脚本,并按照脚本提示操作

conda activate wr30upython server_emulator.py

解锁完成后,路由器的账号密码为 rootadmin,之后记得重新开启防火墙,并且关闭共享网络

刷入 mt798x uboot简介

这里首先推荐刷入 hanwckf 的 mt798x uboot,这个 uboot 有很多功能,其中以下两点非常实用:

【使用方便】自带 MTK 原厂开发的简易 WebUI 恢复界面,可以通过 WebUI 直接刷入固件或者更新 uboot【兼容性好】支持多种 Flash 分区布局切换功能(仅支持 spi-nand),可以在 WebUI 中切换不同的分区布局,完美兼容小米原厂固件刷入流程

电脑接入正常网络,然后去 hanwckf 的仓库 release 页面下载对应的 uboot 文件:mt7981_wr30u-fip-fixed-parts-multi-layout.bin

电脑接入路由器网络,通过 scp将 uboot 传到路由器上

scp mt7981_wr30u-fip-fixed-parts-multi-layout.bin root@192.168.31.1:/tmp

通过 ssh登录路由器,查看布局

# on PCssh root@192.168.31.1# on Router# 查看当前分区布局cat /proc/mtd

默认布局如下:

dev:    size   erasesize  namemtd0: 08000000 00020000 "spi0.0"mtd1: 00100000 00020000 "BL2"mtd2: 00040000 00020000 "Nvram"mtd3: 00040000 00020000 "Bdata"mtd4: 00200000 00020000 "Factory"mtd5: 00200000 00020000 "FIP"mtd6: 00040000 00020000 "crash"mtd7: 00040000 00020000 "crash_log"mtd8: 02200000 00020000 "ubi"mtd9: 02200000 00020000 "ubi1"mtd10: 02000000 00020000 "overlay"mtd11: 00c00000 00020000 "data"mtd12: 00040000 00020000 "KF"

如果需要备份,可以通过 nanddump命令备份,之后通过 scp将备份的文件传到电脑上

# on Routernanddump -f /tmp/BL2.bin /dev/mtd1nanddump -f /tmp/Nvram.bin /dev/mtd2nanddump -f /tmp/Bdata.bin /dev/mtd3nanddump -f /tmp/Factory.bin /dev/mtd4nanddump -f /tmp/FIP.bin /dev/mtd5nanddump -f /tmp/ubi.bin /dev/mtd8nanddump -f /tmp/KF.bin /dev/mtd12# on PCscp root@192.168.31.1:/tmp/*.bin .

然后将 uboot 刷入 FIP 分区,之后关机

# on Routermtd write /tmp/mt7981_wr30u-fip-fixed-parts-multi-layout.bin FIPpoweroff
刷入 ImmortalWrt简介

ImmortalWrt 是 OpenWrt 的一个分支,相比于 OpenWrt 有更多的软件包以及设备支持,并且对中国大陆用户有特殊优化

刷入流程

电脑连接正常网络,去官网下载 Sysupgrade 固件

这里选择了 custom U-Boot layout 的固件,也就是 112M UBI layout 的固件,这样可以有更多的空间用于安装软件包,固件名格式为 immortalwrt-xxxxxx-mediatek-filogic-xiaomi_mi-router-wr30u-112m-nmbm-squashfs-sysupgrade.bin

针按住 reset 不放,再接上电源,等待 10s 左右松开,路由器的系统灯变蓝后就是成功进入 uboot 了

因 uboot 不支持 DHCP 功能,需要把电脑的 IP 地址设置成固定 IP:

电脑通过网线连接路由器,然后在网络设置里将以太网设置为静态,IP地址:192.168.31.100,子网掩码:255.255.255.0,网关:192.168.31.1,首选 DNS:192.168.31.1,最后保存

直接访问 WebUI 进行刷固件,将 layout 选为 immortalwrt-112m,然后上传前面下载的固件,点击刷机即可

刷为原厂固件

刷回原厂固件的过程与刷入 ImmortalWrt 类似,只是需要下载原厂固件,然后在 WebUI 中将 layout 配置为 default,之后上传原厂固件刷机即可

参考资料【个人博客】酱紫表 - 小米 WR30U 解锁 SSH 刷 openwrt,最有性价比的百元路由器【GitHub】wr30u_ssh【个人博客】hanwckf - mt798x uboot 功能介绍【ImmortalWrt】固件下载

本文作者:ywang_wnlo本文链接:https://ywang-wnlo.github.io/posts/e6410576.html版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

推荐内容