恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15783|回复: 21

[R4A] 终于解决了breed刷机后不能正常启动的问题

  [复制链接]
发表于 2021-1-17 14:56 | 显示全部楼层 |阅读模式
本帖最后由 doboto 于 2021-1-17 15:04 编辑

首先感谢breed作者大神,breed的功能是真的太强大了!玩法太多!
入手小米路由器4A百兆版一台,想用openwrt系统!找了几个教程,成功刷入了breed,并用breed刷成功了老毛子,一些定制的openwrt系统!用了一段时间,但是或多或少都有信号不好的问题!后来从openwrt官网下载了原版的openwrt,用breed刷入,结果启动不了了!跟很多的人描述的现象一样,一直重启,但是无法进入openwrt!
但是此时还是可以进入breed,但是就进不了这个版本的openwrt,用breed再刷会老毛子可以正常启动。官方原版固件也不敢刷!

网上搜索学习了一下原理,breed的作用就是引导系统启动的,启动系统时,最重要的就是要知道flash中系统地址,breed把他成为闪存布局,就是不同rom,不同的固件他们在系统中划分的分区大小,地址并不一样,而breed目前支持的已经有好几个常见的型号了,比如公版(0x50000), 而这个小米4A,他的启动系统地址实际上在0x160000, breed的web界面上,没有对应的闪存布局可以选。官方原版的openwrt固件中firmware地址也在0x160000,所以用breed的web界面刷固件时,并不对应,启动不了!

原因明白了,就好办了!看到很多人都在发帖问作者可以不可以支持自定义启动地址?实际上web界面上不支持,但是breed还有强档的命令行界面,可以使用,强大到让人膜拜!

那说说我这个问题的解决方法,为需要的人提供一下参考!

1:首先启动breed,并用telnet连接到breed的命令行界面(不会的请参考breed的教程贴)
2:在命令行下使用wget http://x.x.x.x/firmware.bin, 此处要把你要刷的固件放在一个http服务器上(http服务器的得自己想办法,不会请自己搜教程),运行结果如下
breed> wget http://x.x.x.x/firmware.binwget http://x.x.x.x/firmware.binConnecting to x.x.x.x...
connected.HTTP request sent, awaiting
response... 200 OK
Length: 1922059/0x1d540b (1MB) []
Saving to address 0x80000000
以上x.x.x.x为ip地址,可以看到下载成功后,breed将该文件保存到了地址为0x80000000的位置,注意这里没有文件名,下载保存下来的是其实地址
3: 在命令行下执行 flash erase 0x160000 0x200000  这个命令是擦除flash中原有的数据,为我们要写入的文件腾点地方(按道理直接覆盖应该可以,但是我没试成功,还是先擦除,再写入才能成功, 0x160000为要写入firmware的目的地址,0x200000比我们下载的文件大小0x1d540b大一点,凑个整,呵呵)
4:在命令行下执行flash write 0x160000 0x80000000 0x200000(0x160000为要写入firmware的目的地址, 0x80000000是下载的固件的保存地址, 0x200000比我们下载的文件大小0x1d540b大一点,凑个整,呵呵)
5:这个时候,我们下载的固件实际上已经写入到flash了,可以启动了,在breed界面执行 boot flash 0x160000(注意这个是启动地址),回车,输出如下:
Trying to boot firmware from 0x00160000 in flash bank 0 ...
Reading data into memory ...
U-Boot firmware image header detected.   
Image Name:   MIPS OpenWrt Linux-4.14.98
...
如果成功,路由器就会自动重启,并进入我们刷的新系统中了,看到了openwrt的界面。

6:虽然上一步已经成功了,但是很遗憾,断电重启路由器,进入breed自动启动,breed还是会从0x50000处启动系统,那当然启动不成功了,和以前以前,会陷入自动循环重启中。怎么办?breed强大的环境变量功能来了,这些问题都是小case!首先进入breed的web界面,启用环境变量功能!这一步启动环境变量功能界面中,位置选择breed内部,设置启用后,需要重启。
7:再次进到breed的web界面中,上一个步骤已经设置启用了环境变量了,这一步我们就加上关键的环境变量,在环境变量界面,增加  autoboot.command 字段,值设为 boot flash 0x160000,即可,这就是告诉breed启动系统时,使用我们第5步中使用的那个命令boot flash 0x160000,从0x160000处启动,保存。
8:断电重启,哈哈系统已经成功运行了!

总结,有不少网友反馈,用breed刷rom后,变砖,不能正常启动了,反复重启!很可能都是这个原因引起的,就是breed默认的闪存布局,或者可选则闪存布局和你的情况不一致,如果遇到这个问题,你可以试试这个方法。前提是你得知道你的路由闪存布局是什么,最重要的就是系统启动地址。
  那么系统启动地址怎么看呢,一般正常启动的系统,cat /proc/mtd就可以看到,一般名为linux,os ,firmware等就是这个区,这个命令显示的都是区大小,得换算成地址。或者在系统启动时,ssh中使用dmesg命令,可以看到所有区的启动地址。
  好了,也折腾了一天多,总算救活了自己的R4A,除了发帖共享给大家外,也算做个学习记录!
  感谢breed作者,伟大的breed!感谢恩山,感谢多个帖子的作者,我做了很多参考,自己实践!


我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-1-17 14:57 | 显示全部楼层
自己占个沙发!时间有限,不一定能及时回复,往大家见谅!
自己实践,动手时,请谨慎操作,建议无论任何情况下,都不要刷掉breed,breed刷掉后,要是进不去系统,完了!只能编程器了!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-1-17 15:05 | 显示全部楼层
cool
学习了,
挺不错的
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-1-17 15:09 | 显示全部楼层
不过,
为啥你的这个固件这么小?

只有1922059?
是字节?还是KB 呢?
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-1-19 16:11 | 显示全部楼层
这个数字是个示例,不是真正的实际数字,刷玩后没截图了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-21 23:16 来自手机 | 显示全部楼层
原理真的很重要,breed的作者出一份详细的指南就好了。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-24 00:32 | 显示全部楼层
请教一下,我的小米路由4刷了breed后,刷任何固件从TTL窗口看都是显示到一半就停住了,跟 https://www.right.com.cn/forum/thread-4001820-1-1.html 这个帖子的问题一样,这种属于闪存布局问题吗?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-24 07:57 | 显示全部楼层
不错的教学资料,感谢楼主的分享!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-26 11:57 | 显示全部楼层
最近硬改tpwvr4560g也出现引导地址错误,但是使用wget指令下载不实用。还是使用BREED平台推送固件,第二次重启的时候使用Telnet进行修改启动地址。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-26 11:58 | 显示全部楼层
如果刷完breed可以进平台,但是刷系统后进不去。那基本就是启动地址固化引起。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-11-30 19:44 来自手机 | 显示全部楼层
请问怎么解决么 我ac2100刷完open就进不去   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-11-30 19:44 来自手机 | 显示全部楼层
请问怎么解决么 我ac2100刷完open就进不去   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-11-30 19:44 来自手机 | 显示全部楼层
请问怎么解决么 我ac2100刷完open就进不去   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-11-30 19:44 来自手机 | 显示全部楼层
请问怎么解决么 我ac2100刷完open就进不去   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-11-30 19:44 来自手机 | 显示全部楼层
请问怎么解决么 我ac2100刷完open就进不去   0
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-12-8 20:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表