首页 > 路由刷机 > 小米路由器3(MI-3)刷华硕固件不用虚拟机刷华硕固件无需虚拟机方法
2018
10-31

小米路由器3(MI-3)刷华硕固件不用虚拟机刷华硕固件无需虚拟机方法

闲来无事,看了看老毛子虚拟机刷机脚本

小米路由器3(MI-3)刷华硕固件不用虚拟机刷华硕固件无需虚拟机方法

1.获取ssh

虚拟机采用的是漏洞法

如果你降级后没有配置路由器,虚拟机也人性化的提供了配置的功能,只不过你看不到

当然,这时候你就需要使用root密码来获取ssh

如果你开机配置了路由,就使用你设置的web管理密码来获取ssh

2.刷u-boot

nvram set boot_wait=on
nvram set uart_en=1
nvram commit
mtd write /tmp/uboot.bin Bootloader

3.刷固件

这一步就比较繁琐了

源代码文件:在下面压缩包里面的start.zip文件

有兴趣的自己看一下

整理得到

#ssh登录路由

sshpass -p 密码 ssh -T -p 22 -o StrictHostKeyChecking=no root@192.168.31.1

#检查分区,获取Kernel1数据

cat /proc/mtd | grep -oEm1 '^mtd([0-9]+): ([[:xdigit:]]+) ([[:xdigit:]]+) "Kernel1"' | cut -d' ' -f2
cat /proc/mtd | grep -oEm1 '^mtd([0-9]+): ([[:xdigit:]]+) ([[:xdigit:]]+) "Kernel1"' | cut -d' ' -f3

得到:

size:00400000

erasesize:00020000

其实我们是可以直接看到的#cat /proc/mtd

退出ssh状态,在linux里执行运算

echo $((16#00400000))
4194304

虚拟机脚本中含有nand坏块检测部分,检测到坏块就会减去这部分的值来切割,但有坏块的时候就会阻止刷入

用上面的出的值分割文件,并刷入

dd if=mi3.trx bs=4194304 count=1 2> /dev/null | dd of=mi3.trx.part1 2> /dev/null
mtd write mi3.trx.part1 kernel1
dd if=mi3.trx bs=4194304 skip=1 2> /dev/null | dd of=mi3.trx.part2 2> /dev/null
mtd write mi3.trx.part2 rootfs0
nvram set flag_last_success=1
nvram commit

正式刷机:(刷机有风险,谨慎)

降级

下载降级固件:http://bigota.miwifi.com/xiaoqiang/rom/r3/miwifi_r3_all_55ac7_2.11.20.bin

进入路由器后台,常用设置,系统状态,手动升级,选择降级固件,勾选清除配置

如果文件校验失败,可能文件下载不完整,重新下载。也可能是因为你的路由不是小米路由器3

获取ssh

1.官方方法获取

打开http://d.miwifi.com/rom/ssh

登陆后下载ssh工具,按说明使用U盘获取

2.漏洞法获取

登录后台,取得网址栏stok值替换到此处,然后在浏览器中访问,逐条进行

http://192.168.31.1/cgi-bin/luci/;stok=<你的stok值>/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3Bnvram%20set%20ssh%5Fen%3D1%3B%20nvram%20commit

返回1616正常

http://192.168.31.1/cgi-bin/luci/;stok=<你的stok值>/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3Bsed%20%2Di%20%22%3Ax%3AN%3As%2Fif%20%5C%5B%2E%2A%5C%3B%20then%5Cn%2E%2Areturn%200%5Cn%2E%2Afi%2F%23tb%2F%3Bb%20x%22%20%2Fetc%2Finit.d%2Fdropbear

返回1616正常

http://192.168.31.1/cgi-bin/luci/;stok=<你的stok值>/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fetc%2Finit.d%2Fdropbear%20start

返回1616正常

putty登录时,密码为web管理密码,或root密码

root密码在此处查看:http://d.miwifi.com/rom/ssh

如果都无法登录,请尝试更改密码

http://192.168.31.1/cgi-bin/luci/;stok=<你的stok值>/api/xqsystem/set_name_password?oldPwd=<你当前的后台管理密码>&newPwd=<新密码>

#获取putty和winscp(不会使用的话,我也没辙)

putty下载

http://downloads.openwrt.org.cn/software/putty.zip 

winscp下载

http://downloads.openwrt.org.cn/software/WinSCP.rar 

#备份固件

putty登录路由器

查看分区如下,命令:

cat /proc/mtd
root@XiaoQiang:~# cat /proc/mtd

putty中逐条执行以下命令,备份至tmp目录,使用winscp下载备份,协议选scp

dd if=/dev/mtd0 of=/tmp/mtd0.bin
dd if=/dev/mtd1 of=/tmp/mtd1.bin
dd if=/dev/mtd2 of=/tmp/mtd2.bin
dd if=/dev/mtd3 of=/tmp/mtd3.bin
dd if=/dev/mtd4 of=/tmp/mtd4.bin
dd if=/dev/mtd5 of=/tmp/mtd5.bin
dd if=/dev/mtd6 of=/tmp/mtd6.bin
dd if=/dev/mtd7 of=/tmp/mtd7.bin
dd if=/dev/mtd8 of=/tmp/mtd8.bin
dd if=/dev/mtd9 of=/tmp/mtd9.bin
dd if=/dev/mtd10 of=/tmp/mtd10.bin
dd if=/dev/mtd11 of=/tmp/mtd11.bin
dd if=/dev/mtd12 of=/tmp/mtd12.bin

因存储不足导致的备份失败,可使用U盘备份

插入U盘,输入df -h

看到Size是自己的u盘大小那一行,再看Mounted on的对应路径

比如:/media/AiCard

那么修改路径备份即可

dd if=/dev/mtd0 of=/media/AiCard/mtd0.bin

刷入u-boot 在下面压缩包里面的mi3_uboot.zip文件

使用winscp上传u-boot到路由器tmp目录,协议选scp

然后在putty中执行以下命令(逐条执行)

nvram set boot_wait=on
nvram set uart_en=1
nvram commit
mtd write /tmp/uboot.bin Bootloader

刷入固件

下载固件:http://opt.cn2qq.com/padavan/MI-3_3.4.3.9-099.trx

固件作者:hiboy

固件更新:https://www.right.com.cn/forum/thread-161324-1-1.html

路由IP:192.168.123.1  登录账号admin 密码admin  wifi:PDCN  wifi密码:1234567890


使用winscp上传到路由器tmp目录

然后在putty中执行以下命令(逐条执行)

注意如果因为存储不足,分割文件则不成功,刷入将导致路由器变砖。

重启路由释放存储空间,或使用提前分割好的文件,也可以使用U盘作为存储路径

cd /tmp
dd if=MI-3_3.4.3.9-099.trx bs=4194304 count=1 2> /dev/null | dd of=MI-3_3.4.3.9-099.trx.part1 2> /dev/null
mtd write MI-3_3.4.3.9-099.trx.part1 kernel1
dd if=MI-3_3.4.3.9-099.trx bs=4194304 skip=1 2> /dev/null | dd of=MI-3_3.4.3.9-099.trx.part2 2> /dev/null
mtd write MI-3_3.4.3.9-099.trx.part2 rootfs0
nvram set flag_last_success=1
nvram commit

写入part1或part2时出错,显示[e],执行以下语句,并用u盘刷官方固件

nvram set flag_last_success=0
nvram set flag_try_sys1_failed=1
nvram set flag_try_sys2_failed=1
nvram commit

重启路由

在putty中执行命令

reboot

不成功则断电重启

附:检查md5命令

md5sum 文件名

压缩包下载地址:链接: https://pan.baidu.com/s/1C0GBHErAd9S7g_113kLdKQ  提取码: ja9s