前言

去年升级FTTR之后,联通送的华为F50尊享版(v271-20)性能还不错,但由于无法改桥接就一直闲置,换了中兴F7005TV3烽火5582A,抽空看看能否把这个送的光猫也破解一下改桥接,反正就算砖了也没关系。在恩山论坛看到一篇详细教程(默认固件无超级管理员权限,退而求其次刷公版固件:关于华为 R23 光猫补全改公版),就实践了一下,在此首先感谢恩山大神 YuZu1112,以下为转载内容(龙虾AI辅助创作):

本教程适用于需要修改定制信息为 CHINA+COMMON 的设备。如果你的设备无需修改为 CHINA+COMMON,那么你的光猫华为界面为全功能,可能不需要这个教程。

准备工作

开始前需要准备:

  • 光猫
  • RJ45 网线一条
  • Windows 10/11 电脑一台(带 RJ 网口)
  • 软件:ONT_V100R002C00SPC253.exe
  • 软件:HW Dream2.exe
  • 软件:TFTP64/32
  • 文件:R23 改华为 shell

注意:使用过程中请保证 TFTP 软件和 ONT_V100R002C00SPC253.exe 被防火墙放行。

步骤一:补全 Shell

  1. 使用 RJ45 网线连接电脑和光猫 LAN 口,启动光猫
  2. 待电脑获取到光猫分配的 IP 后(且光猫启动未超过五分钟),打开 ONT_V100R002C00SPC253.exe
  3. 点击”维修使能”,本地网口选择光猫分配给电脑的 IP,点击”启动”
  4. 此时光猫的所有 LED 会开始闪烁,中途软件会提示失败,无需理会
  5. 等待光猫的所有 LED 灯不再闪烁(常亮或常灭)时,点击 ONT_V100R002C00SPC253.exe 的”暂停”
  6. 光猫断电重启,然后选择”升级”,记得选中光猫分配给电脑的 IP
  7. 升级文件选中”R23 改华为 shell”,点击”升级”
  8. 此时光猫的所有 LED 会开始闪烁,中途软件会提示失败,无需理会
  9. 等待光猫的所有 LED 灯不再闪烁时,点击”暂停”
  10. 断电重启光猫

步骤二:修改 hw_boardinfo

  1. 进入控制面板,设置连接光猫网口的 IP 为静态 IP:192.168.100.X(X 可以是 2-254 的任意值)
  2. 子网掩码设置为 255.255.255.0
  3. 如果需要设置网关和 DNS:网关 192.168.100.1,DNS 114.114.114.114 / 8.8.8.8

使用 Windows 终端,Telnet 连接光猫:

1
2
3
4
5
6
7
8
telnet 192.168.100.1
root
# 输入密码不显示,输入完成后按回车即可
admin
shell
cd /mnt/jffs2
# 上传 hw_boardinfo 到电脑
tftp -pl hw_boardinfo 192.168.100.X

使用 HW Dream2.exe 打开 hw_boardinfo,修改以下值:

修改前:

1
2
obj.id = "0x0000001b" ; obj.value = "COMMON";
obj.id = "0x00000031" ; obj.value = "NOCHOOSE";

修改后:

1
2
obj.id = "0x0000001b" ; obj.value = "CHINA";
obj.id = "0x00000031" ; obj.value = "COMMON";

修改完成后点击”计算”,另存为其他名字(建议 hw_boardinfo_new)。

通过 TFTP 上传恢复:

1
2
3
4
5
6
7
8
# 上传修改好的 hw_boardinfo
tftp -g -r hw_boardinfo_new -l hw_boardinfo 192.168.100.X
# 备份原文件
tftp -g -r hw_boardinfo -l hw_boardinfo.bak 192.168.100.X
# 关闭装备模式
EquipMode.sh off
# 重启
reboot

此时公版已经修改好了:

  • 默认后台地址:192.168.100.1
  • 默认普通密码:root/admin
  • 超级密码:telecomadmin/admintelecom

注意:此方法修改公版和 restorehwmode.sh 效果一样。修改后所有网口的 DHCP 都是关闭的,如果需要启用请自行去二/三层口配置勾选所有网口。

步骤三:添加公版菜单功能

如果你刷完 R23 改华为 shell 或者 R21 改 CHINA 升级到 R22,可能会发现没有 telnetadmin 密码修改、IPv6 防火墙、IPv6 端口转发等功能。接下来就是用于添加这些功能。

准备文件

你需要准备以下文件(可以自己创建,也可以用论坛里别人分享的):

  • hw_hardinfo_spec
  • hw_hardinfo_feature
  • hw_default_ctree.xml(可选,用于固定 WiFi 密码和提供近端 Linkhome 地址)

操作流程

  1. 启用装备模式:

    1
    2
    3
    4
    5
    su
    shell
    EquipMode.sh on
    exit
    reset
  2. 等待光猫重启完毕后,Telnet 重新连接

  3. 下载参考文件(如果有的话):

    1
    2
    3
    4
    5
    shell
    cd /mnt/jffs2
    ls
    # 如果里面有 hw_hardinfo_feature,下载做参考文件
    tftp -pl hw_hardinfo_feature 192.168.100.X
  4. 上传修改好的文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # hw_hardinfo_feature 和 hw_hardinfo_spec 必须上传两份
    # 一份原始文件,一份备份,否则会被覆盖
    tftp -g -r hw_hardinfo_feature -l hw_hardinfo_feature 192.168.100.X
    tftp -g -r hw_hardinfo_feature -l hw_hardinfo_feature.bak 192.168.100.X
    tftp -g -r hw_hardinfo_spec -l hw_hardinfo_spec 192.168.100.X
    tftp -g -r hw_hardinfo_spec -l hw_hardinfo_spec.bak 192.168.100.X

    # 可选步骤:上传默认配置
    tftp -g -l hw_default_ctree.xml 192.168.100.X
  5. 关闭装备模式,重启光猫:

    1
    2
    EquipMode.sh off
    reboot

文件内容参考

hw_hardinfo_spec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
spec.include="spec_china_base.cfg"
spec.name = "SSMP_SPEC_CLI_USERGRP" spec.type="uint" spec.value="0x00004000"
spec.name = "SSMP_SPEC_CLI_REMOTETELNET" spec.type="uint" spec.value="1"
spec.name = "SSMP_SPEC_CLI_REDLINEVERSION" spec.type="uint" spec.value="1"
spec.name = "SSMP_SPEC_WEB_FRAME" spec.type="string" spec.value="frame_xgpon"
spec.name = "SSMP_SPEC_WEB_MENUXML" spec.type="string" spec.value="MenuSmartChina.xml"
spec.name = "SSMP_SPEC_WEB_LANGUAGE_SET" spec.type="string" spec.value="chinese"
spec.name = "SSMP_SPEC_WEB_LANGUAGE" spec.type="string" spec.value="chinese"
spec.name = "SSMP_SPEC_WEB_PWDENCRYPT" spec.type="uint" spec.value="3"
spec.name = "BBSP_SPEC_FWD_SESSIONNUM" spec.type="uint" spec.value="60000"
spec.name = "BBSP_SPEC_USR_CFG_ROUTE_MAXNUM" spec.type="uint" spec.value="1500"
spec.name = "SSMP_SPEC_PLUGIN_APILIST" spec.type="string" spec.value="plugin_api"
spec.name = "OSGI_SPEC_SYSBUNDLE_LIST" spec.type="string" spec.value="/etc/wap/customize/plugin_sys"
spec.name = "OSGI_SPEC_SECURITY_CFG" spec.type="string" spec.value="/etc/wap/customize/cpa.txt"
spec.name = "OSGI_SPEC_FORBID_PREBUNDLE_LIST" spec.type="string" spec.value="/etc/wap/customize/plugin_pre"

hw_hardinfo_feature

1
2
3
4
5
6
feature.name = "AMP_FT_WIFI_PWD_SHOW" feature.enable="1"
feature.name = "FT_WEB_MODIFY_USER_PWD" feature.enable="1"
feature.name = "FT_WEB_RESET_USER_PWD" feature.enable="1"
feature.name = "HW_SSMP_WEB_MODIFY_ADMIN_PWD" feature.enable="1"
feature.name = "FT_PON_UPPORT_CONFIG" feature.enable="1"
feature.name = "BBSP_FT_IPV6_PORTMAPPING" feature.enable="1"

常用命令解释

  • R24 装备文件启停

    • 启用:EquipMode.sh on
    • 停用:EquipMode.sh off
  • TFTP 命令

    • 上传:tftp -pl 本地文件名 远端文件名
    • 下载:tftp -g -r 远端文件名 -l 本地文件名
  • Telnet 重启命令reset

  • Shell 重启命令reboot

  • 恢复出厂restore manufactory

注意事项

  1. R23 及以上使用 R24 装备模式补全的设备,在启用装备模式的情况下直接 shell 进入的才是全功能,su 后进入 shell 命令不全
  2. R23 及以上使用 R24 装备模式补全的设备,在装备模式未启用的情况下,只有 su 才可以进入 shell
  3. 无论任何版本,启用装备模式都是无法进入 web 的,这不是变砖了,只要你还能使用 Telnet 连接设备
  4. 如果你使用的是 B866 的企业设备,本教程基本于你无用
  5. 本教程涉及到文件传输,即 TFTP 命令,如果提示超时,检查一下你的 Windows 防火墙是否放行了 TFTP 的软件

总结

通过这个教程,你可以将华为光猫从运营商定制版修改为公版,并补全所有菜单功能。主要涉及修改 hw_boardinfohw_hardinfo_spechw_hardinfo_feature 等文件。

修改后你可以获得:

  • 完整的 Web 管理界面
  • telnetadmin 密码修改功能
  • IPv6 防火墙和端口转发
  • 上联口配置选项

参考链接