为什么要刷OpenWrt
小米路由器本身安装的系统的功能受限,如果你把路由器装了openwrt后除可以做传统路由的工作外,还可以灵活的安装各种应用,如端口镜像、iptv转播,科学上网软件,v2ray,nfs,迅雷下载等等。只要你装了你就离不开了。
安装方法大致分为以下几部分:
- 下载所需资源。
- 回退现有路由器版本(最近版本不支持破解)。
- 获取root权限。
- 拷贝OpenWrt镜像到路由器中。
- ssh登录进入Linux系统刷机、重启。
- 设置OpenWrt。
这里提供了OpenWrt稳定版本,大小刚好卡在30M以内,超过30M的OpenWrt镜像文件无法刷入,需要重新分区(风险较大,不推荐!),重新分区的方法这里不做介绍。putty的作用就是为了登录到你路由器里面的,和xshell、Mbaxterm一样,你喜欢用哪个都行。WinSCP的作用就是为了把你的OpenWrt镜像文件从你的windows电脑拷贝到路由器里面。图中第一个文件是为了降低小米当前系统的文件,降低到1.0.17版本才能破解。
回退现有路由器版本
需要将小米路由器的内置系统回退到1.0.17版本,进入小米路由器后(有线、无线方式都可以),记住你的PPPoE拨号的用户名和密码,方便后续配置,点击系统升级:
然后点击手动升级
清除用户配置
等待1,2分钟后,重新刷新页面(如果你是无线连接,需要电脑重新连接WIFI,这时候是没有密码的),然后进入路由器(网关地址:192.168.31.1),随便配置一下(很快要被刷掉)查看当前版本为稳定版本1.0.17即可。
紧接着查看当前浏览器的地址栏,记录stok后面的这一串数(蓝色标记部分,拷贝到记事本中,后续待用)
获取root权限
- 获取 SSH
http://192.168.31.1/cgi-bin/luci/;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
用刚刚保存的stok,补全stok=后面的数据,然后复制到浏览器打开,显示{"code":0}就说明成功了。 - 修改默认 SSH 密码为 admin
http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B
补全stok=后面的数据,然后复制到浏览器打开,显示{"code":0}就说明成功了。
拷贝OpenWrt镜像到路由器中
使用WinScp工具进入小米后台,将小于29MB的ubi格式固件传至tmp根目录下。
这里协议选择scp,主机名就是你的路由器的IP,填小米默认的192.168.31.1,端口不变,用户名填写root,密码就是刚刚设置的admin,然后点击登录。
点击更新,然后拷贝镜像文件(ubi后缀的文件)到tmp目录中。
通俗一点就是左边找到镜像文件,然后拖到右边tmp目录中去。
ssh登录进入Linux系统刷机、重启。
准备PUTTY工具,SSH方式登录小米后台,逐一拷贝以下命令:(可以一次拷贝直接邮件粘贴+回车搞定)
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit
继续逐一输入以下命令(这些命令建议一行一行执行)
ubiformat /dev/mtd12 -y -f /tmp/请替换固件包名.ubi
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram commit
reboot
注:若在执行ubiformat命令时,出现 “please, first detach mtd12 (/dev/mtd12) from ubi0”,则将mtd12改成mtd13,后面命令里的0改为1
命令如下:
ubiformat /dev/mtd13 -y -f /tmp/请替换固件包名.ubi
nvram set flag_last_success=1
nvram set flag_boot_rootfs=1
nvram commit
reboot
刷机完成后会断掉连接,这时候路由器的系统就已经是OpenWrt系统了。
设置OpenWrt
首先你的电脑得重新连接到路由器(无线方式),有线的话本身就连着无所谓。那么你会在无线WIFI信号中看到一个叫做OpenWrt的wifi信号,没有密码你直接连接。然后IP地址是多少呢?你可以通过cmd窗口输入ipconfig命令查看网关地址,就是IP地址了。
浏览器输入IP地址,登录到路由器中。
注:用户名为root,密码默认填写password
进入到系统界面后,首先需要设置PPPOE拨号(家庭用户),点击网络、接口。
点击WAN口中的修改按钮。
填写运营商分配给你的宽带账号和密码,保存应用即可上网。
下来是设置一下WIFI方面的功能,因为目前的WIFI是没有密码公开的,谁都可以接入。
点击网络、无线进入到以下页面。从页面上看是有三个通道,有一个AIOT的那个就没效了(就是小米快速发现设备的功能)。
这里可以给每个通道修改一下名字(基本设置里面),否则你不清楚你的手机连接到了哪个上面。我这里radio0是AC模式,频率5G,也就是俗称的WIFI5,radio1是AX模式,频率5G,也就是WIFI6(我手机连接的这个我感觉挺好用),第三个radio2是AX模式,频率2.4G,像小米的智能家居什么的就只能连接到这个上面。
修改wifi密码点击无线安全可以看到修改页码的页面,我这里使用了安全性较高的WPA2-PSK加密方式,保存应用后重新使用密码连接wifi。
最后一般都会改一下DHCP租期,默认是12h,太短了。点击网络、LAN口、修改按钮。
改为1200或者2400。
到此为止,恭喜你,基本的上网功能就配置好了,其余功能还需各位小伙伴自己研究折腾。
写在最后
如果万一刷坏了,只要你没修改分区,都可以使用小米官方救砖工具来恢复系统。具体步骤百度一下,这里不做介绍。
还有一点需要知道,我们目前刷的系统还是可以恢复成原先的小米系统的。只需要用putty以root身份进入到路由器(OpenWrt系统)中,
注:这里的IP已经为OpenWrt的IP地址,密码为刚才的默认密码password
然后执行以下命令:
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1
reboot
等待蓝灯亮起,即可进入小米后台。