【2021-12-12】 Breed 更新

2021年12月12日更新,修订号 r1333,git提交记录 583fbe9

更新内容:
- Flash 框架和驱动全部重写,新增编程器模式(后面会补帖更新使用方法,现在只支持 CLI 模式,以后会更新 Web UI 模式)。
- NAND 驱动完善坏块处理功能。(包含 MT7621/AR9344/QCA9558 等 NAND 机器的支持,含 WNDR4500v3/QNDR4300v2 的 SPI-NAND)
- 修复 AR9344 NAND 驱动不稳定的问题,WNDR4300v1 NAND 版重新加入支持
- 老旧芯片起死回生,全部重新加入更新(及个别除外)
- DW33D 专用版修复环境变量位置 BUG,现在会固定使用 u-boot-env 分区,无需再次设置

说明:
- MT7621 NAND 的三款 Breed,因为 NAND 坏块表逻辑错误,会导致更新后无法再正常写入任何数据,因此已经删除。如果已经刷入导致出现上述问题,请按以下方法恢复到上一个版本:

1. 关掉坏块表的保护机制和回写功能:
breed> nand bbt protect off
BBT protection is now disabled

breed> nand bbt writeback off
BBT writeback is now disabled

2. 载入旧版 breed 数据 (https://breed.hackpascal.net/r1286%20]https://breed.hackpascal.net/r1286%20[2020-10-09]/)
请在电脑上用 HFS 搭建 HTTP 文件服务器
breed> wget 0x80001000 http://<Breed 文件的 URL>
Connecting to 192.168.1.3:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 127962/0x1f3da (124KB) [application/octet-stream]
Saving to address 0x80001000
[========================================================================] 100%

Transmission completed in 0.6s.

3. 强制擦除 Bootloader 分区
breed> nand erase force 0 0x40000
Erasing flash bank 0 from 0x0, size 0x40000
[========================================================================] 100%

4. 写入 Breed
breed> nand write 0x80001000 0 0x20000
Writing flash bank 0 to 0x0 from memory 0x80001000, size 0x1f3da
[========================================================================] 100%

更新的文件:
全部

【2021-12-12】 Breed 更新》有31个想法

  1. Hello, I've noticed that you finally added back support of WNDR4300v1/3700v4 to breed with this r1333. However, you have stated before on right.com.cn that these particular routers cannot be overclocked. I searched, but could not find explanation as to why. Can you explain, in English preferably? Thanks in advance.

    1. The CPU/DDR settings must be stored in a storage device so they can be read back during CPU/DDR initialization. The NOR flashes can be directly accessed by CPU (memory mapping) without a driver while NAND flashes can't. There is no space for the first boot stage to implement such a driver. That's the reason OC is not available on devices booting from NAND directly.

      1. But they can be modded to boot from SPI, right? You even compiled a separate breed image just for that. Can the firmware itself remain on nand for this, or a full recompilation of dd-wrt and it's placement on SPI are required?

        1. It's not possible for MT7621 devices because SPI and NAND share their pins which result in the fact that SPI-NOR and NAND cannot be accessed simultaneously. On the other side although it's possible for AR9344, I'm not going to do this customization since it requires reworking on the board for an extra spi-nor chip. The spi-recovery file is only ment for recovery and I'm not going to add any feature for it.

            1. Of course I know how to modifying boards.
              The spi only image makes use of the entire spi-nor flash, and ignores the nand flash. It's nearly usess since it's built for fun.
              The spi-recovery image boot from spi-nor while it's web UI writes image into nand flash. This is intended for fixing bricked device, namely the device with damaged bootloader in nand flash. I built this image obviously because soldering a spi-nor flash is much easier than desoldering/resoldering the nand flash.

  2. Hello,
    Could you tell me in English how to update Newifi D2 from r1237 to r1333 so I don't brick the router? Can I update from WEB UI?

    And could you elaborate on that part:
    "说明:
    - MT7621 NAND 的三款 Breed,因为 NAND 坏块表逻辑错误,会导致更新后无法再正常写入任何数据,因此已经删除。如果已经刷入导致出现上述问题,请按以下方法恢复到上一个版本:" ? Should I update to the last version or the previous one?

    Thank you very much!

    1. Newifi D2 is using spi-nor flash, not nand flash. So you can safely upgrade it in web ui.

      P.S. three nand devices are xiaomi-r3g, r6220 and hiwifi-hc5962 and were deleted in r1333.

      1. 记得很久以前您发布的压缩包有密码的,我网盘备份了,但是密码是什么我不知道,您还记得吗?

    1. 这是因为这一版的flash驱动不再支持不识别id的flash。因此会出现这个现象。请告知flash型号,以便于我加入此型号支持。

  3. R6800 MTK7621 NAND Breed求支持! 目前使用R3G的breed 使用WiFi关闭按钮对应复位键GPIO18
    目前已知 复位键是gpio12 WiFi开启键是gpio14 WiFi关闭键是gpio18

  4. autoboot.command
    自动启动命令,可以包含多个命令,使用半角分号 ; 分开
    示例:env set autoboot.command "boot mem 0x9f020000"

    难得大佬今晚在线 咨询环境变量的问题 以上的0x9f020000 是指的内存地址还是闪存地址。
    比如 固件的启动地址与BREED默认位置不兼容 比如0x30000开头 要怎么设置环境变量才能正常启动。

    1. 如果是SPI-NOR flash,那么一般会有一段内存映射范围,例如AR/QCA的就是0x9f000000~0x9fffffff。这段区域直接映射到flash,因此flash地址的0xAABBCC,就对应到内存映射的0x9f000000+0xAABBCC。
      因此你既可以用boot mem 0x9fAABBCC,也可以用boot flash 0xAABBCC

发表评论

邮箱地址不会被公开。 必填项已用*标注