不知从什么时候起,大家的网线不再插在机箱的后面板上,路由器这个名字奇怪的家伙出现在了越来越多的大学宿舍和普通家庭之中。随着产品的不断升级迭代,路由器市场产品同质化日趋严重,而智能路由器这一产品类型自推出就吸引了不少热爱折腾的年轻用户。阿寻之前的路由器 24 小时开机服役多年,终于连断电重启大法也无法解决它的掉线问题了。所以,早就想给路由器刷系统的本人,果断入手了小米路由器 mini 。

What & Why

什么是智能路由器?可以简单地认为,智能路由器就是可以安装 App 并以此拓展功能的路由器,正如智能手机之于功能手机,而我派之前曾介绍过的极路由就是一款典型的智能路由器。目前市面上销售的智能路由器,其内置系统基本都是由基于 Linux 的 OpenWrt 修改而来,将大部分高级功能隐藏后更加本土化或者说傻瓜化,并自建了基于自己品牌生态圈的应用商店。打个比方,这就好像是国产手机厂商的 Android 手机,基本都预装的是基于原生 Android 修改而来的自有系统 ,并预装了自己的应用商店来代替 Play 商店。

为什么要刷机?当你想更改发射功率却发现只能选择高中低三档时,当你想实现个小小功能却发现应用商店里空空如也时,当你想建立多个热点以供客人使用却发现没这个选项时,你会觉得这个智能路由器一点也不智能。对于喜欢折腾并控制欲强的一些用户来说,要让自己的智能路由器更加智能,自然需要将系统更换为原汁原味的 OpenWrt 。

说在前面

  1. 如果你没有给小米路由器 mini 刷机的强需求,那么请仔细考虑是否要跟着本文瞎折腾;
  2. 如果你使用小米路由器 mini 作为智能家居的中枢,那么刷机后将无法使用官方的 App 来控制智能家居;
  3. 刷机前首先需要获取 SSH 权限,而获取 SSH 权限后,小米路由器 mini 将丧失保修资格。

准备篇

来看一下基本流程,我们首先需要获取路由器的 SSH 权限,然后使用 SSH 连接路由器并刷入 OpenWrt 固件,之后再进行相关配置。所以,让我们先开始准备工作吧,这部分完成之后,其实你已经成功了一大半啦。在下面的操作之前,请确定你的路由器已经初始化并配置好了。

获取 SSH 密码

  1. 安装小米路由器的手机 App,绑定小米账号与路由器;
  2. 登陆小米官网获取 SSH 密码;
  3. 下载属于自己的 miwifi_ssh.bin 。

注意,小米官网提供了开启 SSH 的教程,但本人在上图的教程部分却标注了「不可尽信」四个大字,这是为什么呢?因为阿寻按照官网的教程一步一步操作之后,小米路由器 mini 就亮起了红灯,这明显是错误或失败的意思。经过一番查找,树叶的 BLOG 解开了这个谜题,那就是,小米官网的开启 SSH 教程是错误的,因为小米的新固件更换了密钥,直接按照官网教程刷 miwifi_ssh.bin 会出错,故需刷入旧版固件后再开启 SSH 。

刷入旧版固件

在这里呢,为了解决直接刷入 miwifi_ssh.bin 报错的问题,我们需要先刷入旧版本的开发版固件。固件下载地址见本文末尾。

  1. 将 miwifi_r1cm_firmware_ae8e6_0.8.39.bin 改名为miwifi.bin ,并将其拷贝入 U 盘根目录;
  2. 将 U 盘插入路由器 USB 接口,拔掉路由器电源线;
  3. 用尖锐物抵住路由器 reset 孔不松,同时接通路由器电源,直到路由器前置 LED 变为闪烁黄灯方可松手;
  4. 等待一会,待路由器前置 LED 变为蓝色常亮即成功。

开启 SSH

好了,接下来我们就可以按照官网的教程来开启 SSH 了。以下步骤的 2、3、4 步与上面完全相同,但开启 SSH 这一步所花费的时间要比上一步刷入旧版固件要快得多。

  1. 将 miwifi_ssh.bin 拷贝入 U 盘根目录,同时删除 miwifi.bin ;
  2. 将 U 盘插入路由器 USB 接口,拔掉路由器电源线;
  3. 用尖锐物抵住路由器 reset 孔不松,同时接通路由器电源,直到路由器前置 LED 变为闪烁黄灯方可松手;
  4. 等待一会,待路由器前置 LED 变为蓝色常亮即成功。

准备 SSH 和 SCP 工具

对于 Mac 用户来说,这一步可以省略了,因为 OS X 作为 Unix-like 系统,已经集成了这两个常用的工具。对于 Windows 用户来说,则需要额外下载两个绿色软件,即 SSH 终端 PuTTY 和 SCP 工具 WinSCP 。

刷机篇

经过上面的准备,终于要步入正题啦。对于小米路由器 mini ,其对应的 OpenWrt 固件为 PandoraBox ,截至本文写作时的最新稳定版为 20150309 版。但是呢,阿寻并不推荐大家使用这个版本,因为经本人实测,PandoraBox 的 20150309 版本在 DCHP 而非 PPPoE 环境下的 WAN 接口有问题,且从低版本升级后无法进入路由器管理界面。简而言之, 本人刷 20150309 这个版本后路由器挂了,原因没有深究。

经过一番试验,老高@PHPer 推荐的 20150114 版本很不错,刷机后即可使用,固件下载地址见本文末尾。顺便一提,该 20150114 版本已无法在 PandoraBox 官网找到,不知为何。为了使命令行简短,建议将下载回来的固件 PandoraBox-ralink-xiaomi-mini-r355-20150114.bin 重命名,比如我们将其更名为 PandoraBox.bin 。

Windows 用户请看:

  1. 使用 WinSCP 登陆路由器后台,IP 为 192.168.31.1 ,用户名 root ,密码为从小米官网获得的 SSH 密码;
  2. 将 PandoraBox 固件拖入路由器的 /tmp 目录下;
  3. 使用 PuTTY 登陆路由器后台,IP 为 192.168.31.1 ,用户名 root ,密码为从小米官网获得的 SSH 密码;
  4. 执行命令 mtd -r write /tmp/PandoraBox.bin firmware ,可以直接从这里复制命令,然后在 PuTTY 命令行内点击鼠标右键粘贴,如果刷 PandoraBox 前已经升级了最新版小米固件,则刷机命令应该是 mtd -r write /tmp/PandoraBox.bin OS1 ;
  5. 等待一会,待路由器前置 LED 变为蓝色常亮即成功,此时 WiFi 接入点已从 XiaomiXXXX 变为 PandoraBoxXXXXXX 。

Mac 用户请看:

以下示例假设路由器固件放置在根目录下,请各位根据自己的实际情况做出修改,比如 /Users/<用户名>/Downloads/PandoraBox.bin 。

  1. 打开终端,输入 scp -r /PandoraBox.bin root@192.168.31.1:/tmp,再输入从小米官网获得的 SSH 密码,这样 Pandorabox 固件就被上传至路由器了;
  2. 在终端中输入 ssh root@192.168.31.1,再输入从小米官网获得的 SSH 密码,即可 SSH 连接至路由器;
  3. 执行命令 mtd -r write /tmp/PandoraBox.bin firmware 来刷机,如果刷 PandoraBox 前已经升级了最新版小米固件,则刷机命令应该是 mtd -r write /tmp/PandoraBox.bin OS1 ;
  4. 等待一会,待路由器前置 LED 变为蓝色常亮即成功,此时 WiFi 接入点已从 XiaomiXXXX 变为 PandoraBoxXXXXXX 。

配置篇

在刷机完成之后,就连接全新出现的 PandoraBoxXXXXXX 接入点吧,使用浏览器登陆 192.168.1.1 ,用户名 root ,密码为 admin 。注意,此时默认的路由器地址已经从 192.168.31.1 变更为 192.168.1.1 了,不要输错。

UI 界面

位于「系统-系统属性-语言与界面」下,说实话默认的主题 LuciXEyE 有点丑丑的,所以将「主题」更改为更简洁明快的的 Bootstrap 吧。

管理员密码

位于「系统-管理」下,找到「主机密码」,修改后保存。

WAN 外网

位于「网络-接口」下,找到「WAN」,点击「修改」。

  • 若你使用的凭账号密码的宽带连接,则选择 PPPoE ;
  • 若你使用的是直接上网的宽带连接,则选择 DHCP 客户端,如果仍无法上网,则切换至「高级设置」,选中「使用广播标签」。

LAN 内网

位于「网络-接口」下,找到「LAN」,点击「修改」,在此我们可以设置 DHCP 服务器的最大客户数。

接入点

位于「网络-无线」下,找到需要设置的接入点,点击「修改」,在此我们可以调节无线电功率、更改接入点的 SSID 、 修改加密方式及密码。

  • 在「设备配置-基本配置」可以修改无线电功率;
  • 在「接口配置-基本配置」可以修改 ESSID ;
  • 在「接口配置-无线安全」可以修改加密方式及密码,推荐使用 WPA2-PSK 。

插件

刷机折腾了这么久,不就是希望可以使用更多的 App 插件嘛。进入 PandoraBox 管理页面后,已经安装的插件位于「服务」下,而控制插件是否随路由器自启则位于「系统-启动项」下。刷了 PandoraBox 的小米路由器 mini 支持基于 ramips 芯片的 OpenWrt 插件,后缀名为 *.ipk ,至于插件的软件源,还请大家善用搜索引擎去探索发现吧。

  • 下载插件可以 SSH 连接路由器后执行 wget 命令;
  • 而安装插件则是执行 opkg install 命令。 

说在最后

值得再次强调的是,获取 SSH 权限之后小米路由器 mini 就丧失了保修资格,而刷机安装 OpenWrt 的 PandoraBox 系统后,小米路由器的 App 及智能家居 App 都将失去作用。最后一个问题是,玩得心累了想恢复原版固件怎么办?其实很简单,按照上文的「刷入旧版固件」这一小节的内容做就可以啦。如果已经阅读完本文的你喜爱折腾并且成竹在胸了,那么,就请点击这里下载刷机固件吧。

 ​