跳至主要内容

[刷机]Buffalo wz-hp-g300nh,不死的砖块

我手头一个Buffalo wz-hp-g300nh,是 @dahai0622 弄成砖了,让我刷回去,我也折腾好久了,现在写一下具体操作,最先开始的部分需要使用USB 转 TTL ,这是为了让看的人知道原理,后面的部分写只是用网线如何恢复。本文作者 @bao3 是从dd-wrt 刷成了 open-wrt ,然后又从 open-wrt 刷回官方 dd-wrt ,因此使用了大家不常用的方法。

1 路由器的TTL 定义,如下图:

其中,4是RX,3是TX,2是GND,1号位置是提供3.3v电压,请不要使用,千万空出来!使用TTL线将其接到USB转TTL的卡上。
没有的话就买一个,我当时淘宝买的,6块钱不包邮,送TTL线。成本不高,但是如果你是一个GEEK,你会发现,现实生活中有很多地方要用到USB转TTL,比如电视机顶盒,卫星大锅,路由器,arduino,raspberry pi。好了,不多说了。 

2 使用终端连接

你可以使用超级终端,也可以使用 putty的series 那个选项,或者跟我一样,选择 Xshell 的这个功能,Xshell 抓图如下






3 打开xshell 中我们刚刚设定的这个连接,然后给路由器通电,然后在xshell 中一直按 ctrl+C ,一直到看到你进入了 bufflao 的U-boot界面,类似于:

ar71xx>
ar72xx>

4 下载原厂Firmware

这一步你一定要这么做,因为网上那些教你改文件头等等方法太麻烦了,而且成功几率就跟勇气号遇到火星人那么高。


建议你找个地方保存,比如 dropbox 。

解压缩文件,可以得到一个 trx 结尾和一个 bin结尾的。 如果你用的是 openwrt ,又想从 web 页面升级,就是用 trx 那个,如果你原本就是 dd wrt 就直接使用 bin那个,也就是说,这个方法可以让你直接从 openwrt 转换成 dd wrt 官方版,不过这是题外话,我们先说用 TTL 的方法

将 bin结尾的那个文件改名为  firmware.bin ,备用。

(二选一)5  选项1 下载 tftp 软件 
 
将我们的电脑使用网线与路由器相连,电脑接在路由器第二个口(其实第三口,第四口都可以,唯独第一口不可以),并且设定我们电脑网卡的IP  192.168.11.2 , 掩码 255.255.255.0 网关:192.168.11.1 (原则上不用设置,但是不设置我的win7连接不上。。。靠,你可以不用设置哟),同时关闭windows防火墙。

下载 tftp 服务器,我使用的是 cisco tftp server (很不幸,我下载了个汉化版,担心有病毒。。。那个提心吊胆,如果你不是在深夜弄着玩意,还是去官方下载安全哦)


将 firmware.bin 放在 tftp 相同目录下。

然后回到 我们的 xshell ,直接输入 :

tftp $tmp_ram firmware.bin;

然后就看到 tftp 开始传送文件咯~~~~

选项2 直接使用 xshell 传送文件

这个适合时间多或者没有网线,必须使用串口,通过TTL发送文件的朋友,小弟这样刷过几次传递很慢,但是很稳定,截图如下 


当然这个方法,也需要你在控制台终端中敲一个命令,
 ar71xx > help 
自己找吧,对照我发的图片,你很容易会知道啥命令,只是要将文件写入 $tmp_ram 就可以,你不必关心 $tmp_ram 到底是哪一段内存,系统自己清楚。

6 回到Xshell,开始刷机

在第5步中虽然有2个选项,不同方法,不过最后都达到一个效果,那就是将 firmware.bin 传送到了 $tmp_ram 里,所以接下来,你直接在  ar71xx> 后面输入:
 
 erase $fw_eaddr; cp.b $fileaddr BE060000 $filesize; bootm BE060000;



补充:7 正常刷机

大多数朋友不会喜欢这种拆解路由器的行为,因为会希望使用 网线连接 g300nh 进行刷机,那么请注意我在上面提到的:

2)将解压后 *.bin 的文件重命名成 firmware.bin 

3)下载 tftp 软件,并将 firmware.bin 与 tftp 同一个目录

4) 修改自己的IP,关闭win防火墙,将电脑接在路由器的第二口

5) 关闭 wzr-hp-g300nh 电源,并重新启动

6)系统会自动套用 我上面给出来的那一串命令

7) 如果你没有下载我给出的这个包,但是使用了这个方法却不能刷,我告诉你,是因你的的那个文件自动下载后被检测到不符合官方要求,所以请务必使用我给出的这个包

8)为啥我确定这样做是可以的?如果你使用了我上面的 usb 转 TTL 方法,在 ar71xx> 后面输入 “ printenv ” 你就可以找到 我上面给出的命令,这就是官方默认的,很多人使用网线刷机不成功就是这个原因。

好了,我就写到这里,因为通过这个方法,你已经刷成了官方的 dd-wrt 版本,注意哟,这个版本你可以从Xshell 进入的,如果你升级到了官方最新版,就会发现官方屏蔽了 xshell 的串口调试【竖中指】

使用 buffalo 官方的好处,就是稳定!而且更好的是,reset 可以使用,几乎想好的功能官方都已经有了,没有什么理由去使用 dd-wrt 非官方版了。我建议还在使用 openwrt 并且有问题的,还是刷会官方 dd-wrt吧。

评论

此博客中的热门博文

使用StrongSwan搭建 IKEv1 IKEv2 VPN服务器

#2016-01-04 决定将本文作废,因我要另再写新版本的配置。这篇作于 2013年,而strongswan已经更新很多版本。 #本文需要有独立的VPS,如果你需要一台速度快,每月30元的左右的VPS,可以使用我的邀请注册 http://www.vultr.com/?ref=6813064 并且在注册时使用 SSDVPS 可以送 $20(或者 $10 不等)。一定要选日本线路,这个到国内延迟约40ms ~ 100ms ,一般是 80ms 左右,非常快非常稳定,一个月32元,可以和几个人合租了。 #LOG:2014-04-30 对ipsec.conf进行修改,增加了android手机的兼容,现在可以支持完整支持android 自带的VPN设置啦~~~~ #LOG:2013-0609 对ipsec.conf进行修改,加入清楚DPD代码,防止IP 地址池不正确占用 #LOG: 2013-0519 删除ipsec.conf 中多余的conn iOS一节,这本是我一年前调试用的,时间不起作用; 删除了 %default中的 rightsubnet ,如果不删除,在定义了多段IP路由的情况下会导致账号无法上网(只有一段IP没这个bug),感谢  JackWindows  ‏ @ JackWindows #LOG 2013-05-12 修正bug,原配置文件会导致一个ID不可以同时多次登陆。得蒙  @ KhaosT   指点,对  strongswan.conf 加入duplicheck.enable = no ,对 ipsec.conf 加如 uniqueids=never #完成度100% 在我们生活的周围,通常要用到很多种VPN: PPTP, L2TP/IPSec, Cisco IPSec, IKEv2, 这些不同类型的VPN覆盖了目前我们常见的所有手机或者电脑平台,比如 iOS, Blackberry OS, BB10, Android, WebOS, Windows XP, Windows Vista/7/8, Unix/Unix-like。 (*如果你正在找blackberry 翻墙方法、ios ipsec vpn、windows IKEv2 VPN、Blackberry BB10 / Z10 VPN、android VPN,建

简易 APN Proxy (APN代理)的搭建

2012年2月1日 ,新增加了一种方案,请看 《 搭建增强型代理服务器(APN Proxy) 》 2012-01-03 更新 3proxy 及 监控进程脚本,分别见 B 3) 和 曾经在twitter被封锁的时候,我在长城宽带干过一件事,那就是将twitter的请求和通讯使用SSH,让全网用户可以无阻访问,不过也因此付出了代价,略不去说了。 后来得厨神 @paveo 的创意,何不将其用在手机等移动设备上?厨神的APN现在已经很成熟并在免费有限量专供中。我今天这里写得,是如何搭建自己的APN Proxy(APN 代理),但在阅读下面内容之前,需要一个刚性要求:一台在国内的Unix-Like的主机(可以是Linux/FreeBSD/Mac Osx Server/Solaris等等)并且是公网IP地址以及在国外的VPS主机(Unix类)。这个要求可以看出成本比较高,所以我看到淘宝上已经有人开始出售APN代理了,这个可以理解。 第一部分 原理 原理图1 如上图所示,我们要实现的功能原理是,将上网请求先发送到“国内VPS”,再由“国内VPS”通过SSH隧道转送到国外,最终实现无阻上网。点击查看大图可以看出,主要配置是在“国内VPS”上,包括配置SSH -D、Squid、Privoxy或者Polipo(socks代理程序你可以选自己喜欢的)。 第二 配置 1 国外VPS 国外VPS上,你需要有一个SSH帐户,并且请注意,使用密钥方式登录你的SSH而非密码,之所以如此,是为了下一步建立长久的SSH以及断线自动重连做准备,这个很重要。关于“SSH 免密码 密钥 登录”请使用google看一下。 这里有一个小插曲,部分centos 上如果默认的话,SSH帐户会报错,大约 是adminitstatly close之类,这有可能是 openfile数目问题,可以轻松解决。我非Linux爱好者,所以是临时google,并没有记录下来,你只要记得如果遇到同样问题,5分钟之内就可以google解决。 2 国内VPS 这一节将会是我们的主战场,基本上,我将会按下面的逻辑图来进行配置,这其中会涉及很多文件的配置,需要你注意哦,最后部分我会提供部分配置文档下载,由于我使用的是FreeBSD,因此会有少量差

OCSERV 0.8.5 使用

*注1:本文不包含ocserv的编译、安装,请自行研习 *注2:本文将包含ocserv的证书认证配置,不包含pam (radius)认证 *注3:本文将包含win,mac 端的使用,移动端相对简单,不做介绍 ocserv是OpenConnect SERVer的缩写,基本上就是cisco anyyconnect的开源兼容服务器软件,好处就是这个软件使用的是SSL VPN方式,通常会用DTLS这一层,支持服务器端推送32条路由,实现国内国外按需区分路由;同时各种客户端会长连接方式,一直后台待命,省时省电。我就不废话了。 我的配置是采用了全证书的方式进行,因此不需要用户名密码,如果您要对客户端进行限制,计时方面可以采用证书有效时间;流量限制方面可以使用iptables针对IP进行限制;同时在线人数上如果是多台服务器的话,相互间无法限制(cookie/session分布于不同服务器),如果仅一台服务器话就可以在配置文件搞定。我的完全配置如下,如果你要复制配置文件可以到 这里 : #第一行用以指定认证方式,我是证书 auth = "certificate" #Added @05-10-2014 #加入这个后就可以使用occtl了 #occtl reload && occtl stop now use-occtl = true occtl-socket-file = /var/run/occtl.socket # seccomp default : true #关闭这个可以提高性能,牺牲一丁点安全,更可以避免无法启动的情况(遇到过的都知道那痛苦) use-seccomp = false # listen-host = 0.0.0.0 #最大客户端数量,根据你的服务器IP地址分配多少以及性能设置,自用的话不必很大 max-clients = 36 #这个看英文就知道意思了,你可以加以限制 max-same-clients = 4 tcp-port = 443 udp-port = 443 keepalive = 32400 dpd = 60 mobile-dpd = 1800 #故意为空 mobile-idle-timeout = deny-roaming = false