bl-mt798x项目基于mtk原厂提供的ATF及uboot源码,特点如下
- uboot自带mtk原厂开发的简易webui恢复界面,可以通过webui直接刷入固件或者更新uboot,也可以使用串口+TFTP刷入固件
- 支持GL.iNet开发的通电后长按RESET按钮自动进入webui恢复界面的功能
- 支持多种Flash分区布局切换功能(仅支持spi-nand),可以在webui中切换不同的分区布局,完美兼容小米原厂固件
支持机型
路由器型号 | CPU型号 | BOARD名称 | 默认IP地址 |
---|---|---|---|
360 T7/T7U/T7M | mt7981 | 360t7 | 192.168.1.1 |
ZR3020 | mt7981 | livinet_zr-3020 | 192.168.1.1 |
Cetron CT3003 | mt7981 | cetron_ct3003 | 192.168.1.1 |
JCG Q30 PRO | mt7981 | jcg_q30 | 192.168.1.1 |
康佳 KOMI-A31 | mt7981 | konka_komi-a31 | 192.168.2.1 |
小米 WR30U/T/M | mt7981 | wr30u | 192.168.31.1 |
乐橙 LC-HX3001 | mt7981 | imou_lc-hx3001 | 192.168.1.1 |
创联腾 CLT-R30B1 | mt7981 | clt_r30b1 | 192.168.1.1 |
安博通 ABT ASR3000 | mt7981 | abt_asr3000 | 192.168.1.1 |
CMCC A10 | mt7981 | cmcc_a10 | 192.168.1.1 |
CMCC RAX3000M (SPI-NAND) | mt7981 | cmcc_rax3000m | 192.168.1.1 |
CMCC RAX3000M (EMMC) | mt7981 | cmcc_rax3000m-emmc | 192.168.1.1 |
CMCC XR30 (SPI-NAND) | mt7981 | cmcc_xr30 | 192.168.1.1 |
CMCC XR30 (EMMC) | mt7981 | cmcc_xr30-emmc | 192.168.1.1 |
新大陆 NL-WR8103 | mt7981 | newland_nl-wr8103 | 192.168.1.1 |
新大陆 NL-WR9103 | mt7981 | newland_nl-wr9103 | 192.168.1.1 |
H3C NX30 Pro | mt7981 | h3c_magic-nx30-pro | 192.168.1.1 |
诺基亚贝尔 EA0326GMP | mt7981 | nokia_ea0326gmp | 192.168.1.1 |
锐捷 RG-X30E | mt7981 | ruijie_rg-x30e | 192.168.1.1 |
锐捷 RG-X30E Pro | mt7981 | ruijie_rg-x30e-pro | 192.168.1.1 |
荣耀 XT50/XU50/XC50 | mt7981 | honor_fur-602 | 192.168.1.1 |
小米 AX3000T | mt7981 | ax3000t | 192.168.1.1 |
小米 AX3000T v2 AN8855 | mt7981 | ax3000t_an8855 | 192.168.1.1 |
红米 AX6000 | mt7986 | redmi_ax6000 | 192.168.31.1 |
GL.iNet MT6000 | mt7986 | glinet_gl-mt6000 | 192.168.1.1 |
京东云 AX6000 百里 | mt7986 | jdcloud_re-cp-03 | 192.168.1.1 |
锐捷 RG-X60 | mt7986 | ruijie_rg-x60-pro | 192.168.1.1 |
锐捷 RG-X60 Pro | mt7986 | ruijie_rg-x60 | 192.168.1.1 |
合勤 EX5700 | mt7986 | zyxel_ex5700 | 192.168.1.1 |
TP-Link XDR4288/6086/6088 | mt7986 | tplink_tl-xdr608x | 192.168.1.1 |
源码
https://github.com/hanwckf/bl-mt798x
下载
https://github.com/hanwckf/bl-mt798x/releases/latest
目前最新的release已经更新到2023.07版本的uboot,同时也提供2022.06的旧版uboot下载
编译说明
- 拉取源码,安装arm-gcc工具链。对于ubuntu/debian系统,可以使用以下命令安装
|
|
- 运行源码目录下的
build.sh
开始自动编译,脚本参数如下
|
|
- 编译完成后,在
output
目录下生成可直接写入Flash的uboot FIP二进制文件
failsafe webui使用说明
- 按住路由器的RESET按钮后通电,保持至少15秒后松开,路由器会自动进入failsafe模式
- 因uboot不支持DHCP功能,需要把电脑的IP地址设置成固定IP,其中
- 对于小米WR30U、红米AX6000路由器,应设置成
192.168.31.100
- 对于康佳KOMI-A31,应设置成
192.168.2.100
- 对于对于其它路由器,应设置成
192.168.1.100
- 对于小米WR30U、红米AX6000路由器,应设置成
- 将电脑连接到路由器任一LAN口,使用浏览器的隐身模式访问路由器的IP地址,其中
- 对于小米WR30U、红米AX6000路由器,访问
192.168.31.1
- 对于康佳KOMI-A31,访问
192.168.2.1
- 对于其它路由器,访问
192.168.1.1
- 对于小米WR30U、红米AX6000路由器,访问
- 选择固件文件上传,支持sysupgrade或factory格式的固件,待上传完毕后点击开始刷机
- 刷机完成后,路由器会自动重启,请将电脑的IP地址重新设置成DHCP自动获取
- 如果要使用webui更新uboot,可以访问
http://<路由器IP>/uboot.html
(例如http://192.168.31.1/uboot.html
),选择FIP格式的uboot二进制并上传刷入即可,如下图所示
自定义failsafe模式触发按钮
默认情况下,开机后按住RESET按钮会进入failsafe模式,可设置glbtn_key
环境变量自定义failsafe模式触发按钮
|
|
也可以在openwrt系统内通过fw_setenv
命令设置uboot环境变量
|
|
串口控制台使用说明
- uboot的默认波特率为115200,流控关闭
- uboot启动阶段会显示mtk的启动菜单,此时选择最后一项,并再次按下任意键即可进入uboot控制台
- 使用
mtkupgrade fw
命令可以通过TFTP刷入固件
- 使用
mtkupgrade fip
命令可以通过TFTP刷入uboot
多种分区布局切换功能
部分机型的uboot支持在dts里定义多种不同的Flash分区布局,并可在webui刷入固件时进行切换,该功能主要用于兼容小米原厂固件及其它分区布局的openwrt固件启动
在uboot串口控制台中,可以使用showlayout
查看内置的分区布局信息。
环境变量mtd_layout_label
代表当前使用的分区布局,当mtd_layout_label
未设置时,默认使用default
分区布局
|
|
小米WR30U多种分区布局固件兼容性
固件类型 | uboot (default) | uboot (immortalwrt-112m) | uboot (qwrt) |
---|---|---|---|
小米原厂mtd8/mtd9备份文件 | √ | × | × |
immortalwrt-mt798x stock | √ | × | × |
OpenWrt stock | √ | × | × |
immortalwrt stock | √ | × | × |
X-Wrt stock | √ | × | × |
immortalwrt-mt798x 112m | × | √ | × |
GL.iNet by 237176253 | × | √ | × |
X-Wrt 112m nmbm | × | √ | × |
OpenWrt 112m nmbm | × | √ | × |
immortalwrt 112m nmbm | × | √ | × |
X-Wrt 112m nmbm | × | √ | × |
QWRT | × | × | √ |
OpenWrt ubootmod | × | × | × |
immortalwrt ubootmod | × | × | × |
X-Wrt ubootmod | × | × | × |
红米AX6000多种分区布局固件兼容性
固件类型 | uboot (default) | uboot (immortalwrt-110m) |
---|---|---|
小米原厂mtd8/mtd9备份文件 | √ | × |
immortalwrt-mt798x stock | √ | × |
OpenWrt stock | √ | × |
immortalwrt stock | √ | × |
X-Wrt stock | √ | × |
immortalwrt-mt798x | × | √ |
GL.iNet by 237176253 | × | √ |
X-Wrt ubootlayout | × | √ |
OpenWrt ubootmod | × | × |
immortalwrt ubootmod | × | × |
X-Wrt ubootmod | × | × |
其它注意事项
- 刷入不同分区布局的固件,必须在uboot内切换分区布局并刷入固件,不得在原有系统内刷入
- uboot支持刷入小米原厂mtd8/mtd9备份文件(可从此处下载),不支持
miwifi.com
官网下载的固件 - 刷入小米原厂固件后,首次开机时会自动重启3次,请耐心等待
- 刷入小米原厂固件后,uboot env环境变量分区将会被小米原厂固件覆盖重写
- 刷入小米原厂固件后,不得在小米系统内升级固件,如果要更新原厂系统,必须通过uboot刷入新系统的mtd8/mtd9备份文件
- 由于OpenWrt主线的ubootmod固件未开启nmbm支持,因此不支持任何ubootmod分区布局的主线固件(包括OpenWrt, X-Wrt等带有ubootmod字样的固件),请使用OpenWrt主线提供的uboot启动ubootmod固件