Install OpenWrt for Redmi Router AC2100

本文最后更新于:2021年12月9日 凌晨

Get shell

小米路由器后台管理页面是不给我们上传并且刷入新固件的,所以要先拿到shell,ssh连上路由器就可以往里面刷入新固件了。

先正常启动路由器,并进入路由器后台管理页面,这时可以在浏览器的地址栏看到自己路由器的内网IP,和自己的stok,例如我的开头是:

1
http://10.161.145.162/cgi-bin/luci/;stok=e9974e290dd74c4683328c5a5876308b/...

我的路由器IP是10.161.145.162,stok的值为e9974e290dd74c4683328c5a5876308b,现在把下面的链接替换成自己的,然后Enter,浏览器返回0说明这一步可以了。

1
http://「这里替换IP」/cgi-bin/luci/;stok=「stok的值」/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B

然后下面这个链接也是一样的操作,同样应该返回0:

1
http://「这里替换IP」/cgi-bin/luci/;stok=「stok的值」/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'12345678%5Cn12345678'%20%7C%20passwd%20root%3B

如果这两个链接都成功返回了0,那么就可以使用习惯的工具去ssh连接路由器了:

1
2
ssh root@「这里替换IP」
# passwd 12345678

不出意外,这边是可以连接到路由器的shell的,然后可以看到字符画显示的are you ok

上传并刷入固件

前面拿到了shell,现在可以上传固件了,首先下载openwrt-RM2100-kernel1.binopenwrt-RM2100-rootfs0.bin,然后cd进入这两个文件所在的目录,用SCP传到路由器上。

1
2
3
# 把openwrt的固件通过SCP上传到路由器的/tmp目录下
scp openwrt-RM2100-kernel1.bin root@「这里替换IP」:/tmp
scp openwrt-RM2100-rootfs0.bin root@「这里替换IP」:/tmp

然后ssh连接上路由器,开始刷入固件:

1
2
3
4
5
6
7
8
9
# 进入/tmp目录下
cd /tmp

mtd write openwrt-RM2100-kernel1.bin kernel1
nvram set uart_en=1
nvram set bootdelay=5
nvram set flag_try_sys1_failed=1
nvram commit
mtd -r write openwrt-RM2100-rootfs0.bin rootfs0

等待写入完成,就可以重启路由器了,这个时候路由器的Wi-Fi名称变成了OpenWrt,并且没有密码,可以直接连接,然后用ssh连接新的IP:

1
2
3
# 用新的IP来ssh连上去,刷完OpenWrt之后,内网IP也会改变
ssh root@192.168.1.1
# 连上之后可以看到:root@OpenWrt:~#

到这里,固件就刷入成功了。路由器管理地址为:192.168.1.1 用户名:root 密码:password

如果现在的固件可以满足使用要求,那么就不需要接着操作了,但是我需要使用路由器上运行一个脚本来自动使用账号密码连接校园网,每当网络断开时再重新去连接,而当前的固件不支持curl命令,个人感觉UI也不够美观,所以我使用它来写入新的固件,这个固件支持curl,也更加美观。

刷入新固件

由于最新编译ROM较大无法直接通过telnet刷入,所以刷完上面ROM后需要在路由器管理后台更新最新OP固件。

先下载一下03.10-openwrt-ramips-mt7621-redmi-ac2100-squashfs-sysupgrade.bin固件。

然后登陆192.168.1.1后台后点击「系统」-「备份/升级」-「刷写新固件(不保留配置)」-「上传op固件包」

选择刚刚下载的bin文件进行安装,安装完成后,重启路由器,然后连接上路由器后台就可以了,这里同样要注意,刷入新固件后路由器的IP会改变,最好进电脑的Wi-Fi详情里面看一下,我的是变成了192.168.2.1,ssh和web后台密码都是password。

现在就可以在路由器的后台进行一些自己需要的配置操作了。

救砖:如果折腾的过程中出现了什么问题,可以使用官方的救砖工具MIWIFI Repair Tool,并刷入官方固件miwifi_rm2100_firmware_d6234_2.0.7.bin


Mentioned files - -
openwrt-RM2100-kernel1.bin 本地下载 腾讯微云
openwrt-RM2100-rootfs0.bin 本地下载 腾讯微云
03.10-openwrt-ramips-mt7621-redmi-ac2100-squashfs-sysupgrade.bin 本地下载 腾讯微云
MIWIFI Repair Tool 本地下载 腾讯微云
miwifi_rm2100_firmware_d6234_2.0.7.bin 本地下载 腾讯微云

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!