起因是我想给路由器(小米路由器 4C)下的电脑分配 ipv6 ,刷完 openwrt 后才发现寝室的 ipv6 好像有问题,能分配地址(2001 开头的 v6 地址)却上不了网,悲。
本文用到的资源附在文章末尾,侵删。
首先给路由器刷入 breed(不死),类似于安卓的 Recovery。
电脑网线连接路由器的 LAN 口,可以正常访问小米路由管理界面(192.168.31.1
)。 打开刷机工具包(R3GV2 patches),运行 0.start_main.bat
,用以开启路由器的 telnet 与 ftp 。
我在运行时出现错误提示找不到路由器,发现是因为原文件获取了错误的路由器 ip,于是手动进行修改:用编辑 main.py,在第 15 行之后添加以下内容:
router_ip_address = "192.168.31.1"
然后再次运行批处理,这次运行成功。
打开 MovaXterm,左上角 Session 新建一个 Telnet 会话,其中 Remote Host 填 192.168.31.1
,username 填 root
。
如果连接失败,多试几次就可以连上了。
在终端中分别输入命令
dd if=/dev/mtd0 of=/tmp/all.bin
dd if=/dev/mtd2 of=/tmp/bootloader.bin
dd if=/dev/mtd3 of=/tmp/eeprom.bin
分别将 all.bin
bootloader.bin
eeprom.bin
备份在/tmp 下。
于系统资源管理器访问 ftp://192.168.31.1
,进入/tmp
路径,依次复制 刚刚三个文件到自己的电脑中(一块儿复制可能会出问题)。 其中 eeprom.bin
在后续步骤中会用到,all.bin
是刷机失败后刷回原固件的必要文件(大小应该超过 10Mb),本文不再赘述。 注意:eeprom.bin
的大小应在 64kb(65532bytes)左右,如果大小不正确要重新进行备份!
我自己备份的 eeprom.bin 只有 28bytes 大小,无奈在网上找了别人的文件下载下来用。
我从 https://download.csdn.net/download/liyixun/85350362 下载了一份 eeprom.bin,文件链接附在文章末尾。(由于我的 CSDN 没有积分,开通 VIP 的价格又高得离谱,最终在淘宝花了五毛钱下载。)
接下来把 breed.bin
通过 ftp 上传到 /tmp
。
回到 MobaXterm 在终端输入mtd write /tmp/breed.bin Bootloader
以刷入 breed。
完成后先给路由器断电,然后在按住复位键的同时打开电源,若蓝灯橙灯同时闪烁,则成功进入 breed 模式。
访问 192.168.1.1
进入路由器 breed 界面。
此处网关的 ip 可能不一样,以自己的网关 ip 为准,可能是 192.168.0.1
。
在 固件更新
中选择刚备份的 eeprom.bin 文件上传后,再选择 immortalwrt 固件上传(选中自动重启)。
之后后路由器会闪烁橙灯并进行固件更新,当橙灯不在闪烁则更新完成。
注意刷入后默认的网关就不是 192.168.1.1 了。
参考文章如下,感谢以下文章的作者https://www.right.com.cn/forum/thread-4126914-1-1.html?ivk_sa=1024320u
如果刷机失败变砖,可参考 https://www.jianshu.com/p/9b259323ef91
本文使用资源:蓝奏云
密码:6t7j
本文章“记录小米路由器4C(R4CM)刷入openwrt(immortalwrt)”所有内容的原创版权,未经特别声明,均归博主本人所有。
遵循 CC BY-NC-SA 4.0版权协议,转载请附上原文出处链接及本声明,谢谢配合。
本文链接:https://www.k4ze.top/index.php/archives/117/