小米路由器青春版刷Padavan固件

一、前言

对于非夏天晚上断电的宿舍来说,小米路由器青春版无疑是非常实用的。体积小,丢在角落没烦恼;价格便宜,学生党买得起;配备Miscro USB,充电宝也能供电,不惧断电。呃呃呃,没收广告费。小米路由器青春版搭载的是基于OpenWRT深度定制的智能路由器操作系统MiWiFi ROM,说到底,就是linux啦,就是嵌入式的体现吧。

二、进入路由器内部

这里说的内部不是硬件的内部,我们学软件的,就在能不拆开硬件解决问题就不拆。既然是类似于linux的系统,那应该有命令行才像呀,那我们就找找。小米的产品还是挺开放的,路由也是有开放平台的。MiWifi开放平台

在开放平台中,我们很容易就能找到”开启SSH工具”,玩过服务器的都知道,用SSH的方式,我们可以通过命令行的方式与系统进行连接,路由器系统也不例外。出于安全考虑,路由器系统都会把SSH关了,自然我们就不容易进到路由器的系统中。在寻找官方的开启SSH工具的过程中我们会发现,我们的小米路由器青春版其实是没有官方的开启工具的。

这个时候在查阅网友的帖子发现,在旧版的开发版系统中,是可以直接通过修改路由管理器的请求地址的特定参数键值对,而改变系统参数。

下面引用修改的方法:

  1. 登录路由管理界面
    地址栏输入192.168.31.1,输入账号密码后,地址栏会多了一串参数,类似于

    http://192.168.31.1/cgi-bin/luci/;stok=075a9192918557c27cdbcae2175281d9/web/home#router

  2. 更改管理员密码和系统的root密码
    将以上的地址URL中/web/home#router改成/api/xqsystem/set_name_password?oldPwd=当前路由的密码&newPwd=新的路由密码
    然后查看网页的返回结果,如果返回的JSON字符串是{"code":0},那就任务完成,如果返回是说参数错误的,那十有八九是系统是新版,小米官方修补了这个漏洞。
    解决办法就是刷回旧版系统,鉴于找资源麻烦,这里做了收集,以下是官方的小米路由器青春版的2.1.22的开发版ROM。 链接,密码:yred(刷机方法由官方的路由管理界面,上传本ROM包,自动升级即可)

  3. 启用路由的telnet登录方式
    同第二步中的修改网址URL,把/web/home#router改为/api/xqnetwork/set_wifi_ap?ssid=xiaomi&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd,然后查看返回的JSON数据{"msg":"未能连接到指定WiFi(Probe timeout)","code":1616},返回码有可能不同,但是这里已经可以通过telnet的方式来登录路由器了

  4. 用putty的telnet方式登录
    下载一个Putty ,密码:gqxa。然后打开选填以下参数,连接类型:telnet;主机名称:192.168.31.1.打开后看到login,输入root,密码则为以上第二步中修改的新密码。然后依次执行下面的三条指令:
    4.1 sed -i ":x;N;s/if \[.*\; then\n.*return 0\n.*fi/#tb/;b x" /etc/init.d/dropbear
    4.2 /etc/init.d/dropbear start
    4.3 nvram set ssh_en=1; nvram commit

三、进阶

  1. 备份原厂bin(可选)
    1.1 打开WINSCP文件协议SCP 主机名192.168.31.1 端口号22用户名root密码admin(此处由上面设置了什么新密码决定) 。有错误提示就点击更新或者确定
    1.2 打开putty 主机名称192.168.31.1 端口号22 连接类型ssh,有错误提示就点击更新或者确定
    输入命令 cat /proc/mtd

    可以看到上面有十个固件和分区,看名字可以知道第一个mtd0固件包含已全部分区的数据(All),第二个是Bootloader,刷过机的都会对这个有映像。
    dd if=/dev/mtd0 of=/tmp/all.bin,这是表示备份第一个固件到tmp文件夹的all.bin文件中,另外类似的命令有:dd if=/dev/mtd1 of=/tmp/bootloader.bin等。(需要注意的是,路由器的空间很小,尽可能备份之后,通过winscp下载并删了路由中的文件,以防空间不足)

  2. 刷入breed
    通过WinScp把breed.bin(地址:http://pan.baidu.com/s/1nuY9aPj,密码:x1qa)传入到/tmp中。然后通过Putty,输入命令mtd -r write /tmp/breed.bin Bootloader写入Breed,刷入成功后会提示重启,putty和WinScp都会断开,关闭了即可。

  3. 进入breed控制台
    把电源拔了,使路由关机,用牙签或者其他尖锐物戳着reset键,然后插上插头,待路由器后方的灯(非正前方的灯)闪烁时松开reset键即可,然后用一条网线把电脑和路由器的WAN口相连接,打开浏览器访问192.168.1.1,即可进入breed控制台了。

  4. 刷机(可选)
    刷机只是尝试不同的系统,和不同的功能。在本次尝鲜中,刷入了PandoraBox(潘多拉魔盒)系统,链接:http://pan.baidu.com/s/1cKs4W2 密码:dygy。刷入完成后最简单的测试方法就是在地址栏输入192.168.1.1测试路由是否开启成功,成功的话,会进入PandoraBox的管理界面中。

四、基本使用

  1. 设置管理界面样式
    系统->系统->语言和界面->主题,我是选择了Bootstrap样式,这样好看多了

  2. 设置PPoE上网方式
    网络->接口->WAN->修改->协议,选择PPPoE后,点击切换协议,然后在PAP/CHAP用户名中输入PPoE的账号,在密码中输入上网的密码,然后直接点击保存&应用,就会生效

  3. 添加广告屏蔽插件
    系统->软件包->刷新列表->可用软件包->选择L->安装“luci-app-adbyby”。

安装完之后刷新界面,会在服务->广告屏蔽中发现广告屏蔽的状态

五、ROM推荐

小米路由器青春版可刷的固件还是有的,在后面的尝鲜中,我发现了一个更好的固件,那就是http://www.right.com.cn/forum/thread-161324-1-1.html。

说实话,这个固件更新还是比较勤的。是从Padavan固件源码:https://bitbucket.org/padavan/rt-n56u/src搬运源码汉化后编译出来的,开源的,所以处理Bug和增添新功能还是可以接受的。下面展示管理界面,大家自行体会。

你可能感兴趣的:(玩机)