我是参考这个教程来的 小米路由器mini刷Breed安装固件教程,开个帖子记录下其中遇到的问题。
问题1 备份防止以后想要刷回官方
- 在刷breed之前备份SN
查看rom
root@XiaoQiang:~# cat /proc/mtd
dev: size erasesize name
mtd0: 01000000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 00c80000 00010000 "OS1"
mtd5: 00b11e68 00010000 "rootfs"
mtd6: 00200000 00010000 "OS2"
mtd7: 00100000 00010000 "overlay"
mtd8: 00010000 00010000 "crash"
mtd9: 00010000 00010000 "reserved"
mtd10: 00010000 00010000 "Bdata"
开始备份
备份后的文件在tmp/rom中,.bin结尾,可以用winscp拷贝出来( tmp 目录是个临时存放处,当系统重启时临时文件就会丢失,及时拷出来)
cd /tmp
mkdir rom
dd if=/dev/mtd0 of=/tmp/rom/ALL.bin
dd if=/dev/mtd1 of=/tmp/rom/Bootloader.bin
dd if=/dev/mtd2 of=/tmp/rom/Config.bin
dd if=/dev/mtd3 of=/tmp/rom/Factory.bin
dd if=/dev/mtd4 of=/tmp/rom/OS1.bin
dd if=/dev/mtd5 of=/tmp/rom/rootfs.bin
dd if=/dev/mtd6 of=/tmp/rom/OS2.bin
dd if=/dev/mtd7 of=/tmp/rom/overlay.bin
dd if=/dev/mtd8 of=/tmp/rom/crash.bin
dd if=/dev/mtd9 of=/tmp/rom/reserved.bin
dd if=/dev/mtd10 of=/tmp/rom/Bdata.bin
恢复命令 (以后备用)
mtd write /tmp/rom/Bootloader.bin Bootloader
mtd write /tmp/rom/Config.bin Config
mtd write /tmp/rom/Factory.bin Factory
mtd write /tmp/rom/OS1.bin OS1
mtd write /tmp/rom/rootfs.bin rootfs
mtd write /tmp/rom/OS2.bin OS2
mtd write /tmp/rom/overlay.bin overlay
mtd write /tmp/rom/crash.bin crash
mtd write /tmp/rom/reserved.bin reserved
mtd write /tmp/rom/Bdata.bin Bdata
- 登录breed后在固件备份里备份EEPROM和编程器固件
问题2 刷官方开发版系统
刷系统有两种方式,一种是U盘,另一种是在网页上刷。我尝试过用U盘刷,但是一直失败,显示红灯,期间我换了3个符合要求的U盘都是这样,最后用网页就没问题。
问题3 获取SSH
这个问题缠绕了我好久,因为路由器不识别U盘(用官方的步骤亮红灯),所以只能用漏洞获取。
具体步骤:
1.首先登入小米路由器mini控制台
输入192.168.31.1登录,登陆后查看控制台网址,类似于这个(没有#router也没事,只要有/web/home这种结构就可以)。
http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8/web/home#router
2.把你网址中的/web/home#router替换成
/api/xqsystem/set_name_password?oldPwd=路由器控制台管理密码&newPwd=admin
“路由器控制台管理密码” 换成你想要的控制台登陆密码。
按下Enter之后会看到出现 {“code":0}。如果没有出现 {“code":0} 而是别的代码,应该是系统版本太高了。
3.重新登陆控制台,登录密码为第二步设置的密码,再把现在网址中的/web/home#router替换成
/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd
然后在按下Enter,如果看到这个代码 {“msg":“参数错误”,“code”:1523},则表示这个系统版本太低了。
给大家一个网址,在里面可以找之前版本的固件 【MiWiFi ROM】固件下载大全(更新2.0)2.1.8/0.9.93/2.1.6/0.7.20) ),我使用的是 0.5.30 这个版本。
成功的会出现 {“msg":“未能连接到指定WiFi(Probe timeout)”,“code”:1616}
现在可以启用telnet 登录路由器了
4.使用putty软件telnet登入路由器
账号:root ,Password 输入之前设置的路由器控制台管理密码
5.输入以下指令这时候就可以用常用的SSH方式登录路由器了
sed -i ":x;N;s/if \[.*\; then\n.*return 0\n.*fi/#tb/;b x" /etc/init.d/dropbear
/etc/init.d/dropbear start
nvram set ssh_en=1; nvram commit
问题4 刷入breed后搜索不到路由器wifi了
因为搜不到wifi就没法进入breed了,这个问题的解决方案就是通过网线连接电脑,连接后就可以直接登录breed的地址了
问题5 老毛子的固件
找固件的过程中可能会发现bin和trx后缀的两种固件,但是breed只认识.bin的,这时候我们只需要把文件的.trx改成.bin,在breed里面就可以直接刷了