使用TFTP和TTL在U-BOOT烧写路由内核 刷机 救砖 基于IPQ4019

在路由器业IPQ40x9 IPQ40x8系列的CPU是高通MU-MIMO Wave 2 802.11ac SoC WiFi解决方案,使用这方案路由器有ACRH17、竞斗云G-DOCK、星际宝盒、EA8300、乐光CA100。

偶然的机遇拿了一个IPQ4019的路由器,但是这个是FIT(瘦)AP,没有管理界面。朋友帮忙编译了一个OpenWrt固件玩玩,只能通过OTA、TTL或者拆FLASH刷固件升级,OTA不知道协议,拆FLASH也麻烦,所以先尝试使用TTL升级。
TFTP32-1.png

前期准备

  1. TTL工具,可以使用淘宝几块钱的TTL设备,接到路由器上有串口TTL标记的接口
  2. tftpd32软件安装到目录短并无中文名的目录
  3. 安装带有串口(Serial)的软件,例如Xsheel 6
  4. 将烧录固件.bin文件拷贝到安装tftpd32的目录下,更名为a.bin(这个很重要,不要忘记!!!)

连接TTL,GND接GND、路由器RX接TTL的TX、路由器TX接TTL的RX,也就是RX和TX反过来接。
TFTP32-2.png

连接TTL

  1. 使用Xsheel连接串口,先新建会话然后选择SERIAL(串口)协议
    TFTP32-3.png

  2. 设置Xsheel的串口,选择SERIAL设置com的端口和波特率,其他一般默认
    TFTP32-4.png

  3. 给路由器重新上电可看到正常显示启动数据,在启动倒数几秒内敲任意按键(竞斗云为不停的敲F键和Enter键)进入bootloader,我们要在这个模式里面进行刷机
    TFTP32-5.png

TFTP上传固件

  1. 先连接网线到电脑,然后输入”printenv”命令查看 U-Boot 中的serverip IP 地址信息,ipaddr 表示 U-Boot 即路由使用的 IP 地址,serverip 表示服务器即 PC 机使用的 IP 地址”192.168.1.25″
    TFTP32-10.png

  2. 在网络设置里面设置IPV4地址为TFTP服务器地址”192.168.1.25″并确定保存
    TFTP32-8.png

  3. 打开 TFTPd32,Current Directory 选择要上传文件的目录(一般放在软件目录里),Server interfaces 选择本机跟路由相连的网卡 (参考刚才设置的 IP 地址)
    TFTP32-6.png

  4. tftp上传固件:”tftpboot <文件名>”,输入”tftpboot a.bin”,tftpboot 命令用于向 TFTP 服务器请求a.bin文件,并存入内存
    TFTP32-9.png

  5. 文件上传完成
    TFTP32-7.png

编程烧录QSPI Flash

警告:命令需谨慎,以防万一做好备份,ART没了就没灵魂了!!!
本设备为IPQ4019单SPI FLASH(NAND Flash使用nand 命令烧录),以下使用本设备SPI FLASH为例:

  1. 初始化芯片SPI总线FLASH驱动: “sf probe;”
  2. 擦除 Flash,任擦除分区的命令,可以指定偏移off 和大小size 擦除,如果不输入从参数,则整片擦除,但是此命令会跳过坏块,SPI FLASH速度慢可能需要5分钟。”sf erase <flash地址> +<擦除大小>”
    例如”sf erase 0x180000 +0x1a00000;”

  3. 写内存数据到flash,”sf write <源地址> <目的地址> <长度>”
    例如:”sf write 0x84000000 0x180000 ${filesize}”
    把内存0x8400 0000处的数据, 写入flash的偏移0x180000, 写入数据长度为下载文件大小, 操作偏移和长度最小单位是Byte

编程烧录SPI Flash

结束

烧录完成可输重启命令:”reset”

NAND Flash可使用nand 命令,NOR Flash也不同,u-boot其他食用方式可参考https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842223/U-boot

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
ROS技术空间 » 使用TFTP和TTL在U-BOOT烧写路由内核 刷机 救砖 基于IPQ4019

发表评论

提供最优质的资源集合

立即查看 了解详情