红米AX6000路由器刷OpenWrt全流程教程

准备工作

解锁 SSH

1 升级到指定版本固件(可跳过)

红米AX6000路由器刷OpenWrt全流程教程

这款路由器的固件一直没有升级,当前的固件可以直接跳过这一步,主要有人反馈 1.2.8 有丢失 5G 的情况。在小米路由器后台,将路由器手动升级到 1.2.8 版本

2 获取路由器 stock

红米AX6000路由器刷OpenWrt全流程教程

登陆小米路由器后台后,浏览器地址栏 stok= 后面的一段内容即是(选中部分),准备好备用。

3 开启调试模式

打开浏览器,复制下面的内容到地址栏,并替换 {STOK}

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
红米AX6000路由器刷OpenWrt全流程教程

我的替换后如上。将替换好的值复制到浏览器请求,如果显示 {“code”:0} 如上返回内容则表示成功。

4 通过浏览器请求重启

同样打开浏览器,复制下面的内容到地址栏,并替换 {STOK}

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
红米AX6000路由器刷OpenWrt全流程教程

通过浏览器执行完这一步路由器会重启,等待重启完成。

5 设置 Bdata 永久开启 telnet

重启完成后打开路由器后台(注意:路由器重启你需要重新登陆获取下新的 stok ),然后同样打开浏览器,复制下面的内容到地址栏,并替换 {STOK} 。

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20
红米AX6000路由器刷OpenWrt全流程教程

然后再次执行第 4 小步的「通过浏览器请求重启」,等待重启完成。

6 telnet 连接开启 ssh

打开 Termius,可以选择不登录 Continue Without Account。

红米AX6000路由器刷OpenWrt全流程教程

点击 New Host 添加

红米AX6000路由器刷OpenWrt全流程教程

Address 填写:192.168.31.1

SSH:取消勾选

Telnet:勾选

然后点击向右的箭头,最后选择 Hosts 里的「192.168.31.1」开始 telnet 连接。(不用输入用户和密码)

红米AX6000路由器刷OpenWrt全流程教程

7 永久开启并固化 ssh

echo -e 'admin\nadmin' | passwd root
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
mkdir /data/auto_ssh
cd /data/auto_ssh
curl -O https://fastly.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
uci set system.@system[0].timezone='CST-8'
uci set system.@system[0].webtimezone='CST-8'
uci set system.@system[0].timezoneindex='2.84'
uci commit
mtd erase crash
reboot
红米AX6000路由器刷OpenWrt全流程教程

复制上面的命令到 termius 终端里执行,这会设置 ssh 密码为 admin、并永久开启 SSH、并从开发模式修改回正常的模式,并重启。重启完成后就能连上 ssh 了。

8 尝试 ssh 连接路由器

红米AX6000路由器刷OpenWrt全流程教程

选择 Hosts-点击 New Host 添加

Address 填写:192.168.31.1

SSH 的用户名里填写:root

Password 是:admin

点击右上角箭头,再点击 Hosts 里的 192.168.31.1 就应该能连接上 SSH 了。(注意选择 ssh 不是 telnet)

红米AX6000路由器刷OpenWrt全流程教程

选择 ADD AND CONTINUE,就会进入 ssh 连接。

红米AX6000路由器刷OpenWrt全流程教程

至此,红米AX6000解锁SSH完成。

刷写固件开始

第一步:刷入过渡固件

cat /proc/cmdline

这一步需要路由器是正常联网的,首先 ssh 连接上红米 ax6000 ,执行上面的命令,查看返回的 firmware 等于 0 还是 1。 (我截图这里是 1 )

红米AX6000路由器刷OpenWrt全流程教程

如果是 0 执行

nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
cd /tmp
curl -L http://sebs.oss-cn-shanghai.aliyuncs.com/initramfs-factory.ubi -o initramfs-factory.ubi
ubiformat /dev/mtd9 -y -f /tmp/initramfs-factory.ubi
reboot -f

如果是 1 执行

nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=0
nvram set flag_last_success=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
cd /tmp
curl -L http://sebs.oss-cn-shanghai.aliyuncs.com/initramfs-factory.ubi -o initramfs-factory.ubi
ubiformat /dev/mtd8 -y -f /tmp/initramfs-factory.ubi
reboot -f
红米AX6000路由器刷OpenWrt全流程教程

复制执行完就会重启进入过渡固件,过渡固件的

  • 管理ip:192.168.5.1
  • 用户名和密码:root/password(密码有可能是空)
  • 无线wifi名称:OpenWrt
  • 无线wifi密码:password

第二步:从过渡固件刷入 openwrt

在刷写前需要设置下 ENV ,浏览器打开过渡固件后台 192.168.5.1,登录用户名 root,密码 password。然后打开服务里的终端,同样登录用户名 root,密码 password(输入密码不会显示输完回车即可)。

fw_setenv boot_wait on
fw_setenv uart_en 1
fw_setenv flag_boot_rootfs 0
fw_setenv flag_last_success 1
fw_setenv flag_boot_success 1
fw_setenv flag_try_sys1_failed 8
fw_setenv flag_try_sys2_failed 8
红米AX6000路由器刷OpenWrt全流程教程

然后复制上面的命令到终端执行,从过渡固件刷入 openwrt 这步是必须做的。

红米AX6000路由器刷OpenWrt全流程教程

然后打开系统-备份与升级,选择刷写固件。浏览里找到下载好的 openwrt 固件,选择上传。上传好后选择取消勾选保留当前配置然后选择继续。等待刷写完成自动重启,就会进入新的 openwrt 固件。

红米AX6000路由器刷OpenWrt全流程教程

新的 openwrt 固件后台地址是 192.168.6.1 用户名和密码依然是 root 和 password,默认的网口 1 是 wan 口,剩下的都是 lan 口。

刷回官方固件

如果不想使用 openwrt 固件了或者一不小心刷错了无法开机,都可以是使用官方的修复工具刷回原厂,当然前提是你没修改过路由器的分区。目前 openwrt 官方的固件会合并最后两个分区为大分区,个人不建议新手这么做,因为要是挂了刷回官方固件就需要拆机比较麻烦,ptpt52 也在 GitHub 发了使用官方分区 PR 等等看吧。

红米AX6000路由器刷OpenWrt全流程教程

首先下载好官方修复工具官方固件,使用小米路由器修复工具需要提前退出 Windows 自带的杀毒,我更推荐大家去下载安装个火绒这样更安全方便。

路由器进入恢复模式,路由器先用针按住后面的 reset 恢复按钮,再插上电源,持续顶住大约 8s,等到黄色指示灯变为黄色闪烁,就可以松开 reset 按钮,然后用网线连接 Windows 电脑,路由器这边连接 lan 口就可以,红米 ax6000 没有标 lan wan ,接 234 都可以。

打开解压好的小米路由器修复工具,要是有防火墙提示选择允许即可,然后选择本地上传下载好的官方固件 ;然后网卡选择:请选择与路由器相连的以太网网卡; 现在再点下一步就会自动开始刷机,看到发送完成就说明刷机完成了。然后我们等待路由黄灯变为蓝灯闪烁。我们就可以拔下电源再重新插上路由器,这样就完成了,路由器就回到了官方的固件。

重置、升级、刷机后如何恢复 SSH

无论你是升级了系统、还是恢复了出厂、还是刷了别的版本的系统或 openwrt 再刷回来,telnet 其实都是打开的,因为已经写在了 bdata 分区。不过 telnet 密码会恢复成默认的,我们需要通过路由器后台右下角的 SN 号来计算。这里有一个网站直接在线计算(安全的离线计算):

telnet 连上以后,执行:

sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart

就开启了 ssh,ssh 默认密码就是上面计算出来的一样。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索