在Linux下用tftp刷写路由器固件 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

在Linux下用tftp刷写路由器固件

点滴 admin 11年前 (2014-04-17) 2099次浏览 已收录 扫描二维码

(以Ubuntu和Buffalo WHR-G300N V2路由器为例)

先安装Ubuntu(如果你在Windows下,可下载Ubuntu的ISO文件,再用wubi安装Ubuntu,可免去重新分区的麻烦),下载
Buffalo WHR-G300N V2路由器的TFTP版固件文件,放到Ubuntu的/home目录下,改名rf.bin。具体的刷机方法如下:

1.在Ubuntu中,保证正常访问互联网软件源的情况下,找到并进入“terminal”(终端)界面;

2.输入“sudo apt-get update”按回车,根据提示输入管理员密码,开始更新软件包信息;
3.输入“sudo apt-get install tftp”,开始安装tftp软件包;
4.用牙签捅住路由器复位按钮10秒(如果固件不支持复位按钮,那这一步无意义);
5.拔掉路由器的电源;
6.用网线连接电脑LAN口与路由LAN口(注意不要接成蓝色的WAN口);
7.输入“sudo service network-manager stop”(适用Ubuntu 10.4或以上版本)或“sudo service networking stop”(适用Ubuntu 9.10或以前版本)命令,以关闭系统的网络管理服务;
8.输入“ifconfig”查看是哪一个网卡与路由器相连,一般为“eth0”代号的网卡;
9.输入“sudo ifconfig eth0 192.168.11.2”,强行设定“eth0”代号的网卡的IP为192.168.11.2(因为Buffalo路由器的bootloader里的默认是IP是192.168.11.1);
10.输入“sudo ifconfig eth0 netmask 255.255.255.0”,设置掩码;
11.输入“sudo arp -s 192.168.11.1 XX:XX:XX:XX:XX:XX”,“XX:XX:XX:XX:XX:XX”你Buffalo路由器的MAC地址,MAC地址在Buffalo路由器背面的标签上SSID可查到,可不输入冒号间格。
12.输入“tftp”,出现“tftp”提示符;
13.输入“verbose”,出现“Verbose mode on.”提示;
15.输入“binary”,出现“mode set to octet.”提示;
16.输入“trace”,出现“Packet tracing on.”提示;
17.输入“rexmt 1”,每格一秒尝试一次推送;
19.输入“timeout 60”,推送尝试的时间不超过60秒;
20.输入“connect 192.168.11.1”,连接路由器(实际上并没连接,只是为连接作好准备);
21.输入“put rf.bin”,会提示失败,并每格1秒就尝试一次推送;
22.接上路由器电源,路由器将启动,LED会亮起来,约10-20秒后,会显示开始推送以及传输进展,一般很快就会上传完毕,并提示推送完成和传输速度;
23.路由器开始重启,POWER和DIAG灯长亮,DIAG灯灭掉后路由器的ROUNTER灯闪烁,然后再长亮,(如果rf.bin固件里默认开启无线,那WIRELESS指示灯也会亮起来),就表示固件刷新成功;
24.输入“quit”退出tftp界面;
25.输入“sudo service network-manager start”(适用Ubuntu 10.4或以上版本)命令,或“sudo
service networking start”(适用Ubuntu 9.10或以前版本),以开启系统的网络管理服务;
26.输入“exit”退出终端界面;
27.修改好网卡的IP,即可与路由链接(如果rf.bin文件的来源于Buffalo官方,则路由IP是“192.168.11.1”,网卡IP必须是
“192.168.11.1XX”才连接,用户名为root,密码为空;如果rf.bin文件的来源于OpenWRT、Gargoyle、DD-WRT,
则路由IP是“192.168.1.1”,网卡IP必须是“192.168.1.1XX”才能连接,DD-WRT用户名和密码自定义,OpenWRT默认
无密码,Gargoyle的默认密码是“password”)。

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。