需求
写于 2020-03-23 21:57:52 的《家用 WiFi 方案》已经是 4 年前的方案了,现在流行 Mesh 方案。正好手头上有两台 2023-11-24 产的 CMCC RAX3000M NAND 版,那就把它们刷成官方版 OpenWRT 再来和红米 AX6S 一起 Mesh 吧!
参考
警告
- 目前(2024-04-08),OpenWRT 官方还不支持 NMBM,所以刷机有一定风险!万一 NAND 有坏块,有可能无法启动。
1 | root@RAX3000M:/tmp# dmesg | grep nmbm |
- 这是 1124 版、NAND 版,非 eMMC 版,其它版本不保证可行。
软件工具
-
大部分系统都自带的 ssh 命令,可选 scp 命令或 winscp。大部分镜像文件都可以直接在路由器里用 wget 下载,如果您已经在电脑上下载好,也可以用 scp 命令或 winscp 上传到路由器。
-
Linux 系统,或 Windows 上的 WSL。
-
tftpd 或其它同类 TFTP 服务端。
具体步骤
1. 开启路由器 ssh 服务端
原理:导出配置,修改配置使能 dropbear,导入配置。
原版固件里导出的配置是一个加密的 tar 包,要编辑它,需要先解包,在 Linux 或 WSL 操作:
1 | openssl aes-256-cbc -d -pbkdf2 -k $CmDc#RaX30O0M@\!$ -in cfg_export_config_file.conf -out - | tar -zxvf - |
解开后,做两件事:编辑 etc/config/dropbear 允许 dropbear 和编辑 etc/shadow 修改 root 密码。
dropbear 里删除以下行,或把 0 改为 1:
1 | option enable '0' |
shadow 里的第一行格式为:
1 | root:$1$<salt>$<password>:<unconcerned> |
即,只关心第一和第二 : 之间的 <salt> 和 <password>,如果您能破解出 <password> 的明文,那可以不用改了;否则就用 <salt> 生成一个新密码,去替换 <password>。
1 | openssl passwd -1 -salt <salt> OpenWRT |
以上命令产生明文为 OpenWRT 的密码,拿它替换 shadow 里的原始密码。然后把修改后的文件再打包回去:
1 | tar -zcvf - etc | openssl aes-256-cbc -pbkdf2 -k $CmDc#RaX30O0M@\!$ -out cfg_export_config_file_ssh.conf |
拿 cfg_export_config_file_ssh.conf 去恢复配置,重启后,即可用 root 身份 ssh 到路由器。
2. 备份原始分区
这步可以跳过,对一些人来说,备份意义不大,不可能刷非官方 OpenWRT 的。请自行斟酌。
1 | root@RAX3000M:~# cat /proc/mtd |
3. 刷 uboot
1 | wget https://mirrors.ustc.edu.cn/openwrt/releases/23.05.3/targets/mediatek/filogic/openwrt-23.05.3-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip |
4. 刷 OpenWRT
1 | 4. Set static IP on your PC: |
5. 刷 bl2
1 | root@UMUTech:~# cd /tmp |