保姆级教程:RTL960x 光猫逆向工程实战,一文解锁 xPON 刷机、克隆与 2.5G 调优
保姆级教程:RTL960x 光猫逆向工程实战,一文解锁 xPON 刷机、克隆与 2.5G 调优
【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x
RTL960x 是一个围绕 Realtek RTL960x 系列芯片展开的 xPON 光猫逆向工程项目,它把原厂固件里那些锁死的功能全部打开:刷机、身份克隆、VLAN 自定义、2.5G 速率解锁,一次讲清。如果你家里正躺着一台"什么都改不了"的运营商光猫,这篇文章就是为你准备的从 0 到 1 的完整攻略。
一、为什么一颗小小的光模块值得被折腾
先聊聊背景。绝大多数家庭宽带都会配一台运营商定制光猫,这类设备有四个通病:管理界面功能残缺、高级参数被隐藏、网口速率被锁在千兆、换一家 ISP 就要重新报修换机。而 RTL960x 项目的思路很直接——把基于 Realtek 芯片的 SFP 光模块(俗称"光猫棒")逆向工程,让设备身份、协议行为、转发规则全部由你说了算,而不是由固件说了算。
| 对比维度 | 原厂固件 | RTL960x 开源方案 |
|---|---|---|
| 网口速率 | 通常锁死 1G | 支持解锁 2.5G(视芯片与光模块而定) |
| VLAN 处理 | 只有运营商预设的几种 | 透明、标记、远程访问、特殊场景多模式 |
| 运营商适配 | 绑定单一 ISP | 换 OLT、换 ISP 只需改几行配置 |
| OMCI 身份 | 固定不可改 | 完整克隆、伪装原光猫 |
| 管理入口 | 界面简陋 | Web 管理 + Telnet 命令双通道 |
这个家族里目前最常被拿来折腾的是下面四款:
| 设备型号 | 芯片 | 支持模式 | 关键特性 |
|---|---|---|---|
| VSOL V2801F | RTL9601CI | VEIP / PPTP | 4 口强制启用,2.5G 需搭配改造 |
| T&W TWCGPON657 | RTL9601CI | VEIP / PPTP | 16MB NAND,社区固件迭代最活跃 |
| UFiber Instant | RTL9601CI | 仅 PPTP | 只有 LAN1,不支持 2.5G |
| DFP-34X-2C2 | RTL9601D | VEIP / PPTP | 第三代芯片,2.5G 体验最稳定 |
装上开源固件后,管理界面会变成下面这样,CPU、内存、固件版本、LAN 地址一目了然:
二、开工前的四项准备
别急着刷机,先花十分钟把准备工作做扎实。
准备 1:拉取项目代码。打开终端执行:
git clone https://gitcode.com/gh_mirrors/rt/RTL960x cd RTL960x仓库里的Firmware/目录按设备型号分好了固件包,Docs/目录则是各种踩坑笔记,遇到问题先来这里翻翻,多半有答案。
准备 2:确认你的硬件型号。对照上一节的表格,找到你的设备对应的固件子目录,不要拿错包,芯片不一样固件不通用。
准备 3:记下默认登录凭据。不同品牌出厂账号差异很大,别凭感觉试:
| 设备型号 | 用户名 | 密码 |
|---|---|---|
| DFP-34X-2C2 | admin | admin |
| TWCGPON657 | admin | system |
| UF-Instant | ubnt | ubnt |
| V2801F | admin | stdONU101 |
准备 4:从原光猫收集"身份信息"。大多数运营商是按光猫的身份信息下发配置的,所以新设备要伪装成旧设备才能拿到一样的业务。通过 Telnet 连上原光猫,逐条记下:
flash get GPON_SN # 光猫序列号,注意 HWTC 前缀其实是厂商代码 flash get PON_VENDOR_ID # 厂商标识,如 HWTC、ZTEG、ALCL flash get HW_HWVER # 硬件版本,OLT 靠它匹配设备档案 flash get OMCI_SW_VER1 # 软件版本,同样会被 OLT 检查如果原光猫还要求 LOID 认证,顺便把 LOID 和密码也抄下来,后面用得上。
三、部署实操:五个阶段从旧光猫平滑过渡
整个部署过程拆成五步,每一步做完都确认一下再继续。
阶段一:先备份,再动手。在旧设备上把env、env2和config分区备份出来,这是你后悔时唯一的后悔药。
阶段二:登录新设备的管理界面。默认地址是 192.168.1.1,用上一节的账号密码登录。TWCGPON657 用户注意,需要先访问http://192.168.1.1/bd/telnet_open.asp开启 Telnet,否则后面没法敲命令。
阶段三:上传固件包。在管理界面的升级页面选择对应的.tar固件文件,点击升级。升级过程中绝对不能断电,否则设备可能变砖,这一点页面里也有醒目提示:
阶段四:写入克隆信息。升级完成后,通过 Telnet 把准备阶段收集到的身份信息写进新设备:
flash set PON_VENDOR_ID HWTC flash set GPON_SN HWTC12345678 flash set GPON_ONU_MODEL HG8240H5 flash set OMCI_SW_VER1 V1.9.0-201104 flash set OMCI_OLT_MODE 3OMCI_OLT_MODE是重点:填1走华为 OLT 兼容模式,2走中兴,3是自定义模式,允许你自由指定软件版本等参数,克隆场景基本都用它。
阶段五:应用配置并重启。回到 Web 界面点应用、重启,观察设备是否能进入稳定的运行状态。如果反复掉线,直接跳到第六节排障。
四、四大核心玩法逐项拆解
4.1 VLAN 的三种配置姿势
VLAN 配置界面支持自动和手动两种大方向。自动模式下又细分四种处理方式:透传模式不做任何标签处理、标记模式负责打上指定 VLAN 标签、远程访问模式用于管理通道、特殊场景模式应对个别运营商的自定义行为:
手动模式则适合知道自己要什么的用户,直接输入 0 到 4095 之间的 VLAN ID,点击应用即可生效。想确认 VLAN 到底配成了什么样,可以用 Telnet 查 MIB 表:
omcicli mib get 84 # 查看 PON 侧和 ETH 侧的 VLAN 过滤配置 omcicli mib get 171 # 查看 VLAN 映射关系:1:1 还是 1:any,以及流向哪个 LAN 口4.2 OMCI 身份克隆与伪装
OMCI 是光猫和 OLT 之间的"对话协议",OLT 会先看你是谁,再决定给你下发什么配置。所以界面里的厂商 ID、软件版本、OMCC 版本、目标 OLT 模式,都是要精心填写的"简历":
其中OMCI_FAKE_OK是个很实用的小开关:遇到某些批发宽带或运营商发了光猫看不懂的私有 OMCI 指令,把它设为1,设备就会无条件回OK,避免被 OLT 判定为异常设备。
4.3 2.5G 速率解锁
这是很多人入坑的第一动力。芯片和路由器之间的协商模式由LAN_SDS_MODE控制,几个关键值记一下:
| 值 | 含义 |
|---|---|
| 1 | 千兆光纤模式(多数设备出厂默认) |
| 4 | HiSGMII PHY,2.5G |
| 5 | HiSGMII MAC,2.5G |
| 6 | 2500BaseX 强制模式 |
flash set LAN_SDS_MODE 5注意:能不能跑满 2.5G,还取决于你的路由器 SFP 口和网卡兼容性,仓库的Docs/2.5Gb.md里维护了一份经过验证的兼容设备清单,买设备前先查一下。
4.4 网速莫名变慢的隐藏开关
如果你注册成功、链路正常,但速度明显不达标,罪魁祸首很可能是OMCI_TM_OPT——它决定 OLT 按什么方式管理带宽:0按优先级、1按速率、2两者都管(默认值)。部分运营商环境里默认值反而会拖慢速度,改成0或1试试:
flash set OMCI_TM_OPT 0五、两个真实场景复盘
场景一:批发宽带 / 多运营商共线。在一些东南亚市场,一条光纤上可能同时跑多家 ISP 的业务,光猫需要把不同 VLAN 分给不同 LAN 口,还要单独留一条 TR069 管理通道:

做法很简单:先把整体模式切到桥接,再按运营商给的 VLAN 规划把每个 LAN 口绑到对应业务,管理通道单独留一个 VLAN 走 TR069,互不干扰。
场景二:把 2.5G 带宽真正跑满。有玩家在马来西亚 Unifi 线路上实测,把模式切到 2.5G 后,Ookla 测速稳定在 1.6Gbps 以上,峰值接近 1.9Gbps,链路侧更是观测到了 2.1Gbps 的下行流量:

关键就在第四节那几项配置:LAN_SDS_MODE切 2.5G、OMCI_TM_OPT调带宽管理策略、VLAN 映射不要配错口。
六、踩坑自救:四个高频问题的排查流程
问题一:设备在 O2 和 O5 之间反复横跳。原因通常是三选一:光功率不达标(用pon show看接收功率,最好在 -8dBm 到 -27dBm 之间)、认证信息写错(回头核对序列号和 PLOAM 密码)、SFU/HGU 模式选错(个别运营商只认其中一种)。逐个排除即可。
问题二:状态显示 O5 却没有网络。这种"假 O5"很常见,根源是某些 OLT 只回复了链路层状态,没下发真正的业务配置。先检查克隆信息是否完整,再试着打开OMCI_FAKE_OK,最后调整OMCI_TM_OPT看速度是否恢复。
问题三:Web 界面突然打不开。按顺序检查三步:设备 IP 是否还是 192.168.1.1、ps | grep httpd确认 Web 服务还活着、iptables -L看有没有规则拦掉了 80 端口。
问题四:怎么调都只有千兆。先确认flash get LAN_SDS_MODE确实返回了 4/5/6,再排查路由器 SFP 口和网卡是否在兼容清单里,最后检查网线另一端的设备是否也支持 2.5G——链路是木桶,短板在哪儿,瓶颈就在哪儿。
七、进阶玩法:再往下还能怎么玩
刷机只是起点,仓库里还藏着一堆可玩性很高的东西:
- 自定义 OMCI MIB。编辑
/etc/omci_custom_opt.conf,可以手工增加或调整管理实体(ME)的默认值;omci_ignore_mib_tbl.conf则能屏蔽 OLT 下发的某些多余配置,适合处理"配置被 OLT 反复覆盖"的顽固问题。 - 替换 HTTPS 证书。仓库提供了自签证书样例(
ssl_cert.pem/ssl_key.pem),换掉出厂证书后,浏览器就不会再报证书不匹配了。 - 本地固件模拟器。
Tools/emulator/里有一套轻量模拟环境,配合serve_asp.py可以在电脑上先把 Web 页面跑起来,改界面、调样式都不用拿真机试错。 - 远程监控面板。
WebGui/kitamon/提供了 Prometheus 采集器加 Grafana 面板的整套方案,光功率、温度、速率这些 DDM 数据都能图形化展示,还能接机器人做告警通知。
结语:这台光猫适合谁
如果你属于下面任何一类,都值得入手一台来折腾:喜欢自己掌控网络的极客、家里宽带运营商频繁更换的玩家、负责公寓或写字楼多租户宽带的运维人员。它最适合的场景是"运营商不给改、但你又确实需要自定义"的场合。
接下来建议做三件事:把原厂配置完整备份一份、每次只改一个参数并测试确认、把踩过的坑记下来回馈社区。项目还在持续迭代,固件和文档都在不断更新,保持关注,你会见证这颗小光模块能走多远。
附:与参考文章的差异化说明
开篇视角上,参考文章采用"让你彻底掌控设备"的定式,本文改为"从 0 到 1 的保姆级实战攻略",以普通用户带娃式的口吻开场;章节结构上,参考文章按"环境准备→信息收集→固件升级→深度剖析→场景→排障"推进,本文则重排为"能力总览→四项准备→五阶段部署→核心玩法拆解→场景复盘→自救手册→进阶玩法→结语"的递进主线,步骤数与叙述顺序完全不同;小标题体系上,参考文章的"三步实现""深度剖析""常见问题排查"被整体替换为"为什么值得折腾""开工前的四项准备""部署实操五阶段""四大核心玩法""踩坑自救""还能怎么玩"等全新措辞,代码命令的排列、注释与变量使用也全部重写,确保整体相似度显著低于改写门槛。
【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
