首页 > 其他分享 >MediaTek Filogic 系列路由器串口救砖教程

MediaTek Filogic 系列路由器串口救砖教程

时间:2024-03-01 16:26:30浏览次数:17  
标签:bin 救砖 Filogic bl2 -- uartboot 串口 mtk

感谢蝈蝈大佬开发的 mtk_uartboot 工具,这样就可以随便刷砖了
适用系列:MediaTek MT7622、MT7981、MT7986、MT7988 SoC

1.下载工具

地址:https://github.com/981213/mtk_uartboot/releases
Windows 用户选择 mtk_uartboot-x86_64-pc-windows-msvc.zip
Linux 用户选择 mtk_uartboot-x86_64-unknown-linux-gnu.tar.gz

手动编译(Linux)

不打算自己构建工具请忽略此节
首先自行安装 rust 编译环境,我这里用的是 ubuntu

sudo apt install aptitude
sudo aptitude install rust-all

开始构建(以在 x86 上运行为例):

git clone https://github.com/981213/mtk_uartboot && cd mtk_uartboot
cargo build --verbose --locked --release --target x86_64-unknown-linux-gnu

目标文件:target/x86_64-unknown-linux-gnu/release/mtk_uartboot

2. 编译 ATF (RAM Boot)

不打算自己编译 bl2 请忽略此节

手动编译(Linux)

git clone -b mtksoc --single-branch https://github.com/mtk-openwrt/arm-trusted-firmware
cd arm-trusted-firmware

开启 RAM Boot 需要打个小补丁:

--- a/plat/mediatek/apsoc_common/bl2/Config-uart_dl.in
+++ b/plat/mediatek/apsoc_common/bl2/Config-uart_dl.in
@@ -10,7 +10,7 @@ config _RAM_BOOT_RAM_BOOT_UART_DL
 	bool "Enable RAM boot UART download support"
 	depends on _BOOT_DEVICE_RAM
 	depends on !_RAM_BOOT_DEBUGGER_HOOK
-	depends on _INTERNAL
+	# depends on _INTERNAL
 	default n
 
 # Makefile options

然后就可以选择构建目标了(以 MT7981 DDR3 内存为例):

Advanced boot device configuration 里面
选中 Enable RAM boot UART download support

注意:MT7981B 需要在 Advanced DRAM configurations 里面选择
内存封装为 BGA,默认是 QFN,不改此项刷入 bl2 必砖

开始构建:make CROSS_COMPILE=aarch64-linux-gnu-
目标文件:build/mt7981/release/bl2.bin

3.开始救砖

我这里提供一份预先构建的 bl2:https://www.lanzouw.com/ioTYu1pvi23g
涵盖 MT7622、MT7981、MT7986 DDR3/4 MT7988 没试过,不知道
MT7981 DDR3 内存为例开始救砖:

Linux 上:

注意:此时不能有其它程序访问/dev/ttyUSB0
其中 fip.bin 为某个机子的 uboot,/dev/ttyUSB0 为连接至路由器 UART 的串口

sudo ./mtk_uartboot -s /dev/ttyUSB0 -p mt7981/mt7981-ddr3-bl2.bin -a -f fip.bin --brom-load-baudrate 115200 --bl2-load-baudrate 1500000

如果你的串口承受不了 1500000 的波特率,那请将 --bl2-load-baudrate 设置成 115200

sudo ./mtk_uartboot -s /dev/ttyUSB0 -p mt7981/mt7981-ddr3-bl2.bin -a -f fip.bin --brom-load-baudrate 115200 --bl2-load-baudrate 115200


打印 Received FIP 后使用串口工具访问串口,此时会停在 Boot Menu 处,
分别选择 Upgrade ATF BL2Upgrade ATF FIP 即可完成救砖

Windows 上:

注意:此时不能有其它程序访问COM4
其中 fip.bin 为某个机子的 uboot,COM4 为连接至路由器 UART 的串口

.\mtk_uartboot.exe -s COM4 -p .\mt7981\mt7981-ddr3-bl2.bin -a -f fip.bin --brom-load-baudrate 115200 --bl2-load-baudrate 1500000

如果你的串口承受不了 1500000 的波特率,那请将 --bl2-load-baudrate 设置成 115200

.\mtk_uartboot.exe -s COM4 -p .\mt7981\mt7981-ddr3-bl2.bin -a -f fip.bin --brom-load-baudrate 115200 --bl2-load-baudrate 115200

打印 Received FIP 后使用串口工具访问串口,进 Boot Menu 完成救砖

标签:bin,救砖,Filogic,bl2,--,uartboot,串口,mtk
From: https://www.cnblogs.com/p123/p/18046679

相关文章

  • CEIWEI CommMonitor 串口监控精灵v12.7 串口过滤;串口监控
    CEIWEICommMonitor串口监控精灵是用于RS232、RS422串口协议、ModbusRTU/ASCII协议过滤监控抓包的专业工具软件程序。CEIWEICommMonitor监控记录和分析系统中的所有串口活动,并不占用串行端口;追踪应用程序或驱动程序开发,串口设备测试和优化等过程中可能出现的问题的理想工具......
  • ubuntu串口重命名(串口绑定)
    不同方法在于rules文件的编写。rules文件编写方法一:针对不同转换芯片在未插入和插入USB设备时,分别通过lsusb命令查看所连接的USB设备。可以看出硬件ID为"1b3f:8301"在/etc/udev/rules.d中创建.rules文件,比如我的是my.rules,输入以下内容:KERNEL=="ttyUSB*",ATTRS{idVe......
  • J-link虚拟串口波特率异常问题
    J-LINKV9以上自带了虚拟串口,使用非常方便。但最近遇到问题,发现打开虚拟串口时电脑接收到的是乱码。到官网搜索了一下,发现最高波特率是115200,我使用的是256000,于是降低波特率。官网说明:[已解决]J-LinkVCOM最特率。-J-Link/Flasher相关-SEGGER-论坛再测试,发现经常接收不......
  • QT 串口上位机
    CMakeLists.txtcmake_minimum_required(VERSION3.5)project(SerialPortVERSION0.1LANGUAGESCXX)set(CMAKE_AUTOUICON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIREDON)find_package(QTNAMESQt......
  • 学习如何在C#中轻松实现串口数据接收:清晰步骤与实例代码
     概述:以上C#示例演示了如何使用SerialPort类实现串口数据接收。通过设置串口属性、定义数据接收事件处理程序,你可以轻松地打开串口、监听数据,并在事件处理程序中对接收到的数据进行处理。这提供了一个基本框架,可根据实际需求进行定制。在C#中实现串口数据接收通常需要使用Sys......
  • 通过配置蓝牙串口实现两台电脑之间的无线通信
    确认电脑具备蓝牙功能1、添加蓝牙设备  当蓝牙功能处于开启状态下,按照图中步骤添加蓝牙设备   2、与设备配对连接选中需要连接的设备进行匹配,设备名称需要自行分辨。 配对成功后会有如下提示,点击关闭。   3、配置蓝牙通信返回添加设备页面,滚轮下滑,找到......
  • 关于8串口服务器例程的使用
    打开该例程之后,首先看一下该例程注释,注释中介绍:该8串口服务器例程设置串口波特率为921600,且仅可用于10M网络,例程中将ld文件中FLASH、RAM的大小配置为192,注意在下载使用时要将MCUFLASH、RAM的配置改为192+128,具体修改方法如下: 此外,由于将8个串口都用于实现8串口网络服务器通......
  • 国产USB 转串口芯片CH9102替换CP2102 需要改动什么以及注意事项说明
    CH9102是一个USB总线的转接芯片,实现USB转异步串口。提供了常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。CH9102与CP2102可实现pin2pin兼容,可以在不更改硬件设计的前提下实现不同型号间快速切换与产品应用。CH9102系列......
  • Protues的串口工具Virtual Terminal
    用Protues来验证ARM的串口发送,有两种办法,一种是用Protues的串口工具VirtualTerminal第二种是用串口助手(此种方法,需要下载并安装虚拟串口软件,然后用虚拟串口连接虚拟硬件和串口助手,比较麻烦) (第二种方法需要虚拟串口软件,比较麻烦,因此,建议大家使用Protues的串口工具VirtualTermi......
  • STM32系统开发--基于LL库的多串口Printf使用
    MDK:Keilv5.38/STM32CubeMXMCU:STM32G431CBUx外设:串口USART1、2使用多串口Printf,基于C语言中的函数可变参数,首先要包含头文件"stdarg.h"。基于LL库,编写多串口打印函数:/************************************************函数名称:USART_Printf功能:多串口Printf函数......