找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 10935|回复: 2

『转贴』openwrt 的故障恢复

[复制链接]
发表于 2007-7-28 10:32 | 显示全部楼层 |阅读模式
openwrt 的故障恢复
这里是我个人的一点心得,关于故障恢复官方文档,参见
http://wiki.openwrt.org/OpenWrtDocs/Troubleshooting

1. 几种故障恢复的方法
openwrt的故障恢复可以算是有四种方法,分别是安全模式,重置nvram,重新上传firmware,JTAG.这
四种方法份量由轻到重,不到不得已还是不要请重量级选手出场啦.

遇到了问题,先根据症状,自己最后对openwrt做过哪些更改等情况,选择合适的方法来恢复故障。如果
确实对症状不了解,或是记不清自己做了哪些更改搞坏了我的wrt,那么将wrt的状况描述清楚,去
forum.openwrt.org上面问一下吧(这个很有用),看看大家建议你怎么恢复故障。如果没有人回答

(注意你的提问方法哦,这个很关键的),那只好由轻到重让几种方法依次登场了。 我的实验都是在linksys wrt54G v4上进行的,请留意硬件的差异。我也会尽量说明硬件上的差异的。

2.安全模式(failsafe mode)
为什么说这个是轻量级呢?这个模式就好像windows的安全模式,或者linux的单人维护模式一样,这个方
法所做的更改都是可逆的(一定要记录你所做的更改哦),不会对wrt造成不可挽回的伤害,所以如果不知道
怎么办时,先试试这个咚咚吧!

tips:进入安全模式可能会更改你的mac地址

2.1.怎样进入安全模式
对于linksys的wrt,正常开机情况是dmz灭,power灯闪烁二至三秒,dmz灯亮。想要进入安全模式,就
在dmz亮起的那一刻,按住reset键两到三秒(多按一会也可以),看到dmz灯开始闪烁,大概频率是每秒闪
三下,这样就进入了安全模式。

对于其他的router,是插上power后两秒钟,按下reset 10到15秒。如果你想更精确的了解进入
failsafe mode时openwrt到底在做什么,用叫做recvudp的东西吧,我没用过,就不乱讲了。。。参看
一下官方文档吧。

2.2.在安全模式下能做些什么?
进入安全模式后,ip地址会被设为默认的192.168.1.1,没有密码,所以telnet登录上去吧,看看有什么
设置是不合理的。可以更改nvram的设置,或者更改软件设置,实在搞不懂,就新传一个fireware上去吧
.我一开始很多原理不懂,干脆都给他重置了。。。

2.3.重置nvram
如果还可以登录到wrt上,那输入以下命令就可以将nvram重置:

mtd -r erase nvram如果wrt已经登录不上了,那可以按reset键重置nvram(linksys)。上面说进入安全模式,要在开机时
dmz刚一亮起的时刻按下reset,如果dmz还没亮起,power还刚开始闪,就按下reset,则会刷新nvram到
default了。按照我的经验,最好先按住reset,再接通电源,两三秒后,也就是dmz灯还没亮,就松开
reset,这样nvram就会被重置了。

重置nvram,很多东西还要再重新配置,很麻烦,而且官方网站上说:Resetting NVRAM this way will actually cause more problems than it solves. For example, Asus WL-500g and the Motorola WR850G bootloader will not recreate default values and will not boot properly after being reset. If you do this on a Siemens SE505 V1, your router will not be accessible to you anymore! You will have to reflash it with the stock firmware on ip address 192.168.1.1 (NOT 192.168.2.1 as the installation procedure says!!) 貌似要引起很严重的问题。所以nvram的设置,自己最好做点记录。重置前先分析是不是nvram出了问题,自己最后一次登录上去改了nvram的什么设置?不要轻易出手阿!

3.重新上传firmware
如果是firmware出问题,那就要换一个firmware给他装上去了。

如果boot_wait=on,那么就像第一次上传firmware那样,用tftp传上去好了。多数情况是boot_wait=
off了,tftp也不行,登录更不可能了,怎么办呢?这时候重量级方法该出场了,那就是短接管脚。通过
短接管脚,我们可以将新的firmware上传到wrt上去。记得以前官方文档上讲过短接管脚(short pins),
但是现在的文档好像去掉了?用这个方法可以解决一些问题的,当然也有一定的危险性。官方文档上讲了
设置CFE的方法,我没有试过噢...

短接管脚其实很简单,不过要打开wrt的外壳,总觉得有点危险了。打开外壳后,找到那块intel的flash
芯片。对于wrt54g version 2.2–version4.0,应该短接 flash 的16、17脚,其它的router,我没
有接触过。参考官方网站吧。用个小刀之类的器具,要确保它的导电性良好。现在pc主机端准备好tftp命
令,就像第一次上传firmware那样,然后接好16.17脚,再接power,应该看到power灯快闪,dmz慢闪(
慢的好像不能称之为“闪”),松开短接的工具,执行pc端已经准备好的tftp命令,应该可以看到这样的
信息: Transfer successful: 1537024 bytes in 6 seconds, 256170 bytes/s 如果不行,多试几次吧。还有一件事情比较重要,一般芯片上应该有个圆点标志第一管脚,以此为准确定
管脚位置。可是这块芯片的管脚却是标在电路板上的,1.24.25.48四个管脚都标清楚了,看清楚16.17在
哪里,再短接,接错了可就麻烦了!

4.JATG
截止到上面,一般问题都应该可以解决了。自制JTAG线,比较麻烦了。虽然做过一次,但是其中的原理,
我也不太懂。关键是linksys wrt54G v4.0好像变化比较大。比较全的文档可以去这里下载: http://downloads.openwrt.org/uti ... ick_Utility_v45.zip 我用JTAG刷过v2.2,但是4.0的硬件结构发生了一些变化,参考上面这个包里的文档。

JTAG线的制作参见:HairyDairyMaid_WRT54G_v2_DeBrick_Guide.pdf,需要注意的是,制作这根线
时,要看好db25口的引脚,一般的口上都是标着的,一定搞清楚文中那张图db25口的前后方向,不要颠倒
了。硬件照着这篇文章,很好做,只要一点电工的基础就行。刷CFE的时候,可以在windows下,也可以在
linux下。还需要几个软件,也包括在上面那个压缩包里了,windows下分别是wrt54g.exe、
loaddrv.exe、和giveio.sys。先用loaddrv.exe 来load giveio.sys,然后运行wrt54g.exe,看他
的说明(这个网页上有:http://www.wlan-skynet.de/docs/o ... atentransfer2.shtml),你所要做的就是两个指令:备份cfe,再刷上去新的cfe(用JTAG刷nvram或
者kernel需要很长时间),新的cfe可以从skynet repair kit生成(去这里下载http://www.wlan-skynet.de/download/index.shtml,这个软件安装后要升级、重启才行)。刷完以后再重启,就可以
了。

Cody有一篇关于JTAG的文章,可以参考他的。
发表于 2009-10-21 00:34 | 显示全部楼层
思考了,正在尝试openwrt中!
发表于 2009-11-4 17:13 | 显示全部楼层
好!思考ing
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-5 10:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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