找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 25917|回复: 55

[R3G] 基于r3g的r3p breed

  [复制链接]
发表于 2020-3-10 01:41 | 显示全部楼层 |阅读模式
本帖最后由 RedLeaves 于 2020-3-21 01:34 编辑

根据 https://www.right.com.cn/forum/thread-2590989-1-1.html guo4qing 提供的思路
理论上拿breed-mt7621-hiwifi-hc5962.bin作为本体修改内存参数即可
测试发现r3p刷breed-mt7621-r6220.bin也是可以启动的 波特率57600
pbr-m1的内存参数有5个 确定是哪一个太麻烦了 直接从breed-mt7621-r6220.bin提取ddr3的参数

不多BB 直接放固件
breed-mt7621-xiaomi-hc5962-r3p.zip (90.3 KB, 下载次数: 1183)

我的r3p改的双启动,测试应该是没有问题的,但是现在引导pandorabox、openwrt之类启动还有问题,喜欢折腾的朋友可以帮忙看下

另外毕竟杂交breed,要是h大可以支持下就更好了

话说MTK的mkimage是要坑死人...

----------------------------------------------


经楼下fyi2000指点,以r3b breed为本体,重新制作了breed-mt7621-xiaomi-r3g-r3p.bin用于r3p

基于r3g魔改breed好处是大部分现有的固件就都可以刷了,无需重新编译


breed-mt7621-xiaomi-r3g-r3p.zip (90.89 KB, 下载次数: 3111)

不过由于openwrt分区布局的原因,该breed并无法直接刷如固件,需要使用特殊手法刷入

可以参考https://www.right.com.cn/forum/thread-987254-1-1.html

简单的说就在breed刷如内存版的openwrt(刷入kernel0)
重启后进入内存版的openwrt更新固件(更新会被刷入kernel1)
设置breed环境变量xiaomi.r3g.bootfw值为2从kernel1启动
----------------------------------------------

小白请勿轻易尝试哈,全砖之后必须拆机才能救,除非你具备救砖能力,改SPI和镁光NAND双启动的可以随便刷




我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-13 19:40 | 显示全部楼层
目前不能引导问题已经解决,借用hc5962的分区布局即可,代码用lean大的编译
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-13 22:56 | 显示全部楼层
杂交breed-mt7621-xiaomi-r3g.rar (90.42 KB, 下载次数: 411)
试试这个,R3G修改的内存时序。
在歌华链改NAND上可以启动自己适配openwrt,源码来自LEAN。但不能启动B70的老毛子。用R3P原厂的U-BOOT可以启动老毛子和openwrt.
能不能启动官方固件就不知道。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-14 06:03 | 显示全部楼层
R3P Bootlog
  1. === XTAL-40Mhz === DDR-1200Mhz ===
复制代码

R3P内存芯片是EM6GE16EWXD-12H
K2P内存芯片是EM6GC16EWKE-12H
两者容量不同但时钟相同
所以我建议以R3G Breed为本体,魔改K2P的内存参数(DDR3 内存适用,默认 512MB DDR AC 时序参数)

至于R3P不宜用魔改HC5962 Breed的理由,详见41#

点评

你知道7621 breed 前0x40最后四个字节得校验怎么算得吗  详情 回复 发表于 2023-3-21 23:22
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-14 15:21 | 显示全部楼层
占位留名,说不定哪天有用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-15 02:07 | 显示全部楼层
希望 继续改进    我的r3p可以试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-15 20:09 | 显示全部楼层
本帖最后由 fyi2000 于 2020-3-16 01:31 编辑

我在17#重新研究了魔改Breed,r6220的参数和K2P等大同小异,除了日期参数可以忽略不计,差别只有內存頻率和串口波特率不同,R3P的內存頻率是1200MHz,r6220是1066MHz,此外小米路由器的串口波特率都是115200bps
  1. === XTAL-40Mhz === DDR-1200Mhz ===
复制代码
我最後建议以R3G Breed为本体,內存頻率參數/DDR 時序參數/串口波特率则搬运京东云的参数,如此应该可以产生最适配R3P的Breed,如此锱铢必较的原因是避免串口产生乱码,所以请楼主再修改一次,并且比较下原来r6220魔改版和京东云魔改版是否如同我所说的,或者还是以pbr-m1/新三来改,內存頻率 1066MHz,可能内存寿命更长更稳定?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-15 20:25 | 显示全部楼层
本帖最后由 fyi2000 于 2020-3-15 20:35 编辑

还有一点则是关于Breed的uImage Header,我发现只有R3G和r6220貌似符合uImage格式,其余都不符合,hackpascal大神说过那个Header仅供Breed参考,Breed本身无法被当成uImage运行,然而我记得曾经有人把Breed当成固件刷,楼主如果有兴趣试试,那就必须修改R3G Breed的两个CRC32
  1. typedef struct image_header {
  2. uint32_t ih_magic;   /* Image Header Magic Number */
  3. uint32_t ih_hcrc;   /* Image Header CRC Checksum */
  4. uint32_t ih_time;   /* Image Creation Timestamp  */
  5. uint32_t ih_size;   /* Image Data Size    */
  6. uint32_t ih_load;   /* Data Load  Address   */
  7. uint32_t ih_ep;    /* Entry Point Address   */
  8. uint32_t ih_dcrc;   /* Image Data CRC Checksum  */
  9. uint8_t  ih_os;    /* Operating System    */
  10. uint8_t  ih_arch;   /* CPU architecture    */
  11. uint8_t  ih_type;   /* Image Type     */
  12. uint8_t  ih_comp;   /* Compression Type    */
  13. uint8_t  ih_name[IH_NMLEN]; /* Image Name     */
  14. } image_header_t;
复制代码
希望大神能够把Breed改成可以被u-boot加载,如此就可以取代 initramfs-kernel.bin

补充:
把R3G Breed 0x40以后的CRC32填入Image Data CRC Checksum,把Image Header CRC Checksum改成00000000,再计算0x00-0x3f的CRC32填入Image Header CRC Checksum
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-16 09:30 | 显示全部楼层
breed用的怎么样可以截图看看吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-16 12:35 | 显示全部楼层
不过由于openwrt分区布局的原因,该breed并无法直接刷如固件,需要使用特殊手法刷入
如果我的理解没错的话,R3G和R3P的闪存布局非常相似,主要kernel0和kernel1闪存地址相同,所以刷固件没有问题,这也是我会建议以R3G为本体的原因,Breed支持官方固件,TRX(Padavan)和squashfs-factory.bin(OpenWrt/X-Wrt/PandoraBox),非sysupgrade.bin,只有官方固件和PandoraBox闪存布局选分区1,其余OpenWrt/X-Wrt/Padavan闪存布局选分区2即可,只不过某特殊情况下R3G Breed会停止载入固件,此时需要清除Breed环境变量

OpenWrt Project: Xiaomi R3P Pro
OpenWrt Project: Xiaomi Mi WiFi R3G (Mi Wifi Router 3G / MIR3G / MI3G / R4A Gigabit)

点评

1.公版固件使用了ubi分区,breed不兼容 2.r3g和r3p的factory其实不在一个位置上  详情 回复 发表于 2020-3-17 17:59
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-3-17 17:59 | 显示全部楼层
fyi2000 发表于 2020-3-16 12:35
如果我的理解没错的话,R3G和R3P的闪存布局非常相似,主要kernel0和kernel1闪存地址相同,所以刷固件没有问 ...

1.公版固件使用了ubi分区,breed不兼容
2.r3g和r3p的factory其实不在一个位置上

点评

[*]Breed支持R3G刷OpenWrt,何来不兼容?hackpascal大神提过会重写坏块处理,所以除非存在坏块,否则我不了解为何不兼容,就算刷initramfs-kernel.bin,那也应该刷到kernel1,以保持kernel0可以恢复官方固件 [*]F  详情 回复 发表于 2020-3-17 19:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-17 19:52 | 显示全部楼层
RedLeaves 发表于 2020-3-17 17:59
1.公版固件使用了ubi分区,breed不兼容
2.r3g和r3p的factory其实不在一个位置上

  • Breed支持R3G刷OpenWrt,何来不兼容?hackpascal大神提过会重写坏块处理,所以除非存在坏块,否则我不了解为何不兼容,就算刷initramfs-kernel.bin,那也应该刷到kernel1,以保持kernel0可以恢复官方固件
  • Factory不在同一位置,那就不要用Breed重刷Factory?我相信用你魔改的Breed的网友都应该了解这一点,这个Breed只用来刷固件和备份 "All"
    重点是kernel0(0x200000)和kernel1(0x600000)的位置相同,所以R3P完全可以借用R3G的Breed刷固件,但是备份需了解两者闪存分区的差异,恢复出厂设置则不能,因为rootfs0以后完全不同

不过我只是纸上谈兵,纯粹由常理推论
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-18 20:27 | 显示全部楼层
第二个breed可以使用,刷机方法和r3g一样,刷两遍,是这意思吧?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-18 20:31 | 显示全部楼层
有人刷过这breed吗怎么样可以刷r3g 老毛子Padavan吗

点评

R3G和R3P的闪存布局有些许不同,所以固件不能通用,我认为现下刷这个魔改R3P Breed的最大用处就是刷各路英雄编译的OpenWrt/LEDE for R3P固件 此外,从hackpascal大神的帖子,貌似Breed支持Micron NAND闪存,最好  详情 回复 发表于 2020-3-19 01:13
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-19 01:13 | 显示全部楼层
本帖最后由 fyi2000 于 2020-3-20 02:14 编辑
ggggfnwfn2015 发表于 2020-3-18 20:31
有人刷过这breed吗怎么样可以刷r3g 老毛子Padavan吗

R3G和R3P的闪存布局有些许不同,所以固件不能通用,我认为现下刷这个魔改R3P Breed的最大用处就是刷各路英雄编译的OpenWrt/LEDE for R3P固件

此外,从hackpascal大神的帖子,貌似Breed支持Micron NAND闪存,最好有人能证明下,以免其他网友入坑

另外,也请试试是否这个魔改Breed能否当成固件运行?

不知何故无法上传固件,故把修改方法公开如下:
  • 以WinHex/HxD开启 breed-mt7621-xiaomi-r3g.bin 2020-01-14 23:05  103K,v1.1 r1208
  • 将以下覆盖(Paste write) 0-0x17f 字节
    1. 2705 1956 b109 53c9 5e1d d8cd 0001 9bbc
    2. a020 1000 a020 1000 7950 74da 0505 0100
    3. 4272 6565 6420 4d54 3736 3231 0000 0000
    4. 0000 0040 0000 4000 0000 0000 f8fa e06a
    5. 5000 400a 0000 0000 8900 0000 0000 32f8
    6. 0000 0000 0000 0000 0000 0000 0000 0000
    7. b25a 00c0 0000 1011 8104 069f 1002 0000
    8. 0000 000a 0000 0707 0000 0000 0000 0000
    9. 4672 6920 4f63 7420 3137 2031 333a 3237
    10. 3a35 3620 4353 5420 3230 3134 0a00 0000
    11. aa00 aa00 aa00 aa00 0000 0007 4469 4683
    12. 0100 0000 f074 86a1 c287 221d 9f0f 0481
    13. 0304 6948 1560 2842 0000 8888 8888 8888
    14. 0000 0000 0000 0000 0000 0240 0710 0000
    15. 0000 1b61 0000 2040 0000 4010 0000 6000
    16. 0a00 0000 0707 0000 0000 0000 0000 0000
    17. 0000 0000 0000 0000 aa00 aa00 aa00 aa00
    18. 0000 0007 2217 4441 0100 0000 f074 8661
    19. 4000 1273 9f0f 0481 0304 692f 1560 2842
    20. 0000 8888 8888 8888 0000 0000 0000 0000
    21. 0000 0000 0710 0000 0000 1b63 0000 2000
    22. 0000 4000 0000 6000 0000 0000 0000 0000
    23. 0000 0000 0000 0000 0000 0000 0000 0000
    24. 00c2 0100 0000 0000 0000 0000 0000 0000
    复制代码

  • 检查文件的CRC32是否 "f219a75d"

已接好TTL的网友不妨在u-boot启动项选1,载入内存中运行,看看能否运行

补充附件:
breed-r3p.zip

点评

R3G版本的breed可以直刷固件吗?还是需要用mtd这样的手法刷? breed的作者说是不兼容也不支持ubi分区,不知道是作者后面兼容了还是第三方Openwrt兼容Breed  详情 回复 发表于 2020-3-21 01:30
1.Micron NAND可以刷,我TB买的自己换掉原来的 2.关于你说的后面有空再试一下,现在路由能稳定用也比较懒得折腾[笑哭]  详情 回复 发表于 2020-3-21 01:26
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-2-28 04:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表