手把手玩转 RTL960x 光猫 SFP:5 个里程碑彻底掌控你的 GPON 设备
2026/9/1 9:54:07 网站建设 项目流程

手把手玩转 RTL960x 光猫 SFP:5 个里程碑彻底掌控你的 GPON 设备

【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x

RTL960x 是一个面向 Realtek 芯片 xPON 光猫设备的开源逆向工程项目,核心目标是帮你摆脱运营商原厂固件的封闭限制,自由配置光猫的身份信息、VLAN 与 OMCI 协议参数,甚至解锁 2.5G 网络性能。简单说,它让一枚几十元的 GPON SFP 模块,变成完全听你指挥的"可编程光猫"。本文用 5 个里程碑带你从零上手,全程避坑。

换上 RTL960x 方案后,你能在 Web 界面实时看到 CPU、内存、运行时间与 LAN 配置,而原厂固件通常只给你一个简陋的登录页。


为什么你手里的运营商光猫需要"越狱"?

先看一个很常见的场景:你办了 1000M 甚至 2000M 宽带,但运营商送的 GPON 光猫只有一个千兆 LAN 口,测速死活跑不满;光猫默认开了路由模式,拨号、防火墙全被锁死,你想桥接到自己的软路由或高端路由器,连个设置入口都找不到。

这些问题背后的根源是同一个:原厂固件不为你服务,只为运营商服务。它按运营商的模板刻死了设备身份、VLAN 映射、认证方式,把高级配置全部隐藏。

RTL960x 项目的思路截然不同:它不要求你改造运营商设备,而是提供一套完整的"克隆 + 替换"方案——把你原光猫的认证身份抄下来,写入一枚 RTL960x 芯片的 SFP 光模块,然后把这枚模块直接插进你自己的路由器、交换机或软路由的 SFP 口。光模块在运营商侧"伪装"成你的原光猫,在网络侧又完全听你指挥。

对比维度运营商原厂光猫RTL960x 开源方案
管理权限关键参数锁定全部 flash 变量可读可写
网络模式多为路由模式桥接 / 路由 / 混合任选
接口速率常见 1G 封顶支持 2.5G 模式(部分型号)
设备身份出厂写死可克隆任意 ONU 身份
升级维护等运营商推送社区持续维护固件

⚠️ 写在前面:改装后的光猫处于运营商管控之外,配置失误可能影响同一条光纤分光器上的其他用户,甚至触发运营商封禁。务必只在自己的线路上谨慎实验,本项目倡导的是"负责任地折腾"。


里程碑 1:认清你的硬件,选对固件

动手之前,先搞清楚一件事:RTL960x 不是一台设备,而是一个芯片家族。项目主要支持以下基于 RTL9601 系列芯片的 SFP 光模块:

型号芯片存储支持模式2.5G 支持4 端口模拟
VSOL V2801FRTL9601CI8MiBVEIP & PPTP需改造
T&W TWCGPON657RTL9601CI16MiBVEIP & PPTP需改造
UFiber InstantRTL9601CI8MiBPPTP
ODI DFP-34X-2C2RTL9601D8MiBVEIP & PPTP✅ 原生稳定部分

两个容易踩坑的点:

  1. DFP-34X-2C2 有两个版本:早期有 ZTE 芯片的版本,后期才是 Realtek RTL9601D。两版固件完全不通用,买之前先确认芯片。
  2. TWCGPON657 与 V2801F 固件可互换(同属 RTL9601CI),这是社区实测结论,但其他型号之间不要乱刷。

选好硬件后,你还需要了解两个协议术语,后面配置会反复遇到:

  • PPTP(物理路径终止点):光模块把业务直接绑定到某个 LAN 口,VLAN 由 OLT 管理。
  • VEIP(虚拟以太网接口点):相当于一个虚拟接口,固件可以把它分配给 LAN 口、路由模式或管理通道。

大多数固件会优先走 PPTP,VEIP 作为补充。如果你的运营商在 ONT 上强制启用 ME 148(强制 PPPoE 拨号),可能无法直接桥接,需要联系运营商处理。


里程碑 2:先备份原光猫,再动新设备

这是整条路线上最不该跳过的一步。RTL960x 能否成功认证,取决于你能不能从原光猫那里"抄"来一整套身份参数。抄之前,先记录原始值,这是你的后悔药。

通过 Telnet 或 SSH 登录光模块后,执行下面的命令把原始配置全部打印出来存档:

# 备份原始身份参数,逐条执行并保存输出 flash get PON_VENDOR_ID # 厂商 ID,如 HWTC flash get GPON_SN # GPON 序列号 flash get GPON_PLOAM_PASSWD # PLOAM 密码(GPON 认证用) flash get LOID # LOID 账号(EPON 认证用) flash get LOID_PASSWD # LOID 密码 flash get ELAN_MAC_ADDR # 设备 MAC flash get HW_HWVER # 硬件版本 flash get OMCI_SW_VER1 # 软件版本 1 flash get OMCI_SW_VER2 # 软件版本 2 flash get GPON_ONU_MODEL # 设备型号 flash get OUI # OUI 组织标识符 flash get HW_SERIAL_NO # 硬件序列号

各型号默认登录凭据速查(密码输了别慌,对照下表即可):

型号用户名密码
DFP-34X-2C2adminadmin
TWCGPON657adminsystem
UF-Instantubntubnt
V2801FadminstdONU101

TWCGPON657 的 Telnet 默认关闭,需要先访问http://192.168.1.1/bd/telnet_open.asp开启。

有些型号在修改 MAC 或硬件版本时会有鉴权锁:DFP-34X-2C2 需要生成 MAC_KEY,V2801F 需要 VS_AUTH_KEY。对应生成命令在项目文档Docs/StickSetup.md中有完整说明,遇到"改不进去"的情况先查这一项。


里程碑 3:克隆身份并部署固件

第一步:把原光猫的"身份证"写进新模块

运营商 OLT 认设备靠的就是一组身份参数。你需要在新的光模块里逐项写入原光猫的值。以模拟一台华为 HG8240H 为例:

# 写入 GPON 认证信息(GPON 网络核心是序列号 + PLOAM 密码) flash set GPON_SN HWTC35000000 # 序列号前 4 位必须等于厂商 ID flash set GPON_PLOAM_PASSWD DEFAULT012 # 写入 OMCI 上报的设备身份(OLT 据此下发配置模板) flash set PON_VENDOR_ID HWTC flash set GPON_ONU_MODEL HG8240H flash set HW_HWVER BF9.A flash set OMCI_SW_VER1 V3R017C10S100 flash set OMCI_SW_VER2 V3R017C10S100 flash set ELAN_MAC_ADDR 781735000000 # 兼容性开关:对不认识的 OMCI 消息一律回 OK flash set OMCI_FAKE_OK 1 # 以华为 OLT 兼容模式运行 flash set OMCI_OLT_MODE 1

三条经验帮你少走弯路:

  1. 厂商 ID 与序列号前缀必须一致,否则 OLT 直接拒绝注册。
  2. GPON 走 GEM 帧封装,不依赖 MAC,如果你的 ISP 把业务绑在 MAC 上,改的是路由器 WAN 口 MAC,而不是光模块的。
  3. 所有flash set都要重启才生效,所以把所有参数写完后统一执行reboot

第二步:通过 Web 界面上传固件

RTL960x 的 Web 管理界面支持直接升级固件包(.tar格式),整个过程和刷路由器一样直观:

固件升级页支持选择 .tar 固件包一键升级,升级过程中务必保证不断电。

进入http://192.168.1.1登录后,依次完成:设备状态检查 → 上传固件 → 重启。升级完成后,重新登录检查设备状态页,确认固件版本已经变化。

OMCI 信息页集中管理厂商 ID、软件版本、目标 OLT 模式等关键参数,改完点 Apply Changes 即可。

第三步:接线验证

把光模块插入路由器/交换机的 SFP 口,接上光纤,然后用 Telnet 检查 PON 状态:

# 查看 PON 状态,O5 表示已进入正常工作态 pon show # 查看 OLT 下发的 OMCI 配置 omci show

看到 O5 只代表"链路通了",真正的业务配置(VLAN 等)还要靠下一步调优。


里程碑 4:调出满速——2.5G 模式与 VLAN 配置

2.5G:一个命令解锁线速

RTL960x 有 3 种 2.5G 模式,对应不同的物理层协商方式:

命令介质说明
flash set LAN_SDS_MODE 4HiSGMII PHY走 2.5G 物理层收发器
flash set LAN_SDS_MODE 5HiSGMII MAC走 2.5G MAC 层
flash set LAN_SDS_MODE 62500Base-X光模块之间直连(MikroTik 常用)

MikroTik RB5009 / CRS3xx 系列普遍用LAN_SDS_MODE 6配合 RouterOS 的 2.5G base-X;部分设备(如 CCR2116)则需要LAN_SDS_MODE 4对照项目文档里的设备兼容表选值,比盲目试错高效得多。顺便说一句,很多"速度不达标"的问题根源是千兆口被跑满导致缓冲膨胀(bufferbloat),换 2.5G 模式后这类问题会明显缓解。

![2.5G网络速度测试结果](https://raw.gitcode.com/gh_mirrors/rt/RTL960x/raw/c73115c07fbb2ab892a2d63076a1756292f63218/Docs/Images/2.5G Internet Speed Test Unifi.jpg?utm_source=gitcode_repo_files)

社区用户实测:在 TM Unifi 网络下,RTL960x 光模块跑出了接近 1.9Gbps 的下载速度,突破了千兆瓶颈。

VLAN:三种模式对应三种玩法

VLAN 配置是整个方案里最灵活、也最容易翻车的部分。项目把 VLAN 处理方式抽象成 4 种模式:

模式行为适用场景
Transparent(透传)VLAN 原样透传,不改变 ID运营商不强制改标签
Tagging(打标)去掉外层 VLAN 再桥接(Q-in-Q)需要重新打标的线路
Remote Access远程管理通道需要远程维护
Special Case特殊场景处理特定运营商定制需求

通过 Web 界面配置最省心:Advanced → VLAN Settings里选 Auto(自动识别)或 Manual(手动指定模式与 VLAN ID)。

VLAN 设置页支持自动/手动模式切换,并细分四种处理模式,VLAN ID 范围 0–4095。

典型的多 ISP 场景:单根光纤承载多家运营商业务,原光猫用 PPTP 把不同 LAN 口绑给不同 ISP。换成 SFP 光模块后,通过修改 Forwarding Operation(FwdOp)和 ME 84/171 配置,就能让模块在任意 LAN 口正确桥接不同运营商的 VLAN。

![多ISP端口VLAN配置示意](https://raw.gitcode.com/gh_mirrors/rt/RTL960x/raw/c73115c07fbb2ab892a2d63076a1756292f63218/Docs/Images/Ports Provisioning Multiple ISP.png?utm_source=gitcode_repo_files)

多运营商共享一根光纤的场景:不同 LAN 口绑定不同 ISP 的 VLAN,RTL960x 通过 ME 84/171 配置实现端口级 VLAN 桥接。

OMCI:和 OLT 打交道的"翻译官"

OMCI 是光猫与 OLT 之间的管理协议。OMCI_OLT_MODE决定光模块以哪种厂商风格与 OLT 对话:

含义
0默认 Realtek 配置
1华为 OLT 兼容模式
2中兴 OLT 兼容模式
3自定义模式(手动指定软硬件版本等)

另外两个高频开关值得记住:OMCI_FAKE_OK 1让模块对不认识的 OMCI 消息一律回 OK(模拟厂商 ONU 时常用);OMCI_TM_OPT控制 OLT 的带宽管理模式,速度异常偏慢时可以试着改成 0 或 1。


里程碑 5:避坑清单——新手最常见的 5 个翻车点

坑 1:O2–O5 循环跳,连不上

  • 症状:PON 状态在 O2 和 O5 之间反复横跳。
  • 原因:接收光功率过低(低于 -23dBm),或认证信息不匹配。
  • 解决:先清洁光纤接头再测pon show的光功率;同时逐项核对序列号、PLOAM 密码与厂商 ID。

坑 2:显示 O5 却上不了网(Fake O5)

  • 症状:状态已是 O5,但拿不到任何 VLAN 配置(ME 84/171 为空)。
  • 原因:部分 Nokia/Fiberhome OLT 对不认识的设备会"假放行",OLT Vendor ID 常显示02020202
  • 解决:重新核对全部身份参数;若仍无效,OLT 可能要求厂商私有 ME(350–399),需要按 ISP 要求补充配置。

坑 3:SFU 固件 VLAN 对不上

  • 症状:PON 侧和 ETH 侧的 VLAN ID 不一致(如 100 被映射成 10)。
  • 原因:不少 ISP 在 PON 接口和以太网接口采用不同的 VLAN 映射。
  • 解决:用omcicli mib get 84查看 OLT 实际下发的 VLAN,再对照修改本机映射。

坑 4:改 MAC / 硬件版本被拒绝

  • 症状flash set ELAN_MAC_ADDR提示失败。
  • 原因:新固件有鉴权锁。DFP-34X-2C2 要求 MAC_KEY,V2801F 要求 VS_AUTH_KEY。
  • 解决:按Docs/StickSetup.md里的算法生成对应 key 后先写入再改 MAC。

坑 5:刷错固件变砖

  • 症状:升级后设备无法启动。
  • 原因:不同芯片(RTL9601CI vs RTL9601D)固件不通用,ZTE 版 DFP 误刷 Realtek 固件也会出问题。
  • 解决:刷前确认芯片型号;固件包放Firmware/目录下按型号取用。真变砖了,可参考Tools/emulator与 UART 文档尝试救砖。

项目结构速览:东西都在哪里

目录内容什么时候用
Docs/全部操作文档(StickSetup、TroubleshootSetup、2.5Gb 等)动手前先读
Firmware/各型号官方固件包(.tar)刷机时取用
Firmware_Mod/社区修改版固件(Web 界面、脚本、证书)想用增强版 Web 界面时
Firmware_Router/部分路由器厂商的 2.5G 调试固件路由器侧配合调优
Tools/固件模拟器、重置脚本、抓包工具调试与救砖

想进一步深入,按这个顺序读文档最顺:Docs/StickSetup.md(部署全流程)→Docs/FLASH_GETSET_INFO.md(每个 flash 变量的含义)→Docs/TroubleshootSetup.md(问题排查)→Docs/2.5Gb.md(2.5G 设备兼容矩阵)。

给新手的四条行动建议

  1. 先备份再折腾:原光猫的每一个身份参数都值得存档,这是你回退和排障的底气。
  2. 一次只改一个变量:改一项、重启、验证,再改下一项,出问题能立刻定位。
  3. 优先用 Web 界面:VLAN、OMCI、固件升级在图形界面里更直观,Telnet 留给进阶调试。
  4. 从社区案例找参照:项目文档里记录了多国运营商的成功案例(TM Unifi、Orange、Hinet 等),先看有没有和你同运营商的先行者。

下一步该做什么?如果你手上正好有一枚 RTL960x 光模块,现在就去翻出原光猫,执行里程碑 2 的备份命令,把身份参数抄下来——这是整个改造唯一无法事后补救的环节。抄完身份、选好固件,你就已经走完了 80% 的路。

进阶玩家可以继续探索三条延展路线:一是用Tools/emulator在电脑上模拟固件环境,改 Web 页面零风险;二是研究Firmware_Mod里的社区补丁(如针对 Fake O5 的 OLT 信息增强页),定制你自己的管理界面;三是为设备接入 Grafana / Prometheus 遥测,把光功率、温度、流量变成可视化仪表盘。折腾有度、安全第一,祝你顺利跑满那根光纤。

【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询