刷机有风险,没有需要就别刷了

  • 虽然刷完内存, 闪存都没剩多少, 但是够用. 稳定好几个月了

成果展示

前置准备

硬件

  • TTL 芯片,推荐 CH341
  • 杜邦线若干
  • Windows 电脑(带RJ45)
  • 网线

不一定需要的

  • 曲别针
  • 十字螺丝刀
  • 电烙铁,松香,焊锡丝

软件

  • TFTP 客户端
  • MiFlashTool
  • 串口软件
  • ssh client

TTL 位置

M81 的主板

M79 的主板

  • 从这几张图里面可以看出 TTL 串口都是在路由器右上角的。如果不想拆机的话, 可以通过曲别针之类的,下面用手电筒照明,曲别针从上面捅进去。

TTL排线

曲别针大法

  1. 找了个杜邦线,拆了3根线,剪到合适的长度,大概10cm;
  2. 找3个回形针,掰成上图形状,然后将杜邦线焊在上面;用3M电工胶带绑好;
  3. TTL口在右上角,用手电筒在底下照着,上面通过散热孔将回形针插进去,里面四个孔(从左至右是VCC,RX,GND,TX),VCC不接,其余与TTL模块交叉线接好;

记CR8808不拆机刷集客AP过程,在8806固件下开启ssh-小米无线路由器以及小米无线相关的设备-恩山无线论坛 - Powered by Discuz!

拆机

  • CR8806 只有背部两个螺丝, 前面板是用卡扣固定的。螺丝都在标签纸下面,可能会感觉到多个螺丝孔,但实际上只有两个孔是通的且有螺丝。
  • 下方应该两个卡扣,没拍到。其他都弄开之后下面的影响不大。
  • 使用杜邦线插在TTL的位置,连接模块即可。或者自己把TTL排针焊回去。

TTL 通讯

一般重启的时候串口就会有日志输出

  • TTL 从左至右是VCC,RX,GND,TX
  • GND 连接GND, TX连接RX,RX连接TX
  • 短接2,3针,进入TTL功能
  • 插上串口模块,打开设备管理器,安装驱动
  • 检查设备管理器实际通讯口名称,如 COM4
  • 串口软件(Putty)连接串口,填实际通讯口名称,波特率 9600。 如果乱码,调整为 115200

驱动下载, 选择第一个 EXE 即可:https://www.wch.cn/downloads/category/67.html?feature=USB转串口&product_name=CH341

我这里用的是 CH341A

启用 UART

DeviceURL
Redmi AX3000https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra81/miwifi_ra81_firmware_1dd69c_1.0.33.bin
Xiaomi CR8806https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/cr8806/miwifi_cr8806_firmware_fe70b_6.2.14.bin
Xiaomi CR8808https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/cr8808/miwifi_cr8808_firmware_9d216_6.2.11.bin
Xiaomi CR8809https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/cr8809/miwifi_cr8809_firmware_b814a_6.2.102.bin
  1. 连接网线到 LAN1口
  2. 接好TTL,正常通讯
  3. 下载对应版本 ROM 包
  4. 建议关闭杀毒软件后再打开小米路由器修复工具,选择本地上传刷机ROM包;
  5. 选择网卡:请选择与路由器LAN口相连的网卡;
    (此步骤将使用管理员权限为用户更改网卡配置,以确保路由器和电脑处于同一局域网。关闭应用时会提醒并自动恢复网卡配置。)
  6. 网卡配置成功后,先断开路由器电源,然后按住Reset键再接通电源,直到橙灯闪烁松开Reset键;
  7. 等待大约3-5分钟,蓝灯闪烁表示刷机成功,需要断电重启路由器;如果红灯闪烁表示刷机失败,请检查以上的刷机过程并重新进行刷机操作。
  8. 监听串口日志,有输出时,立马按中断 U-boot
  9. 执行以下命令
1
2
3
setenv boot_wait on
setenv uart_en 1
saveenv

正常保存则代表 UART 启用成功

刷入 Openwrt

  1. 下载 [openwrt-ipq50xx-arm-redmi_ax3000-squashfs-nand-factory.ubi](https://github.com/hzyitc/openwrt-redmi-ax3000/releases/latest/download/openwrt-ipq50xx-arm-redmi_ax3000-squashfs-nand-factory.ubi)并且放置于本机 TFTP 根目录
  2. ipconfig 查看当前电脑IP,假设为 192.168.1.2, 执行以下命令以刷入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# This router ip
setenv ipaddr 192.168.1.2
# TFTP server ip
setenv serverip 192.168.1.1

# Download the firmware to the RAM
tftpboot openwrt-ipq50xx-arm-redmi_ax3000-squashfs-nand-factory.ubi

# Flash it as system 2
flash rootfs_1
setenv flag_try_sys2_failed 0
setenv flag_boot_rootfs 1
setenv flag_last_success 1
saveenv

# Flash it as system 1
# flash rootfs
# setenv flag_try_sys1_failed 0
# setenv flag_boot_rootfs 0
# setenv flag_last_success 0
# saveenv

# Reboot
reset
  • 刷入完成后,打开网页即可看到熟悉的 Openwrt 界面
  • 如果需要密码、忘记密码,可以直接在串口软件里面按几下回车,输入 passwd 重置密码

后续

  • 将 TTL 焊接出来,方便以后使用
  • 自己编译固件,添加中文, wireguard, vnstat, upnp, frps, frpc 支持

https://github.com/hzyitc/openwrt-redmi-ax3000

https://github.com/IITII/openwrt-redmi-ax3000

openwrt开启upnp_openwrt upnp_锅锅是锅锅的博客-CSDN博客

中文设置

  • .config 添加以下内容, 然后执行 make menuconfig
1
2
3
4
5
6
7
8
9
10
11
CONFIG_LUCI_LANG_zh_Hans=y
CONFIG_PACKAGE_luci-i18n-base-zh-cn=y
CONFIG_PACKAGE_luci-i18n-opkg-zh-cn=y
#----
CONFIG_PACKAGE_luci-i18n-ddns-zh-cn=y
CONFIG_PACKAGE_luci-i18n-firewall-zh-cn=y
CONFIG_PACKAGE_luci-i18n-frpc-zh-cn=y
CONFIG_PACKAGE_luci-i18n-frps-zh-cn=m
CONFIG_PACKAGE_luci-i18n-mwan3-zh-cn=m
CONFIG_PACKAGE_luci-i18n-upnp-zh-cn=y
CONFIG_PACKAGE_luci-i18n-wireguard-zh-cn=y