2009年11月10日星期二

tftp烧写openwrt固件

环境:

硬件:
asus wl-500 gp v2

平台:
broadcom 5354 rev 2@240MHz

tftp是最原始的烧写方法,也是最可靠的烧写方法,具体步骤如下:
1、将主机和路由器正确连接,且保证主机和路由器ip设置在同一网段。
2、拔掉路由器电源。
3、打开主机上的tftp客户端,设置正确的tftp server的ip地址,一般为192.168.1.1,设置模式为binary或octet,且让客户端一直重发文件,直至发送成功。
如果在命令行下,
tftp -i 192.168.1.1 put FirmwareFilename.trx
4、打开主机console,让其一直ping路由器。
Windows下:ping 192.168.1.1 -t
Linux/Unix下:ping 192.168.1.1
5、接上路由器电源,看到第一个ping通回应,put固件文件,console下即为执行tftp命令。
6、等待持续ping通,说明路由器系统已稳定运行,telnet 192.168.1.1,正常。

tftp烧写固件涉及到soho路由器的启动。

以下是将路由器电源拔掉,再接上,到路由器正常运行的全过程。

C:\Documents and Settings\Administrator>ping 192.168.1.1 -t

Pinging 192.168.1.1 with 32 bytes of data:

Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Request timed out.
Reply from 192.168.1.1: bytes=32 time=1ms TTL=100
Reply from 192.168.1.1: bytes=32 time<1ms TTL=100
Reply from 192.168.1.1: bytes=32 time<1ms TTL=100
Reply from 192.168.1.1: bytes=32 time<1ms TTL=100
Reply from 192.168.1.1: bytes=32 time=1ms TTL=100
Request timed out.
Request timed out.
Reply from 192.168.1.1: bytes=32 time=4ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.1.1: bytes=32 time=7ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64

路由器操作系统正常的ttl为64,而boot tftp server的ttl值为100,这样的ping响应只有5个,之后,bootloader就开始引导flash中的固件,直至系统正常运行。通过tftp烧写固件就是使用的这5个ping的时间,所以要抓住时机。

bootloader使用的ip地址不是nvram存储的固件系统的ip地址,该地址是路由器出厂缺省ip地址,一般为192.168.1.1。

标签:


评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]