找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1114|回复: 2

AX3600路由器刷大分区uboot,在从op刷回到小米系统保姆级别教程

[复制链接]
发表于 2024-2-8 20:01 | 显示全部楼层 |阅读模式
参考了很多大佬的作品,请原谅我无法一一列举了.在小米原来的系统之上输入不死Uboot,安装OP。然后再返回小米原本的系统完整版本
王小超的教程非常不错,http://www.ceer.cc/122  小超不动分区教程 我这个是大分区,很大的分区,遇到了不少难点,走了弯路
链接:https://pan.baidu.com/s/1kVso2laDDkjK6aTCQxaFGg
提取码:3600 本文所涉及的附件
第1步:解锁ssh 基于小米miwifi_r3600_firmware_5da25_1.0.17.bin
       (附注:在原本的小米系统基础之上直接降级得到1.0.17)
http://192.168.31.1/cgi-bin/luci ... web/setting/upgrade   获取stok=后面的一串代码  498e66edbbb4e1716e4d699445e38d1c

1.1获取 SSH:
http://192.168.31.1/cgi-bin/luci ... it%3B%20sed%20-i%20*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
补全stok=后面的数据,然后复制到浏览器打开,显示{"code":0}就说明成功了。

1.2修改默认 SSH 密码为 admin
http://192.168.31.1/cgi-bin/luci ... h%3B%20echo%20-e%20
补全stok=后面的数据,然后复制到浏览器打开,显示{"code":0}就说明成功了。

1.3 Putty SSH备份mtd9!!!
在小米 AX3600 上执行
mkdir /tmp/syslogbackup/
dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9
浏览器请求该地址下载备份 http://192.168.31.1/backup/log/mtd9
(附注:以上这一步我是做了,但是搞不懂有何作用?)

1.4 确认当前还没有刷机的时候,闪存的分区表
root@XiaoQiang:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "0:SBL1"
mtd1: 00100000 00020000 "0:MIBIB"
mtd2: 00300000 00020000 "0SEE"
mtd3: 00080000 00020000 "0EVCFG"
mtd4: 00080000 00020000 "0:RPM"
mtd5: 00080000 00020000 "0:CDT"
mtd6: 00080000 00020000 "0:APPSBLENV"
mtd7: 00100000 00020000 "0:APPSBL"
mtd8: 00080000 00020000 "0:ART"
mtd9: 00080000 00020000 "bdata"
mtd10: 00080000 00020000 "crash"
mtd11: 00080000 00020000 "crash_syslog"
mtd12: 023c0000 00020000 "rootfs"
mtd13: 023c0000 00020000 "rootfs_1"
mtd14: 01ec0000 00020000 "overlay"
mtd15: 00080000 00020000 "rsvd0"
mtd16: 0041e000 0001f000 "kernel"
mtd17: 015cc000 0001f000 "ubi_rootfs"
mtd18: 01876000 0001f000 "data"
root@XiaoQiang:~# cat /proc/partitions
major minor  #blocks  name

   1        0       4096 ram0
   1        1       4096 ram1
   1        2       4096 ram2
   1        3       4096 ram3
   1        4       4096 ram4
   1        5       4096 ram5
   1        6       4096 ram6
   1        7       4096 ram7
   1        8       4096 ram8
   1        9       4096 ram9
   1       10       4096 ram10
   1       11       4096 ram11
   1       12       4096 ram12
   1       13       4096 ram13
   1       14       4096 ram14
   1       15       4096 ram15
  31        0       1024 mtdblock0
  31        1       1024 mtdblock1
  31        2       3072 mtdblock2
  31        3        512 mtdblock3
  31        4        512 mtdblock4
  31        5        512 mtdblock5
  31        6        512 mtdblock6
  31        7       1024 mtdblock7
  31        8        512 mtdblock8
  31        9        512 mtdblock9
  31       10        512 mtdblock10
  31       11        512 mtdblock11
  31       12      36608 mtdblock12
  31       13      36608 mtdblock13
  31       14      31488 mtdblock14
  31       15        512 mtdblock15
  31       16       4216 mtdblock16
  31       17      22320 mtdblock17
  31       18      25048 mtdblock18

第2步:设置env开启必要的选项
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit

第3步:Winscp scp协议 把固件xiaomimtd12.bin传到路由器tmp目录
       SSH工具mtd命令写入备份的qsdk固件
mtd write /tmp/xiaomimtd12.bin rootfs  
(后续在不死界面也能再次刷入此一系统)
reboot(附注:以上就是所谓QSDK底包固件的刷入)

启动起来浏览器192.168.1.1,成功从12分区启动

-----------------刷Uboot-----------------
如何验证已进入mtd12分区:
ssh输入下面的命令,返回值 0是12分区,1则是13分区
如果第一句提示:not found,请换用第二句(附注:我的体验过程是在第二句得到返回值0)
nvram get flag_last_success
fw_printenv -n flag_boot_rootfs

如果当前在13分区,ssh输入以下命令切换至mtd12分区,输入完成后等待重启,或者等灯灭后重新拔插电重启
fw_setenv flag_last_success 0
fw_setenv flag_boot_rootfs 0
reboot
(附注:我的体验过程是:没有这个如果)
注意:一定要确保切到了12分区,再进行往下的操作

A,将ax3600-mibib.bin和uboot-xiaomi-ax3600.bin文件,上传至路由tmp目录下
root@OpenWrt:~# ls /tmp
IPQ8074                  firstboot                root
TZ                       hosts                    run
acfg-app                 lib                      shm
ax3600-mibib.bin         lock                     state
dhcp.leases              log                      sysinfo
dnsmasq.d                mcs.conf                 uboot-xiaomi-ax3600.bin
dnspod.log               nmbd                     wifi1.caldata
dropbear                 no_qca_da                zero.log
etc                      resolv.conf
extroot                  resolv.conf.auto

B,ssh输入以下命令查看分区确认mtd1和mtd7分区是否存在,不用管分区个数

root@lede:~# cat /proc/partitions (附注:能看到分区大小)
root@OpenWrt:~# cat /proc/partitions
major minor  #blocks  name

   1        0       4096 ram0
   1        1       4096 ram1
   1        2       4096 ram2
   1        3       4096 ram3
   1        4       4096 ram4
   1        5       4096 ram5
   1        6       4096 ram6
   1        7       4096 ram7
   1        8       4096 ram8
   1        9       4096 ram9
   1       10       4096 ram10
   1       11       4096 ram11
   1       12       4096 ram12
   1       13       4096 ram13
   1       14       4096 ram14
   1       15       4096 ram15
  31        0       1024 mtdblock0
  31        1       1024 mtdblock1
  31        2       3072 mtdblock2
  31        3        512 mtdblock3
  31        4        512 mtdblock4
  31        5        512 mtdblock5
  31        6        512 mtdblock6
  31        7       1024 mtdblock7
  31        8        512 mtdblock8
  31        9        512 mtdblock9
  31       10        512 mtdblock10
  31       11        512 mtdblock11
  31       12      36608 mtdblock12
  31       13      36608 mtdblock13
  31       14      31488 mtdblock14
  31       15        512 mtdblock15
  31       16       5456 mtdblock16
  31       17      26412 mtdblock17
  31       18        124 mtdblock18

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "0:SBL1"
mtd1: 00100000 00020000 "0:MIBIB"
mtd2: 00300000 00020000 "0SEE"
mtd3: 00080000 00020000 "0EVCFG"
mtd4: 00080000 00020000 "0:RPM"
mtd5: 00080000 00020000 "0:CDT"
mtd6: 00080000 00020000 "0:APPSBLENV"
mtd7: 00100000 00020000 "0:APPSBL"
mtd8: 00080000 00020000 "0:ART"
mtd9: 00080000 00020000 "bdata"
mtd10: 00080000 00020000 "crash"
mtd11: 00080000 00020000 "crash_syslog"
mtd12: 023c0000 00020000 "rootfs"
mtd13: 023c0000 00020000 "rootfs_1"
mtd14: 01ec0000 00020000 "overlay"
mtd15: 00080000 00020000 "rsvd0"
mtd16: 00554000 0001f000 "kernel"
mtd17: 019cb000 0001f000 "ubi_rootfs"
mtd18: 0001f000 0001f000 "rootfs_data"

(附注:以上是小米原始的分区)

C,确认无误后逐条开始执行:

mtd erase /dev/mtd1
mtd write /tmp/ax3600-mibib.bin /dev/mtd1
mtd erase /dev/mtd7
mtd write /tmp/uboot-xiaomi-ax3600.bin /dev/mtd7  有个疑问:如果装好了正式的OP之后erase掉MTD12,uboot是不是照样能启动?
附注:SSH操作完成后    直接拔下DC插头 断电 (非常关键!!!!据说不拔电而重启会成砖)

D, 进入Uboot刷写固件 (Uboot以后也能如法反复进入)
再次插入电源并同时使用卡针或任何物件按住AX3600路由器Reset孔5秒,蓝色闪6下,黄灯亮一下
(附注:先按住Reset,再插入DC电源,按住Reset超过五秒,橙灯闪2,蓝色闪6,橙灯恒亮,松开Reset)
(附注:此时Uboot已经启动,其IP:192.168.1.1/24 需要电脑自定义同网段IP地址192.168.1.2/24访问Uboot)
注意:Uboot只支持factory固件的刷入!
(附注:openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi经过验证妥妥的)
以上进入Uboot方法,在我们刷好了OP之后,同样能再次如法进入Uboot,再次刷机,不过有的系统刷入后感觉破坏了分区结构,造成系统不启动,
即便再次刷入先前能够刷入的系统,也还是无法启动,但是能刷入xiaomimtd12.bin 启动后执行C步骤,恢复分区表和不死uboot

------------------以下是返回原本的小米系统的方法-------------------------------------------------
关于AX3600刷了uboot返回小米固件参考教程:(遇到了一些问题,不过解决了)
https://www.right.com.cn/forum/thread-8236039-1-1.html 来自fite520
1)首先准备好返回原机固件的三个文件:mibib.bin、appsbl.bin、miwifi_r3600_firmware_5da25_1.0.17.bin
  mibib.bin 我的理解是原机的闪存分区表 appsbl.bin 我的理解是一个TFTP客户端 1.0.17.bin众所周知
  需要准备的软件工具:WinScp Putty
2)确认我们当前的分区表:
root@OpenWrt:~# clear
root@OpenWrt:~# cat /proc/partitions
major minor  #blocks  name

  31        0       1024 mtdblock0
  31        1       1024 mtdblock1
  31        2       3072 mtdblock2
  31        3        512 mtdblock3
  31        4        512 mtdblock4
  31        5        512 mtdblock5
  31        6        512 mtdblock6
  31        7       1024 mtdblock7
  31        8        512 mtdblock8
  31        9        512 mtdblock9
  31       10        512 mtdblock10
  31       11        512 mtdblock11
  31       12     245760 mtdblock12
  31       13        512 mtdblock13
254        0      23188 ubiblock0_1
253        0     207872 zram0
root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "0:sbl1"
mtd1: 00100000 00020000 "0:mibib"    mibib.bin分区表位置
mtd2: 00300000 00020000 "0:qsee"
mtd3: 00080000 00020000 "0:devcfg"
mtd4: 00080000 00020000 "0:rpm"
mtd5: 00080000 00020000 "0:cdt"
mtd6: 00080000 00020000 "0:appsblenv"
mtd7: 00100000 00020000 "0:appsbl"   appsbl.bin写入位置
mtd8: 00080000 00020000 "0:art"
mtd9: 00080000 00020000 "bdata"
mtd10: 00080000 00020000 "crash"
mtd11: 00080000 00020000 "crash_syslog"
mtd12: 0f000000 00020000 "rootfs"
mtd13: 00080000 00020000 "rsvd0"
3)确认存在无误后开始刷写,SSH连接路由器依次输入以下
mtd erase /dev/mtd1
mtd write /tmp/mibib.bin /dev/mtd1
mtd erase /dev/mtd7
mtd write /tmp/appsbl.bin /dev/mtd7
完成后直接拔下路由器供电DC头子(附注:非常关键)
4)为路由器写入小米系统miwifi_r3600_firmware_5da25_1.0.17.bin
用小米修复工具/电脑退出杀毒软件,还有win10的自带windows Defender防火墙  杀毒,修复工具才会传包给路由器修复.
电脑(192.168.31.100/24)和路由器用网线连接起来,网线务必是8根线全齐的千兆网线,只有四根线的百兆网线无法通讯
由以上可知,网卡百兆应该也是不行的。
打开小米路由修复工具,选择192.168.31.100的网卡,并根据指引指定好文件miwifi_r3600_firmware_5da25_1.0.17.bin
按住Reset,插上DC电源,当橙色灯闪烁后放开Reset。很快会看到工具上反映文件传输过程,当蓝灯闪烁意味着成功了
此时需要关闭软件后,确认有限网卡的固定IP恢复到全自动状态,路由器断电,重新插上电,系统就会启动。

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2024-2-8 20:04 | 显示全部楼层
能否分享一个好用的固件给我,能非常science有用的上网的版本?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2024-4-3 19:23 | 显示全部楼层
有用 感谢楼主提供的教程整理
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-28 23:41

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表