Install OpenWrt for Redmi Router AC2100

Get shell 小米路由器后台管理页面是不给我们上传并且刷入新固件的,所以要先拿到 shell,ssh 连上路由器就可以往里面刷入新固件了。 先正常启动路由器,并进入路由器后台管理页面,这时可以在浏览器的地址栏看到自己路由器的内网 IP,和自己的 stok,例如我的开头是: http://10.161.145.162/cgi-bin/luci/;stok=e9974e290dd74c4683328c5a5876308b/... 我的路由器 IP 是10.161.145.162,stok的值为e9974e290dd74c4683328c5a5876308b,现在把下面的链接替换成自己的,然后 Enter,浏览器返回0说明这一步可以了。 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: 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 连接路由器了: ssh root@「这里替换IP」 # passwd 12345678 不出意外,这边是可以连接到路由器的 shell 的,然后可以看到字符画显示的are you ok。 上传并刷入固件 前面拿到了 shell,现在可以上传固件了,首先下载openwrt-RM2100-kernel1.bin和openwrt-RM2100-rootfs0.bin,然后 cd 进入这两个文件所在的目录,用 SCP 传到路由器上。 # 把openwrt的固件通过SCP上传到路由器的/tmp目录下 scp openwrt-RM2100-kernel1.bin root@「这里替换IP」:/tmp scp openwrt-RM2100-rootfs0.bin root@「这里替换IP」:/tmp 然后 ssh 连接上路由器,开始刷入固件: # 进入/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:...

October 10, 2021 · 1 min · Slightwind