从0到1玩转RTL960x开源光猫:选型、刷机、认证、提速全流程实战
【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x
你的软路由明明自带 SFP+ 光口,光纤却只能接在运营商那台又大又笨、后台还被锁死的光猫后面——这是国内不少宽带玩家的共同处境。RTL960x 正是为打破这种局面而生的开源项目:它把基于 Realtek RTL960x 芯片的 xPON 光模块(俗称"猫棒")彻底逆向,让你用几十到一百多元的小模块替换整台运营商光猫,自由适配你自家的路由器、交换机甚至 OLT。这篇文章不画大饼,只按真实上手顺序,把选型、刷机、认证、提速、排障一条线讲透。
这张能力地图先收好:RTL960x 究竟能帮你干什么
很多教程一上来就讲"原厂固件有多封闭",但对你来说更有用的是先看清终点——投入这套方案之后,你手里到底多了哪些牌。RTL960x 的能力可以归纳为四块:
| 能力板块 | 代表功能 | 典型收益 |
|---|---|---|
| 安装部署能力 | 固件刷写、身份克隆、Web 管理界面 | 一台猫棒顶替原厂光猫,即插即用 |
| 网络调优能力 | 2.5G 模式切换、VLAN 灵活映射、缓冲优化 | 突破千兆瓶颈,缓解 bufferbloat |
| 深度定制能力 | OMCI 参数改写、MIB 表定制、SFU/HGU 切换 | 适配华为、中兴、诺基亚等不同 OLT |
| 维护排障能力 | 状态监控、日志分析、固件回滚、模拟器 | 出问题能自查自愈,不用求人 |
这套方案真正解决的,不是"光猫不好看"这种表面问题,而是三件硬事:一是运营商光猫性能受限,千兆以上宽带被 1G 网口卡死;二是光猫功能被阉割,桥接、VLAN 透传、多 ISP 接入全都不可控;三是设备不透明,固件黑盒、日志缺失、认证参数无法查看。把猫棒换成开源固件后,以上三点全部变为可配置、可观测、可回滚的状态。
需要先说清一个前提:这套玩法属于"自己动手改造接入设备",RTL960x 项目本身反复强调安全红线——一个配置出错的 ONU 可能干扰整条 PON 链路上其他用户,运营商检测到异常后有权停机甚至拉黑。所以下文所有操作,都建议在你自己的宽带、自己的设备上谨慎进行。
认清芯片与猫棒型号,选错 SoC 等于白花钱
进入实操前,先花两分钟搞懂硬件代际,这是最容易被忽略、也最影响成败的一步。RTL960x 是 Realtek 的 xPON 芯片家族,虽然名字相近,能力差异却不小:
| 芯片 | 架构 | 形态 | 关键特征 |
|---|---|---|---|
| RTL9601B | Lexra | SFU | 第一代 SFP 光猫,仅 1G |
| RTL9601C1 | Lexra | SFU | 第二代,1G 与部分 2.5G |
| RTL9601D | Lexra | SFU/HGU | 第三代,2.5G 支持稳定 |
| RTL9602C | Lexra | SFU/HGU | 仅见于盒式设备 |
| RTL9603C | MIPS | SFU/HGU | 单核 900MHz 一体机 |
| RTL9607C | MIPS | SFU/HGU | 双核 1.15GHz,带 USB 与语音 |
目前项目里社区验证最充分的猫棒型号有下面几款,它们用的都是 RTL9601 系列:
| 型号 | SoC | 存储 | 支持模式 | 2.5G | 默认登录 |
|---|---|---|---|---|---|
| VSOL V2801F | RTL9601CI | 8MiB | VEIP 与 PPTP | 需改造 | admin / stdONU101 |
| T&W TWCGPON657 | RTL9601CI | 16MiB | VEIP 与 PPTP | 需改造 | admin / system |
| UFiber Instant | RTL9601CI | 8MiB | 仅 PPTP,LAN1 | 不支持 | ubnt / ubnt |
| DFP-34X-2C2 | RTL9601D | 8MiB | VEIP 与 PPTP | 原生支持 | admin / admin |
选型时可以按三条标准对号入座:追求 2.5G 稳定输出,优先 RTL9601D 的 DFP-34X-2C2;手里已有 2.5G 路由器且想低成本替换,V2801F 是社区资料最全的选择;需要多 LAN 口模拟,则要关注芯片对 VEIP/PPTP 两种模式的支持情况。
这里牵出一个绕不开的概念:PPTP 与 VEIP。PPTP(物理路径终结点)直接把 PON 流量绑定到某个物理 LAN 口,VLAN 由 OLT 侧管理;VEIP(虚拟以太网接口点)则类似一个虚拟接口,固件可以把它分配给 LAN 口、路由模式或管理通道。简单理解:PPTP 是"一根线直连",VEIP 是"虚拟通道再分发"。不少运营商用 PPTP 把不同 LAN 口分给不同 ISP,这也是后面多 ISP 场景的基础。
刷机前的信息采集:克隆原光猫身份的一页纸清单
猫棒能不能上线,关键不在刷机,而在"身份"对不对。OLT(局端设备)认证 ONU 时,会核对序列号、密码、厂商、型号等一串信息,只注册到 O5 状态不等于能拿到业务配置——很多情况下 OLT 认出了你是谁、却不给你下发配置。所以正确姿势是:把你原厂光猫的身份参数完整抄下来,再原样填进猫棒。
先登录原光猫的 Telnet 或 Web 后台,用flash get把这批参数逐条备份:
flash get PON_VENDOR_ID flash get GPON_SN flash get GPON_PLOAM_PASSWD flash get HW_HWVER flash get OMCI_SW_VER1 flash get OMCI_SW_VER2 flash get GPON_ONU_MODEL flash get ELAN_MAC_ADDR flash get OUI flash get HW_SERIAL_NO这些变量含义如下,抄写时注意格式上限:
| 变量 | 含义 | 格式注意 |
|---|---|---|
| GPON_SN | GPON 序列号 | 12 位 ASCII,如HWTC35000000 |
| PON_VENDOR_ID | 厂商 ID | 4 位 ASCII,如HWTC |
| GPON_PLOAM_PASSWD | PLOAM 密码 | 10 位 ASCII 或 20 位十六进制 |
| GPON_ONU_MODEL | 设备型号(ME 257) | 20 位 ASCII,如HG8240H5 |
| HW_HWVER | 硬件版本 | 如实抄写,如BF9.A |
| OMCI_SW_VER1/2 | 软件版本 | 用于 OMCI 上报 |
| ELAN_MAC_ADDR | MAC 地址 | 12 位十六进制 |
一个小坑提醒:部分原光猫后台显示的序列号是十六进制串,需要先转成 ASCII 再填。比如十六进制的48575443对应的就是HWTC。社区还整理了一份常用厂商 ID 对照表——HWTC华为、ZTEG中兴、ALCL诺基亚、FHTT烽火、UBNT优倍快、RTKG瑞昱,按你原光猫的实际情况选,不要照抄别人的。
信息抄完后,把原光猫收好别急着处理。整个克隆过程的完整说明记录在 Docs/StickSetup.md,里面还包含各型号默认登录凭据与 Telnet 开启方式(例如 TWCGPON657 需要先访问http://192.168.1.1/bd/telnet_open.asp才能开 Telnet)。
固件刷写实操:找固件、传包、升级、重启
身份资料到手,下一步就是给猫棒刷入开源固件。首先把仓库克隆到本地,固件都在Firmware/目录下按型号分好:
git clone https://gitcode.com/gh_mirrors/rt/RTL960x进入Firmware/后你会看到DFP-34X-2C2/、TWCGPON657/、V2801F/等子目录,每个目录都按日期归档了多版固件,例如 DFP-34X-2C2 下的M110_sfp_ODI_220923.tar、V2801F 下的V2801F_V1.9.0-240614.tar。选固件时优先挑日期较新、且与你的芯片代际匹配的版本。
刷写本身不复杂:用网线把猫棒所在设备(路由器或转接器)接到电脑,浏览器打开默认地址192.168.1.1登录 Web 后台,进入升级页面选择.tar固件包上传即可。
上传完成后系统通常需要提交配置并重启一次,这一步别省略——很多"刷完没反应"的案例,都是卡在了没有 commit 或没有重启上。
重启后再次登录,状态页应该能看到固件版本、运行时长、CPU 与内存占用等信息。到这里,猫棒本身已经"活"了,但还未必能上网——接下来才是真正的重头戏。
让 OLT 认账:OMCI 与 VLAN 的认证配置实战
猫棒与 OLT 之间的沟通语言叫 OMCI(光网络单元管理与控制接口)。简单说,OLT 通过 OMCI 向猫棒下发业务配置,包括 VLAN 映射、带宽模板、端口绑定等。开源固件的价值就在于把这些参数全部开放给你。
首先要做的,是把克隆来的身份参数写进猫棒,同时把 OMCI 处理模式调到正确的档位:
flash set GPON_SN <原光猫序列号> flash set PON_VENDOR_ID <原光猫厂商ID> flash set GPON_ONU_MODEL <原光猫型号> flash set HW_HWVER <原光猫硬件版本> flash set OMCI_SW_VER1 <原光猫软件版本> flash set OMCI_OLT_MODE 3 flash set OMCI_FAKE_OK 1其中OMCI_OLT_MODE是社区实践里出现频率最高的变量,它决定猫棒以哪种姿态应对 OLT 的 OMCI 消息:
| 值 | 含义 |
|---|---|
| 0 | 默认模式,部分值不可改 |
| 1 | 华为 OLT 模式 |
| 2 | 中兴 OLT 模式 |
| 3 | 定制模式,可自定义软硬件版本、OMCC 等 |
| 21 | 强制上报自身信息 |
OMCI_FAKE_OK则是应对"厂商私有 OMCI 指令"的开关:某些运营商会对猫棒下发私有管理实体,猫棒看不懂就回非 OK 应答,导致业务起不来。把它设为 1,猫棒对 OLT 的任何 OMCI 请求都回 OK,兼容性大增——代价是可能掩盖真实问题,所以它更适合作为"先上线、后排查"的兜底手段。
VLAN 配置紧随其后。猫棒默认是自动侦测 VLAN,也可以手动指定处理方式,核心是VLAN_CFG_TYPE与VLAN_MANU_MODE两个变量:
flash set VLAN_CFG_TYPE 1 flash set VLAN_MANU_MODE 0VLAN_MANU_MODE的四种取值对应四种转发策略:
| 值 | 模式 | 行为 |
|---|---|---|
| 0 | Transparent | 透传,VLAN ID 原样映射 |
| 1 | Tagging | 打标/叠加,先剥一层再桥接 |
| 2 | Remote Access | 远程访问场景 |
| 3 | Special Case | 特殊场景,按运营商要求设置 |
这里要提醒一个高频误区:很多 ISP 的 PON 侧 VLAN 与 ETH 侧 VLAN 并不一致(比如 PON 侧 VLAN 100 映射到 ETH 侧 VLAN 10)。直接照搬别家配置很容易翻车,正确做法是先用omcicli mib get 84和omcicli mib get 171查看 OLT 实际下发的 VLAN 标签过滤与扩展 VLAN 映射,再据此调整。相关排查思路在 Docs/OMCI_CLI.md 里有完整命令清单。
如果你的网络环境是"一根光纤承载多家 ISP",RTL960x 还能利用 4 端口 UNI 模拟,把不同 LAN 口分别绑定给不同运营商——这正是不少东南亚运营商(如菲律宾 PLDT)的典型场景。具体配置可以参考 Docs/ISP_specific_configuration.md,但务必记住:那里给的是"已知可用的起点",不是万能模板,VLAN、LOID、MAC 这些值必须替换成你自己的。
2.5G 提速的正确姿势:模式参数与兼容性避坑
刷好、认上了,接下来就是很多玩家入坑的初衷——突破 1G 网口限制,跑满 2.5G。先理解一个概念:如果你办了千兆以上宽带,却让光猫用 1G 网口出口,数据被"堵"在 1G 端口上,会产生明显的 bufferbloat(缓冲区膨胀),表现为延迟忽高忽低。换成 2.5G 猫棒直接对掉这个瓶颈。
RTL960x 家族提供了三种 2.5G 工作模式,通过LAN_SDS_MODE切换:
| 值 | 模式 | 介质 | 说明 |
|---|---|---|---|
| 4 | HiSGMII PHY | 2.5Gb 物理层 | 适合 PHY 侧协商 |
| 5 | HiSGMII MAC | 2.5Gb 链路层 | MAC 侧协商 |
| 6 | 2500Base-X | 光纤/光模块 | 配合 SFP 直连 |
flash get LAN_SDS_MODE flash set LAN_SDS_MODE 5需要注意,2.5G 协商是"猫棒与对端设备双向配合"的结果,单改猫棒一侧没用。项目文档里维护了一份详尽的兼容性清单,覆盖 MikroTik 的 RB5009、CRS 系列,TP-Link 的 ER2260T,华硕 RT-AX89X 等设备——不同设备对 PHY/MAC 模式的兼容性不同,有的需要LAN_SDS_MODE 4,有的必须LAN_SDS_MODE 6加 2.5G baseX。更关键的是:部分 SFP 口(尤其老款 1G 光口)物理上就不支持 2.5G 协商,这不是软件能解决的。

如果你的主机是 Linux 且 SFP 口无法自动协商 2.5G,另一个常见解法是给模块写入定制的 SFP EEPROM 信息,让对端识别为 2.5G 能力设备——这套玩法同样记录在项目文档中。更稳妥的替代方案是用一个 2.5G 光电转换器把猫棒转接出来,实现"免改造即插即用"。完整设备兼容表与模式对照见 Docs/2.5Gb.md。
故障急救室:假 O5、O2-O5 循环与速度不达标
把最常见的三个"死法"提前摆出来,你遇到时能少走弯路。
第一类:假 O5,状态在线却没网。某些厂商(如诺基亚)的 OLT 会给 ONU 一个"虚假的 O5 状态",即使序列号或密码不对,状态灯也显示已注册,但 OLT 不下发任何 VLAN 配置(典型特征是 OLT Vendor ID 显示02020202)。对策是回到参数层面逐一核对序列号、PLOAM 密码、厂商 ID;如果都正确仍无网,可能是运营商要求厂商私有管理实体(ME 350-399),这类情况往往需要定制 MIB 才能解决。
第二类:O2-O5 循环,状态反复跳。最常见原因是接收光功率过低。先用光功率检测命令确认数值,低于约 -23dBm 时 OLT 会拒绝稳定 O5:
pon show如果光功率确实偏低,先清洁光纤接头、检查弯曲半径,而不是急着改配置。此外,烽火等厂商的 OLT 也可能因兼容性问题导致循环,社区针对不同 OLT 品牌整理过对应解法。
第三类:状态正常,但速度不达标。优先检查LAN_SDS_MODE是否还在 1G 档位,再核对 VLAN 转发是否被错误配置拖累。还有一个社区发现的重要变量OMCI_TM_OPT——它控制 OLT 对带宽的管理方式,取值 0 为优先级控制、1 为速率控制、2 为两者兼有,默认是 2。如果你的业务是纯速率模型,把它从 2 调到 1 往往能明显改善吞吐:
flash set OMCI_TM_OPT 1整套排障思路在 Docs/TroubleshootSetup.md 有汇总,另外 Docs/fakeO5.md 与 Docs/DIAG.md 分别针对假 O5 与诊断命令做了展开。记住一条底线:如果所有手段都试过仍无法上线,立刻停止调整——反复提交错误配置不仅会被运营商标记,还可能影响整段 PON 网络。
进阶玩法:定制 MIB、远程监控与固件实验
如果上面这些已经不能满足你,RTL960x 还有三层更深的玩法。
第一层:定制 OMCI 行为。仓库的Firmware_Mod/DFP-34X-2C2/etc/下提供了omci_custom_opt.conf与omci_ignore_mib_tbl.conf等配置文件,前者允许你按需改写特定管理实体(ME)的应答内容,后者可以忽略 OLT 下发的某些 MIB 表。多 ISP 环境下常见的"用 HGU MIB 文件骗过 OLT 接受 ME 84/ME 171"操作,就是基于这套机制。
第二层:远程监控与告警。猫棒的状态不该只停留在 Web 页面里。项目仓库的WebGui/kitamon/目录包含一套基于 Prometheus 的监控方案,自带 Grafana 导入模板与 systemd 服务文件,能把猫棒的收发光功率、温度等 DDM 级遥测数据接入你的监控大盘,光衰异常时及时告警。同样地,社区里也有通过 Telegram Bot 推送猫棒健康报告的做法。
第三层:固件实验。改固件最怕变砖,项目在Tools/emulator/里放了一个 QEMU 固件模拟器。安装squashfs-tools与qemu-user-static后,执行qemu-test.sh 固件.tar就能在 PC 上把固件跑成一个 BusyBox shell,随便折腾网页模板、启动脚本,验证无误再刷进真机:
./qemu-test.sh V2801F_V1.9.0-240614.tar顺带一提,仓库的Firmware_Mod/里还藏着一套全新的 Bootstrap 风格 Web 界面,名为 Nijika 固件,针对 RTL9601D 的社区补丁正在持续完善中——如果你对原厂那种老式网页感到嫌弃,这套新界面是很好的观赏对象。
结尾:给新手的行动清单与自查表
走到这里,你其实已经拥有了完整的"换猫棒"知识闭环。最后把这套流程压缩成一张可执行清单,照着做即可:
- 查芯片:确认手里的猫棒是 RTL9601C1 还是 RTL9601D,这决定 2.5G 上限与固件选择。
- 抄身份:登录原光猫,把序列号、厂商 ID、PLOAM 密码、软硬件版本、MAC 等 10 个参数完整备份,别漏。
- 选固件:克隆仓库后,在
Firmware/对应型号目录里挑日期较新的固件包。 - 刷写并重启:Web 上传
.tar包,commit 后务必重启,用状态页确认固件生效。 - 填参数再调 VLAN:把克隆参数写入猫棒,按运营商实际下发的 VLAN 映射调整
VLAN_MANU_MODE,用omcicli mib get验证。 - 最后提速:确认
LAN_SDS_MODE与对端设备兼容后,再考虑 2.5G 与OMCI_TM_OPT调优。
以及四条始终要守住的自查准则:
- 每次只改一个参数,改完验证、记录,再动下一个。
- 原光猫与原配置永远留底,不删不扔。
- 不要把社区分享的 ISP 配置原样照抄,所有值都要替换成你自己的。
- 反复失败立即停手,别拿共享的 PON 网络当试验场。
RTL960x 的意义不在于"破解",而在于把接入设备的选择权和知情权交还给你。从第一次跑通 O5、到 2.5G 测速跑满、再到能在 Grafana 上盯着光功率变化,你会越来越理解光纤接入这条链路到底发生了什么。剩下的玩法,Docs/目录下的文档足够你翻很久——UART 调试、固件分区回滚、SPI EEPROM 编程,每一扇门后面都还有新世界。
【免费下载链接】RTL960xHacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考