本鱼拟成立工作室承接项目开发/软件定制/云设施开发运维/办公设备技术支持等,如您有相关需求,欢迎来询 | ::博客文章推荐::

自编自用的LEDE固件/QSDK固件(适用于红米AX6/小米AX3600)

: 硬件/HW 木魚 23978℃ 18评论

上一篇日志写了如何给红米AX6、小米AX3600/6000/9000解锁拿SSH权限,正事儿就来了。

解锁SSH参考上一篇博客。

红米AX6/小米AX6/AX3600/AX6000/AX9000全系列拿SSH权限&固化教程

介绍

这个固件是本鱼自己编译的,用在自己的AX6、AX3600上,发上来之前都实际刷机验证过,确认可用。

固件介绍如下:

  • 基于最新的LEDE
  • 基于本鱼自己收集的各种包和主题(部分参考了 jingleijack/Redmi-AX6-DCJAX6-AX3600_chajian_quan_peizhi_banben ,致谢)
  • 集成的功能:
    • 经过挑选觉得还不错的主题:Netgear、Rosy、Argon、Argon_MC1、Argon_MC2、Material、Bootstrap
    • VPN
    • ZeroTier
    • AdGuard Home
    • Shadow*****
    • 上网时间控制
    • 解锁网易云灰色歌曲
    • OpenCla**
    • 动态DNS
    • SmartDNS
    • UU游戏加速
    • KMS服务器
    • udpxy
    • uHTTPd
    • 多播&负载均衡
    • 简易MESH
    • 应用过滤
    • Turbo ACC网络加速
    • netdata系统监控
    • TYTD终端
    • 带宽监控
    • WireGuard

没有集成很多固件里面往往会有的JD签到……这玩意儿很多人需要吗?

使用情况及已知的问题如下:

  1. 运行较稳定,但系统可用内存偏低,在AX6和AX3600上均在100M左右,AX3600相对来说高一点,能到150M+
  2. NPU加速可启动,但仅针对有线,有线测速上下行900M的时候CPU使用率较低
  3. 无线访问无法硬件加速,测速较高时CPU负载也相应走高
  4. 无线可开启160M带宽选项,选择后小米11U连上后速度显示2400M,但实际测速效果似乎比80M还差一点,请自行确认
  5. AX3600无线网络会出来两个5G,第一个QCA9887的是AIOT天线的,不是常规的无线

AX6

这里的截图使用Argon主题。

AX3600截图

这里使用的是Argon_MC2主题。

AX3600测速

刷机方式

1. 从小米官方固件刷机

说了啊,得先拿到SSH权限

下载所需的文件:

  • SSH及SCP工具:蓝奏云盘 (含WinSCP、putty,已有相关工具的可不下载)
  • 初始化QSDK分区镜像以及扩容镜像
  • QSDK固件 AX6 AX3600(闭源SDK固件,硬件驱动完善,性能基本上和官方一致,想刷QSDK可以下这个,QSDK不是本鱼的,它是一个闭源固件;想刷本鱼LEDE固件的不用下这个)
  • LEDE固件:AX6(访问密码:9kon) AX3600(访问密码:dga8)

首次刷机(不是升级)需要下载带nand-factory的包。

1.1 刷入引导固件

原小米的闪存布局怎么说呢,说起来就是格局很小。最大好像是33M,大于这个大小的包都刷不了。所以需要先刷入初始化qsdk固件。

SSH连接到终端,使用以下命令,启动到rootfs:

nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit

从“初始化QSDK分区镜像及扩容镜像”里,用winscp将解压出来的xiaomimtd12.bin文件上传到路由器的/tmp目录下,然后执行如下命令来写入:

mtd write /tmp/xiaomimtd12.bin rootfs

💥拔电源重启路由器(对,没看错,拔掉电源插头,重新插上,充满了暴力美学)。重启后需要用有线连接,无线不一定会有。

1.2 扩容分区

SSH进入终端中(注意默认IP会有变更,用户名为root密码默认为空,路由器指示灯不会亮不代表坏了)。

使用WinSCP将上述压缩包中解压得到的a6minbib.bin上传到路由器/tmp目录下,分别执行如下命令进行扩容:

💥💥警告!这会破坏原分区结构,导致小米官方的救砖工具无法救砖!务必在执行操作前备份MIBIB分区!!这样后续如果想刷回官方固件还可以有办法!!如何备份看上一篇拿SSH权限的博客!
cd /tmp
. /lib/upgrade/platform.sh
switch_layout boot; do_flash_failsafe_partition a6minbib "0:MIBIB"

操作运行完成后,继续拔电源重启路由器

1.3 写入新固件

因为蓝奏云不允许上传bin和ubi文件,所以线上的都是rar压缩包。忽略扩展名根据主文件名选一下,或下载对应的压缩包后解压找一下文件。

先选定要写入的包:

  • 如果要刷QSDK,则下载QSDK中对应机型的包:
    • AX6: openwrt-ipq807x-generic-xiaomi_ax6-squashfs-nand-factory.bin
    • AX3600:openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.bin
  • 如果要刷LEDE,则下载LEDE中对应机型的包:
    • AX3600:openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi
    • AX6:openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-factory.ubi

使用WinSCP将对应的包上传到路由器的/tmp目录下,再用SSH登录到终端中,执行如下命令写入镜像:

ubiformat /dev/mtd13 -y -f /tmp/<目标包>
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1

写入完成后,运行 reboot 重启路由器。

默认路由器IP为 192.168.10.1,用户名root,密码 password(这个默认密码是LEDE的,QSDK是啥忘记了,admin/password/空什么的,可以都试试)。

2 从QSDK刷到LEDE

由于QSDK有校验,无法通过web界面直接更新,可以使用 sysupgradeubiformat 强制更新。

2.1 使用sysupgrade

选定要用的升级包:

  • AX6:openwrt-ipq807x-generic-redmi_ax600-squashfs-nand-sysupgrade.bin
  • AX3600:openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrade.bin

使用WinSCP将文件上传到路由器的/tmp目录下。

再用SSH登录到终端中,执行命令:

sysupgrade -F -n /tmp/文件名

文件名是最终的包名。

刷写后,会自动重启。等到网口自动连上即可。

2.2 使用ubiformat

确定要写入的包:

  • AX3600:openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi
  • AX6:openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-factory.ubi

先SSH登录到终端中,使用如下命令切换到rootfs中:

fw_setenv flag_last_success 0
fw_setenv flag_boot_rootfs 0
reboot

重启路由器后,IP地址可能会变,注意鉴别。

用WinSCP将文件复制到路由器的/tmp目录下,运行如下命令进行写入:

ubiformat /dev/mtd13 -y -f /tmp/文件名
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1

文件名是最终的包名。完成后运行 reboot 重启即可。

3 从其它LEDE固件更新

可以在WEB界面中的系统-升级中直接更新。如果提示固件不兼容,那可能需要使用上面的强制写入的方式进行写入,写入时不建议保留配置。

4 刷回小米官方固件

💡 这步操作未经验证;需要有MIBIB分区的备份镜像;需要小米官方固件的UBI文件(小米固件是ubi格式的固件加了个头尾,可从官方固件改过来)。

先下载对应机型的UBI文件(https://iccfish.lanzoui.com/b02i9icje 密码:1hjo),然后把ubi文件和原来的mibib分区镜像(原来没备份也可试试分享的)传到 /tmp目录下。

SSH登录到终端中:

ubiformat /dev/mtd12 -y -f /tmp/ubi文件
mtd write /tmp/mibib备份文件 /dev/mtd1
fw_setenv flag_last_success 0
fw_setenv flag_boot_rootfs 0

💥💥 拔电源重新启动路由器,启动过程比较长,启动好几次,启动过程千万不要拔电源,直到电脑获得IP,进入小米固件。

5 参考资料

喜欢 (18)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(18)个小伙伴在吐槽
  1. 有qsdk的说明么??

    s19910913s2024-11-11 02:43 回复
    • 具体是指什么说明?QSDK闭源的,用法和其他的系统基本一致。

      木魚2024-11-11 16:15 回复
  2. AX3600能刷集客的AP嘛…

    router2024-10-10 15:48 回复
  3. 大佬,最近有更新嘛?

    小积木呀2022-04-06 18:39 回复
  4. 初始化QSDK分区镜像以及扩容镜像 请问在哪里呢?

    鸭鸭2021-11-20 23:29 回复
  5. 我是小米AX3600路由器,按照您的方法直接刷的LEDE,但是进入OP系统后,2.4G无线网络信号一直是显示0%传输速率: 1 Mbit/s,但是可以正常连网,请问导致这种显示错误的原因是?

    齐佩琪2021-09-23 08:19 回复
    • 可以用三方工具看看,openwrt本身的显示似乎不是那么精准。我的显示1m

      木魚2021-09-23 16:22 回复
  6. 有qsdk的说明么??

    etzzy2021-09-06 21:47 回复
  7. 看了这么多教程贴 你这个相对比较完善全面,一些注意事项也提到了.给你点10086个赞.
    我自己再恩山 别的博主那看教程贴,一路折腾下来没把我坑死,他光给你说这样那样,中间会出现的问题和注意事项提都不提,简直想骂人.中间差点刷砖了两次,还好找官方工具给救回来了= =#,大雕现在那个无线内存泄漏问题还没有修复完善,给的建议是自己观察使用情况,关闭2.4G 或者把无线功能直接关了,当个主路由用.

    57955162021-09-03 01:42 回复
    • 我观察的结果是内存泄露问题没了啊。可用内存不高,但连续运行一个多月了,可用内存一直维持在100M左右。

      木魚2021-09-09 09:53 回复
  8. 没有找到 WireGuard ,不是编译的时候漏了

    mo2021-08-29 15:40 回复
  9. 进行到1.1第一次拔电源重启之后,现在ip已经变成了192.168.1.1,但是ssh直接拒绝访问,何解

    borisx2021-08-18 20:35 回复
    • 路由器是AX6

      borisx2021-08-18 21:00 回复
      • 没事了是我自己问题,变回1网段之后和电信光猫地址冲突了……

        borisx2021-08-18 21:59 回复