找回密码
 注册
快捷导航
查看: 14582|回复: 2

刷openwrt变砖

[复制链接] |自动提醒
阅读字号:

627

回帖

41

积分

310

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2002-7-3
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2014-3-8 02:23:50| 字数 996| - 北京市 网联光通 | 显示全部楼层 |阅读模式
最近一直在openwrt上搞开发,不停的刷flash。
一不留神,编译参数设错了,刷完后AP直接变砖。

还好的是,u-boot自带tftp,还有补救的机会。
openwrt编译的结果通常有3种:
ap-factory.bin
ap-sysupgrade.bin
ap-tftp.bin

ap-factory.bin用于将ap从厂家固件(firmware)刷成openwrt,这通常是首次刷机时用的
一旦AP已经被刷成openwrt,以后再刷时,只要使用ap-sysupgrade.bin就可以了
而ap-tftp.bin就是用于刷机失败后,通过tftp恢复的版本。

AP在启动的最初阶段(不同类型的设备时长不同,有的几秒,有的几十秒),会打开tftp服务,此后有一个很短的时间片段(通常只有很短的几秒钟),这个时间片段叫"TFTP Transfer Window".
我们可以在这个时间段内迅速的将ap-tftp.bin通过tftp刷进AP。
具体做法是:

在PC上,我的环境是debian:
arp -s ip_address mac_address
其中ip_address是AP默认的启动IP地址,mac_address是默认的MAC地址,这个一定要根据你的AP型号在openwrt网站上查清楚。
arp -s命令是为了在没有DHCP的环境时,简化数据交换的配置。
这个ip_address仅仅在AP启动最初阶段有效,一旦正式启动后续的firmware后,会变成成你在AP内平时设置的ip地址。
然后使用:
curl -T ap-tftp.bin tftp://ap_adress
很多人使用默认的tftp客户端,这个软件很难准确得把握住"TFTP Transfer Window"时间段正好开始tftp传输,错过这个时间窗口就会刷机失败。
用curl就好多了,先启动了这个curl命令后,再重启(断电/上电)AP,curl会不断尝试链接AP的tftp服务,一旦链接成功,立刻自动上传firmware,成功几率很高。

另外,在通过tftp刷机时,最好不要直接把PC用网线插到变砖的AP上,这是因为目前PC网卡大多有1000MB传输能力,刷机须要降到100MB,所以再找一个100MB的小hub,把PC和AP用网线都接到这个hub上。
当然也可以通过系统命令把PC的网口降到100MB,但没使用hub做中介来的方便。

评分

参与人数 2技术分 0 资产值 +10 收起 理由
Lzz0591 + 10
HOPE 0 精品文章

查看全部评分

T410S

2万

回帖

218

积分

4万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2009-4-18
年全勤勋章2019铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2014-3-8 04:37:13| 字数 15| - 巴西 | 显示全部楼层
HOPE太小气了,才0.2分!
回复 支持 反对

使用道具 举报

6万

回帖

455

积分

17万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2008-11-20
月全勤勋章年全勤勋章2012铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2014-3-8 08:41:22| 字数 5| - 江苏省无锡市 电信 | 显示全部楼层
技术分   +3
回复 支持 反对

使用道具 举报

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

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2024-5-1 20:27 , Processed in 0.091490 second(s), 32 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部