华为HG556a路由器刷写OpenWrt

HG553是华为公司为沃达丰定制的64M大内存路由器,最大支持54Mbps;

HG556a是HG553的升级版本,最大支持到300Mbps,其余参数与HG553无太大差异。
由于是华为公司的产品,加之业界通常将华为的英文简写成“HW”,所以这两款路由器又常写作“HW553”和“HW556a”,当搜索相关资料时,可以试着切换关键词进行搜索。
HG556a拥有64M Ram,16M Flash Rom,虽然并不在中国大陆地区发售,但是能通过淘宝等渠道买到。

它采用博通bcm6358芯片,openwrt的最新版本中已经加入了bcm63xx系列芯片的支持。

==========OpneWrt固件下载============
OpenWrt简称“op”,与此相对地,DD-Wrt简称“dd”,TOMATO简称“TT”。
HG556a的OpenWrt官方固件地址:OpenWrt官网 
具体的固件文件为:openwrt-HW556-squashfs-cfe.bin 

在官网下载最新的OpenWrt固件可以保证各种软件的安装不会出问题,但缺点是默认不带LUCI界面。

也就是说,使用192.168.1.1无法登录到Web图形界面。

我们也可以刷写网友自己编译的带Luci界面的版本。
3.7.9内核的版本见 网友分享的自编译OpenWrt
3.3.1内核的版本见 3.3内核的自编译版本
OpenWrt的固件通常有两种不同的格式,“trx”格式和“bin”格式,区别在于,后者会有一个附加的头部用以鉴定型号。
所以对同样采用bcm63xx系列芯片,但没有被列入支持名单的路由器,要刷写“trx”通用格式的固件。
OpenWrt固件里到底有什么东西?
以HG556a为例,在其OpenWrt系统中分别使用 cat /proc/partitions 和 cat /proc/mtd 命令后会在终端如下内容:
-------------------------------------------------
major  minor  #blocks  name
  31        0             128   mtdblock0
  31        1           1023   mtdblock1
  31        2         14592   mtdblock2
  31        3           9088   mtdblock3
  31        4             128   mtdblock4
  31        5             128   mtdblock5
  31        6         15616  mtdblock6
-------------------------------------------------------
dev:    size           erasesize  name
mtd0: 00020000 00020000 "CFE"
mtd1: 000fff00     00020000 "kernel"
mtd2: 00e40000 00020000 "rootfs"
mtd3: 008e0000 00020000 "rootfs_data"
mtd4: 00020000 00020000 "cal_data"
mtd5: 00020000 00020000 "nvram"
mtd6: 00f40000  00020000 "linux"
---------------------------------------------------------
可以看到HG556a路由器的存储被分成了7个块设备,其中最大的为mtd6,名为“linux”,这就是固件保存所在的位置。
CFE是Broadcom芯片的bootloader,Atheros芯片则是采用uboot作为bootloader;
kernel是内核,这个不用多说;
OpenWrt的根文件系统主要由两部分构成:
/rom下挂载的是基本的文件和安全模式的一些配置,使用SqashFS文件系统,是不可写的。
/overlay下挂在的是可些的内容,与 /rom 合并成 / 根目录,任何可更改的配置文件和安装包均保存在此,使用JFFS2文件系统。
linux是固件保存位置,Atheros芯片则是采用“firmware”作为固件区的名字。
===========OpenWrt固件刷写============
方法一:刷机模式强刷法
HG556a有一个刷机模式,除非你错得太离谱,把刷机模式所在的受保护的分区也搞崩了,否则在通常的固件崩溃或者刷错固件的情况下,依然可以通过进入该模式救砖,具体操作如下:
1.拔掉HG556a的电源,再按住后面的RESTASRT按键不放,再插上电源。
   通电之后也不要放手,按住大约15秒之后再放手,路由此时将会启动到刷机模式,请耐心等待。
   在等待时,请ping地址192.168.1.1,等到能ping通时,就用用浏览器登录192.168.1.1,如无意外,应该可以看到英文的刷机页面。
   如果还没有出现该页面,请耐心地刷新。
2.根据页面提示,选择能用的固件,点击“update”按钮即可,提示需要等待2分钟。之后,机器会自动重启。
   等到能再次ping通192.168.1.1了,恭喜,新固件生效了。
方法二:直接刷写法
1.使用WinSCP,把固件拷贝到路由存储中的某一目录下,如/tmp之下暂存。
2.使用命令:mtd -r write /tmp/xxx.bin linux && reboot  将固件刷写到名为“linux”的固件区并在完成后重启。
    采用Atheros芯片的路由器只需把 linux 改成 firmware 即可,其他路由器具体取决于固件所在分区的名称。
方法三:tftp模式刷写法
1.设置                                 IP    :192.168.1.5
                                   子网掩码 :255.255.255.0
                                      网关      :192.168.1.1
2.下载好openwrt固件放在/home/目录下  并做简单的重命名如rh.bin
3.开启终端1,进入/home/目录,输入命令tftp进入tftp模式(没有tftp的用apt-get install tftp命令下载好)
4.在tftp下依次输入命令verbose 
                                  binary
                                   trace
                                   rexmt 1
                                  timeout 60
                                 connect 192.168.1.1
                                 put rh.bin(此条命令先不执行,当前终端 1不关闭,且开启新的终端2)                             
 5.在终端2下ping 192.168.1.1 ,此时ttl=64。
 6.关闭路由器电源再打开电源,观察终端2。
 7.当终端2出现 ttl=100时,立即执行终端1的 put rh.bin这条命令,开始自动刷入固件。
 8.刷入固件完毕后,在终端2中重新ping 192.168.1.1。等待片刻,当能成功ping通时,即已成功刷好固件。
===============OpenWrt的初始化================
首次进入OpenWrt时会提示设置密码,为了方便使用,通常会设置成默认的admin。
对于没有LUCI界面的版本,可以通过telent进行连接。
具体做法是在终端输入 telnet 192.168.1.1
再输入 passwd 并回车,输入两遍之后即可

对于有LUCI界面的版本,直接通过在浏览器地址栏输入192.168.1.1即可进入,密码的修改也比较简单。

===============安装LUCI界面、中文语言包==============
通常有两种手段可以安装LUCI界面和中文语言包,一种是把相应的ipk安装包下载下来并用scp命令复制到路由器的存储中,然后远程登陆路由器并使用opkg命令进行安装;另一种是远程登录路由器并修改其中的某些配置,使得它可以通过其他能上网的路由器自动获取IP并连接到网络,然后在路由器中通过更新的方式,下载相应的安装包并进行安装。
安装其他ipk扩展程序的方法也类似,不过扩展ipk的安装通常是在路由器已经可以正常连接网络时,使用上述的第二种方法进行。

你可能感兴趣的:(路由器,openwrt,HW556,HG556)