小米万兆解锁SSH+固化SSH+刷OpenWrt固件
小飞机
撰写于 2024年 03月 31 日

准备工作

  • 小米 BE10000 万兆路由器
  • 固件版本为 1.0.53
  • Windows 电脑
  • 64G U盘 ext4 格式(官方要求是 32G 以上,但 32G 的U盘实际存储空间都小于 32G)
  • 下载 Termius

    第一步 · 刷入稳定版固件

    1.首先,登陆小米路由器的后台。依次点击常用设置-系统状态,检查路由器的系统版本是否为1.0.53版。
    2.若路由器当前版本为低级版本,请先点击手动升级,并将路由器 💾 稳定版固件 上传至设备,进行手动升级操作。
    3.若路由器当前版本为更高级的版本,系统将提示无法降级,你可以使用官方的小米路由器修复工具完成降级。
    如果你现在路由器的固件版本在 1.0.53 以下直接升级就行, 版本更高就需要先完成降级。
    因为小米封锁了这个解锁 SSH 的漏洞,并且小米现在不允许直接上传固件降级,需要用官方的小米路由器修复工具完成降级。
    1.0.53系统图

    第二步 · 制作解锁 U 盘

    由于小米路由器的系统基于 Linux 底层系统开发,所以磁盘读取格式为EXT4 ,Windows 操作系统无法直接格式化磁盘为该格式,推荐使用 💾DiskGenius工具进行格式化。
    打开后,选择到插上的U盘,再点击格式化选择到 ext4 格式化就好了,注意格式化U盘内容都会丢失。
    预览图1

    第三步 · 获取 SSH 权限

  • 将格式化的空白 U 盘插入路由器中;
  • 登录小米路由器管理后台,依次点击储存功能-DOCKER-安装Docker;
  • 安装完成后开启Docker并安装第三方管理;
  • 点击管理Docker-输入默认用户名:admin,密码:admin。
    预览图2
    预览图3

在Docker管理界面中依次点击存储管理-存储详情(如果没有可以自行创建一个),找到挂载点,复制 usb 后面这段字符。
🔔比如我这里就是37d694f0将该字符复制并记录,下一步需要使用。
预览图4

点击镜像管理,点击右侧的拉取按钮,在镜像中输入nginx:alpine-slim并点击OK拉取镜像。
预览图5

  1. 点击右侧操作下的绿色按钮启动▶️nginx:alpine-slim镜像,选择简单模式;
  2. 容器名称可随意填写,以方便区分功能;
    3.端口映射和环境变量留空;
    4.目录挂载中填写下列代码,将字符替换成上一步获取的字符。例如上一步我获取的字符为37d694f0。

    /mnt/usb-******/mi_docker/../../..:/real_root
  3. 点击运行。
    预览图6
    运行成功后,进入容器管理,找到刚刚创建好的容器,点击终端命令。

预览图7

在弹出的新窗口中输入以下代码,并按↩︎执行:

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

预览图8

第四步 · 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

  1. 完成固化操作后,就可以将小米路由器的固件升级至最新版本并开启Wi-Fi-7了。
  2. 固件升级完成以后,SSH 无法登录路由器管理系统,你可使用 Termius 进行 TELNET 管理操作。登录用户名为root,密码依旧是密钥计算器计算得出的结果。
  3. 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固件的等待更新~~

小米万兆解锁SSH+固化SSH+刷OpenWrt固件

准备工作

  • 小米 BE10000 万兆路由器
  • 固件版本为 1.0.53
  • Windows 电脑
  • 64G U盘 ext4 格式(官方要求是 32G 以上,但 32G 的U盘实际存储空间都小于 32G)
  • 下载 Termius

    第一步 · 刷入稳定版固件

    1.首先,登陆小米路由器的后台。依次点击常用设置-系统状态,检查路由器的系统版本是否为1.0.53版。
    2.若路由器当前版本为低级版本,请先点击手动升级,并将路由器 💾 稳定版固件 上传至设备,进行手动升级操作。
    3.若路由器当前版本为更高级的版本,系统将提示无法降级,你可以使用官方的小米路由器修复工具完成降级。
    如果你现在路由器的固件版本在 1.0.53 以下直接升级就行, 版本更高就需要先完成降级。
    因为小米封锁了这个解锁 SSH 的漏洞,并且小米现在不允许直接上传固件降级,需要用官方的小米路由器修复工具完成降级。
    1.0.53系统图

    第二步 · 制作解锁 U 盘

    由于小米路由器的系统基于 Linux 底层系统开发,所以磁盘读取格式为EXT4 ,Windows 操作系统无法直接格式化磁盘为该格式,推荐使用 💾DiskGenius工具进行格式化。
    打开后,选择到插上的U盘,再点击格式化选择到 ext4 格式化就好了,注意格式化U盘内容都会丢失。
    预览图1

    第三步 · 获取 SSH 权限

  • 将格式化的空白 U 盘插入路由器中;
  • 登录小米路由器管理后台,依次点击储存功能-DOCKER-安装Docker;
  • 安装完成后开启Docker并安装第三方管理;
  • 点击管理Docker-输入默认用户名:admin,密码:admin。
    预览图2
    预览图3

在Docker管理界面中依次点击存储管理-存储详情(如果没有可以自行创建一个),找到挂载点,复制 usb 后面这段字符。
🔔比如我这里就是37d694f0将该字符复制并记录,下一步需要使用。
预览图4

点击镜像管理,点击右侧的拉取按钮,在镜像中输入nginx:alpine-slim并点击OK拉取镜像。
预览图5

  1. 点击右侧操作下的绿色按钮启动▶️nginx:alpine-slim镜像,选择简单模式;
  2. 容器名称可随意填写,以方便区分功能;
    3.端口映射和环境变量留空;
    4.目录挂载中填写下列代码,将字符替换成上一步获取的字符。例如上一步我获取的字符为37d694f0。

    /mnt/usb-******/mi_docker/../../..:/real_root
  3. 点击运行。
    预览图6
    运行成功后,进入容器管理,找到刚刚创建好的容器,点击终端命令。

预览图7

在弹出的新窗口中输入以下代码,并按↩︎执行:

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

预览图8

第四步 · 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

  1. 完成固化操作后,就可以将小米路由器的固件升级至最新版本并开启Wi-Fi-7了。
  2. 固件升级完成以后,SSH 无法登录路由器管理系统,你可使用 Termius 进行 TELNET 管理操作。登录用户名为root,密码依旧是密钥计算器计算得出的结果。
  3. 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固件的等待更新~~

版权属于:小飞机 所有,采用《知识共享署名许可协议》进行许可,转载请注明文章来源。

本文链接: https://xfj0.cn/2024/03/31/18.html

赞 (0)

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论