破解华为HG8346R光猫 启用有线桥接

为何破解

华为这款光猫+无线路由器一体机性价比还是挺高的,普通上网需求足够了。但是一年时间用下来,我发现这台设备有不少问题:

  1. 无线很不稳定,接入设备多或者网络流量大时,无线经常掉线重连。这一点在知乎也有人验证了,可能和光猫本身的CPU处理能力有关。
  2. 无线实时性差,带宽也不高,不支持5GHz频段。虽然理论能到300Mbps,但实际差得远呢。
  3. 联通定制版限制太多,很多设置作为普通用户无法修改,甚至连无线SSID都强制以CU_开头,日了狗。

我的所有联网设备–手机,摄像头,iPad,笔记本甚至台式机–都使用的无线接入,这么下去肯定不行。所以计划单独买一个无线路由器提高无线性能,同时让光猫单纯作为一台交换机,这样也就避免了光猫CPU性能不足导致的掉线、丢包等问题了。不过定制版无法开启WAN口桥接,只好参考别人的破解步骤来一发了。

多解释一句:WAN口桥接模式,其实就是将光猫作为交换机使用,转发二层数据帧可比路由三层IP包快多了,否则光猫的CPU依然会成为瓶颈。

准备工作

本文适用于(北京)联通定制版的华为HG8346R光纤接入终端,软件版本(可以在web管理界面找到):V3R015C10S109

另外还需要下载华为ONT维护工具包用于开启维护模式和加解密配置文件,以及tftp服务器用于备份路由器配置。可以在我的Google DriveMega网盘下载。

OSX / Linux

华为的维护工具包是Windows程序,需要安装wine模拟器:

# on OSX
brew install wine
# on Ubuntu Linux
sudo apt-get install wine

不过tftp服务器不能直接用wine模拟,所以需要单独安装。建议使用Python的开源实现,我用的TFTPy

sudo pip install TFTPy

只要三行代码就能启动一个TFTP服务器了:

import tftpy

server = tftpy.TftpServer('./tftp-dir')
server.listen('0.0.0.0', 69)

或者cd到工具包目录,sudo python tftpd.py启动tftp服务

注意,OSX用户不要使用系统自带的tftpd服务,基于tftpd的GUI版软件也不行(比如tftpserver),因为要想上传文件(put),必须更改tftpd的启动参数(-s),但OS X EI Capitan禁用了编辑服务配置文件的权限,除非重启进入Recovery模式。另外我尝试直接运行tftpd也没戏,折腾个把小时还不如3行Python代码来的简单。

Windows

工具包里带了tftpd32tftpd64程序,直接运行就可以了。

Let’s hack!

备份配置

我们假定电脑的IP是192.168.1.2,路由器IP为192.168.1.1。建议直接设置为静态IP。

  1. 确保光猫开机,光纤拔出,电脑用网线连到光猫LAN1口。
  2. 运行华为ONT组播版本配置工具.exe(OSX执行wine 华为ONT组播版本配置工具.exe,下文不再赘述)。
    选择正确的网卡(IP为192.168.1.2),其他保持默认,点击启动按钮。
  3. 开始时光猫的光信号灯红色闪烁(表示未接入光纤),耐心等待2分钟左右,如果所有灯绿色常亮了,说明成功开启了维护模式,可以停止并关闭工具了。
  4. 重启光猫,打开终端或命令行:

    telnet 192.168.1.1
    
    root #(Login用户名)
    admin #(密码)
    
  5. 确保tftp服务正常,在telnet中执行:

    backup cfg by tftp svrip 192.168.1.2 remotefile hw_ctree.xml
    

    如果命令执行成功,你设定的tftp目录下(tftp-dir)便有了hw_ctree.xml配置文件了。

  6. 运行华为光猫配置文件加解密工具.exe,输入文件选择hw_ctree.xml,输出文件设置为hw_ctree.dec.xml.gz,解密。
  7. 解压hw_ctree.dec.xml.gz(OSX:gzip -d hw_ctree.dec.xml.gz)就能得到原始的配置文件了。
  8. 编辑配置文件,将UserLevel="1"修改为UserLevel=”0″,即将user用户变更为管理员权限用户,可以看到你的登录密码也明文配置在了这里。

恢复华为出厂模式

  1. 回到telnet

    su
    shell
    restorehwmode.sh # 可以输入?查看所有可用命令
    exit
    reset
    
  2. 等待路由器重启完成(如果不成功就拔电再插电试试)。这时候光猫恢复到了出厂模式,将电脑的静态IP改为192.168.100.2,网关192.168.100.1,浏览器访问http://192.168.100.1,就可以看到华为默认的登录界面了。
  3. 用户名telecomadmin密码admintelecom登录,在系统工具栏,导出当前出厂配置留作备份,然后使用配置文件导入功能将刚才编辑过的xml配置文件(无需加密)导入即可。
  4. 重新启动光猫后,再把IP改回192.168.1.2或者直接使用DHCP,访问192.168.1.1,使用user用户登录,之前的设置就都回来了,而且你作为超级管理员可以任意修改设置。

设置WAN桥接(交换机模式)

  1. 进入WAN设置,将第二个 2_INTERNET_B_VID_3961的WAN类型改为桥接WAN
  2. 关闭WLAN等无用功能
  3. 将光猫LAN1口接到自己的无线路由器WAN口上,在无线路由器中配置PPPoE拨号即可。

宽带测速

为了用足百兆宽带,参考知乎导购网在京东249入了一台网件R6220SPEEDTEST测速,下行可以到93.28Mbps:

speedtest结果: 93.28Mbps

华为HG8346R的LAN口都是百兆网卡,除去包头和包间距的损耗,峰值也就94Mbps,这个测速足够满意了。另外联通使用单模光纤入户,理论最大速率155Mbps,换千兆猫意义也并不大,所以就这么用着吧。

Table of Contents