准备工作
- 小米 BE10000 万兆路由器
- 固件版本为 1.0.53
- Windows 电脑
- 64G U盘 ext4 格式(官方要求是 32G 以上,但 32G 的U盘实际存储空间都小于 32G)
第一步 · 刷入稳定版固件
1.首先,登陆小米路由器的后台。依次点击常用设置-系统状态,检查路由器的系统版本是否为1.0.53版。
2.若路由器当前版本为低级版本,请先点击手动升级,并将路由器 💾 稳定版固件 上传至设备,进行手动升级操作。
3.若路由器当前版本为更高级的版本,系统将提示无法降级,你可以使用官方的小米路由器修复工具完成降级。
如果你现在路由器的固件版本在 1.0.53 以下直接升级就行, 版本更高就需要先完成降级。
因为小米封锁了这个解锁 SSH 的漏洞,并且小米现在不允许直接上传固件降级,需要用官方的小米路由器修复工具完成降级。
第二步 · 制作解锁 U 盘
由于小米路由器的系统基于 Linux 底层系统开发,所以磁盘读取格式为EXT4 ,Windows 操作系统无法直接格式化磁盘为该格式,推荐使用 💾DiskGenius工具进行格式化。
打开后,选择到插上的U盘,再点击格式化选择到 ext4 格式化就好了,注意格式化U盘内容都会丢失。
第三步 · 获取 SSH 权限
- 将格式化的空白 U 盘插入路由器中;
- 登录小米路由器管理后台,依次点击储存功能-DOCKER-安装Docker;
- 安装完成后开启Docker并安装第三方管理;
- 点击管理Docker-输入默认用户名:admin,密码:admin。
在Docker管理界面中依次点击存储管理-存储详情(如果没有可以自行创建一个),找到挂载点,复制 usb 后面这段字符。
🔔比如我这里就是37d694f0将该字符复制并记录,下一步需要使用。
点击镜像管理,点击右侧的拉取按钮,在镜像中输入nginx:alpine-slim并点击OK拉取镜像。
- 点击右侧操作下的绿色按钮启动▶️nginx:alpine-slim镜像,选择简单模式;
容器名称可随意填写,以方便区分功能;
3.端口映射和环境变量留空;
4.目录挂载中填写下列代码,将字符替换成上一步获取的字符。例如上一步我获取的字符为37d694f0。/mnt/usb-******/mi_docker/../../..:/real_root
- 点击运行。
运行成功后,进入容器管理,找到刚刚创建好的容器,点击终端命令。
在弹出的新窗口中输入以下代码,并按↩︎执行:
chroot /real_root
sed -i '/flg_ssh=`nvram get ssh_en`/{:loop; N; /\n.*channel=`\/sbin\/uci get \/usr\/share\/xiaoqiang\/xiaoqiang_version.version.CHANNEL`\n.*return 0\n.*fi/!b loop; d}' /etc/init.d/dropbear
/etc/init.d/dropbear start
第四步 · SSH 进入小米路由器控制界面
Windows 用户可以使用命令提示符;MacOS 用户可以使用终端执行下面的命令连接至小米路由器。
用户名:root🚦密码:通过密钥计算器进行计算获取。
密码计算:https://miwifi.dev/ssh
登录成功出现ARE U OK即为成功
此时,路由器默认重启后会关闭 SSH 通道,我们需要复制执行下面的命令到终端并按↩️执行:
mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall
第五步 · 执行固化操作
固化操作需要分三次进行,并且每次完成后,路由器均会进行重启:
通过命令提示符/终端连接路由器的 SSH 后,输入以下指令并按↩️执行(执行后路由器会自动重启):
zz=$(dd if=/dev/zero bs=1 count=2 2>/dev/null) ; printf '\xA5\x5A%c%c' $zz $zz | mtd write - crash
reboot
第二次操作提示 等待路由器重启后,重新连接SSH,并执行以下指令(执行后会自动重启):
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
bdata set ssh_en=1
bdata set telnet_en=1
bdata set uart_en=1
bdata set boot_wait=on
bdata commit
reboot
第三次操作提示 等待路由器重启后,重新连接SSH,并执行以下指令(执行后会自动重启):
mtd erase crash
reboot
第六步 · 升级固件版本并开启 SSH
- 完成固化操作后,就可以将小米路由器的固件升级至最新版本并开启Wi-Fi-7了。
- 固件升级完成以后,SSH 无法登录路由器管理系统,你可使用 Termius 进行 TELNET 管理操作。登录用户名为root,密码依旧是密钥计算器计算得出的结果。
TELNET 登录成功后,执行以下操作可重新开启SSH,并将用户名设置为root密码设置为admin。
sed -i '/flg_ssh=`nvram get ssh_en`/{:loop; N; /\n.*channel=`\/sbin\/uci get \/usr\/share\/xiaoqiang\/xiaoqiang_version.version.CHANNEL`\n.*return 0\n.*fi/!b loop; d}' /etc/init.d/dropbear /etc/init.d/dropbear restart echo -e 'admin\nadmin' | passwd root
重新SSH登录小米路由器,并再次进行软固化(执行后会自动重启):
mtd erase crash reboot
第七步 · 刷入不死uboot固件
如果是刷QWRT那么第六步可以跳过
1.使用MobaXterm_Personal_24.0_CHS工具连接SSH
把 mibib.bin和 uboot.bin 上传到路由器
接下来输入命令
mtd write mibib.bin /dev/mtd2
mtd write uboot.bin /dev/mtd18
OpenWrt固件的等待更新~~