WR720N硬改16M flash

flash分区结构

  • 通过命令行dmesg |grep spi |grep Kbytes可查看flash型号及容量

    [    0.760591] m25p80 spi0.0: w25q128 (16384 Kbytes)
    
  • 通过dmesg命令查看系统启动log,找到有如下提示

    # 16M flash op系统分区结构 
    [    0.775662] 0x000000000000-0x000000020000 : "u-boot"
    [    0.782384] 0x000000020000-0x000000153404 : "kernel"
    [    0.787855] 0x000000153404-0x000000ff0000 : "rootfs"
    [    0.803829] 0x000000390000-0x000000ff0000 : "rootfs_data"
    [    0.811128] 0x000000ff0000-0x000001000000 : "art"
    [    0.816478] 0x000000020000-0x000000ff0000 : "firmware"
    
    # 8M flash op系统分区结构 
    [    0.710000] 0x000000000000-0x000000020000 : "u-boot"
    [    0.720000] 0x000000020000-0x00000012e620 : "kernel"
    [    0.730000] 0x00000012e620-0x0000003f0000 : "rootfs"
    [    0.760000] 0x000000350000-0x0000003f0000 : "rootfs_data"
    [    0.770000] 0x0000003f0000-0x000000400000 : "art"
    [    0.770000] 0x000000020000-0x0000003f0000 : "firmware"
    
  • 通过cat /proc/mtd也可以查看(mtd是一个openwrt管理flash的工具,erasesize 为单位擦除的最小单位)

    # 16M flash op 
    dev:    size   erasesize  name
    mtd0: 00020000 00010000 "u-boot" #bootloader引导程序,可以用bread代替
    mtd1: 00133404 00010000 "kernel" #固件内核
    mtd2: 00e9cbfc 00010000 "rootfs" #固件分区文件系统子集
    mtd3: 00c60000 00010000 "rootfs_data" #固件分区文件系统子集 可写分区子集
    mtd4: 00010000 00010000 "art" #无线校准参数 发挥无线最佳工作效果
    mtd5: 00fd0000 00010000 "firmware" #固件分区
    
  • 分区结构示意图

    在这里插入图片描述

    rootfs区域挂载/系统根目录;rootfs_data区域挂载/overlay目录,作为系统启动后系统文件修改时的记录区,以便恢复系统;中间的区域挂载系统的其他部分即/rom目录

  • 使用dd命令备份flash

    通过命令行ls /dev/mtd*可以查看到挂载的mtd设备,与命令行cat /proc/mtd中的mtd对应,其中的mtd*ro就是供flash读取的

    dd if=/dev/mtd0ro of=/tmp/uboot.bin
    dd if=/dev/mtd5ro of=/tmp/firmware.bin
    
  • 还原flash(貌似还原art不行)

    mtd -r write rootfs_data.bin rootfs_data
    
  • 总结

    更换flash芯片时,需要先备份原系统的art区无线校验数据,先使用编程器将uboot.bin(bread.bin)刷入flash芯片,最后使用uboot.bin升级系统固件以及刷入备份的art文件

    最初,路由器将其无线校验数据存储于eeprom中,因此网上eeprom的叫法也即是无线校验区,art、factory只是其中的一种,因为芯片型号不一样,因此叫法不一样,该区还存储了路由器的mac地址等数据,刷机后最好使用uboot将mac地址还原为原地址,否则有可能造成无线的不正常工作

  • 参考文档

    官网flahs分区Doc参考

    Openwrt学习笔记(二)——Flash Layout and file system

    Openwrt flash分区、文件系统

    为什么要备份无线校准文件?

flash芯片

  • SPI FLASH与NOR FLASH

    • SPI FLASH是NOR FLASH的一种
    • NOR FLASH根据数据传输的位数可以分为并行(Parallel)NOR Flash和串行(SPI)NOR Flash
    • SPI Nor Flash比parallel便宜,接口简单点,但速度慢
    • 路由器的Flash即是spi nor flash,WQ25系列在路由器上用的较多
  • 参考文档

    全面理解SSD和NAND Flash

    NOR flash和NAND flash区别

串口控制台

WR720N的电路板上有两个焊点,TP_IN和TP_OUT,将USB-TTL的RX焊接到TP_IN,TX焊接到TP_OUT,即可通过串口终端查看系统的启动过程,刷砖备用

刷机过程

  1. 使用TP原装的web刷入op系统,openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin

  2. 利用dd if=/dev/mtd4ro of=/tmp/art.bin备份出art无线校验数据,然后使用scp工具导出

  3. 使用编程器将bread写入新的flash,bread下载地址为breed-ar9331-wr710n_wr720n-r1163.bin

  4. 焊接换上新的flash,长按恢复物理键,上电启动bread,如果led闪烁则启动正常

  5. 通过bread的web刷入新的op系统以及art备份

Openwrt针对每种路由器提供两个固件文件,factory.bin用于路由器原厂固件初次改刷为Openwrt使用,sysupgrade.bin用于从旧版本Openwrt升级到新版使用

参考链接

TP-LINK WR720N v3 刷OpenWrt 完美翻墙

AR/QCA/MTK Breed,功能强大的多线程 Bootloader

TP-LINK WR720N 折腾记

TPLink WR720N刷OpenWrt - 修砖

TP-link WR720N拆解

猜你喜欢

转载自blog.csdn.net/robothj/article/details/84618741