开源RDK-B:国外光猫和路由器里面跑的系统

RDK-B 全称 Reference Design Kit for Broadband(宽带参考设计套件)。文档在 developer.rdkcentral.com,代码在 RDK Central 社区,基于Linux和Yocto构建的固件。下面把整个项目框架、平台功能和支持哪些芯片说清楚。

整个项目框架

图1:从上到下是入口、中间件、HAL(示意)

把 RDK-B 当一套开源软件平台看,框架可以拆成五层:

text 复制代码
① 应用与运维入口
   WebUI · TR-069 · TR-369(USP) · WebPA · SNMP · 本地管理 ...
② 中间件组件(按功能拆成多个进程)
   Wi‑Fi · WAN · 以太网 · 防火墙 · GPON · 语音对接 · Telemetry ...
③ 进程通信与数据模型
   老路径:CCSP 消息总线
   新路径:RBus(属性 / 事件 / 方法,对齐 TR-181)
④ 硬件抽象层 HAL
   Wi‑Fi / MoCA / 平台信息 / 线缆与光侧能力 ... 由 SoC、OEM 实现
⑤ Linux + 驱动 + Yocto 镜像
   DOCSIS / GPON / DSL / 蜂窝 / 以太网上行

① 入口层管「谁来管这台设备」。用户开网页改 SSID,运营商 ACS 用 TR-069 拉参数,WebPA 做高效读写,都挂在同一棵设备参数树上,不是每个入口各写一套私有协议。

② 中间件才是业务本体。官方按功能拆成很多独立组件,能装、能卸、能按机型裁剪。全功能网关可以装齐;Wi‑Fi 扩展器往往只留无线和二层相关进程,不必把 Cable Modem、语音整包塞进去。板子上那堆 Ccsp* 进程,多半就在这一层。

③ 总线加数据模型,是组件之间说话的方式。历史上靠 CCSP 做组件注册和 IPC;新方向是 RBus,更轻的二进制总线,大致是 API → RBus-core → rtMessage,参数树对齐 TR-181。新组件优先 RBus,老组件走兼容层,过渡期两套常并存。

④ HAL 挡住芯片差异。官方定好标准接口,芯片厂、OEM 去实现读固件名、读 MAC、控 Wi‑Fi、对接光口/同轴等。上面中间件尽量不绑死某一颗 SoC。换平台主要是换 HAL 和 Yocto machine,而不是重写全部业务------移植指南里的「SoC adapter」指的就是这层。

⑤ 最底是 Linux驱动,再用 Yocto 打包生成运营商镜像;平台开源的是框架和大量组件,商用还要过运营商认证。

平台有哪些功能

图2:同一套中间件,可对接同轴、光纤、DSL、固定无线、以太网上行(示意)

按官方能力清单,功能可以归成几大类。具体机型以裁剪和 HAL 为准,列表里有的不等于你这台镜像全开。

上行/接入: DOCSIS 3.0/3.1、GPON/EPON、DSL、以太网上行(EthWAN)、固定无线/蜂窝等。有 WAN Manager 做多 WAN、模式检测和切换。光猫、光网关走 GPON 时,有 GPON Manager 盯注册状态和 VEIP,再当普通以太 WAN 交给上层;OMCI 报文细节多在芯片/厂商 PON 方案里。硬件得有光口,软件才能接上这条路径。

家庭侧组网: 路由/桥接、IPv4/IPv6、DHCP(可关)、VLAN、QoS、防火墙、家长控制、以太网客户端管理,以及部分 GRE、动态 DNS、端口转发、MoCA(同轴延伸)等。

Wi‑Fi: 双频及更高代际(看芯片)、私有/公有 SSID、Band Steering、WPS、Mesh/扩展器、MeshAgent、Hotspot/Passpoint,以及 Wi‑Fi 遥测、频谱分析等(不少依赖云和设备能力)。

设备与远程管理: WebUI、TR-069、TR-181 参数树、USP、WebPA、SNMP、Telemetry、日志、RFC(远程开关功能而不必整包回滚)、XCONF 一类固件下载与升级、Captive Portal(首次改默认 Wi‑Fi)等。这一块是运营商场景的核心------要的是百万台同模型运维,不是每台设备各自 SSH 一把改配置。

语音与 IoT: eMTA 等语音栈通常由 OEM 提供,RDK-B 提供监控和数据模型对接;Zigbee/BLE 等 IoT 能力看产品是否裁进镜像。

产品形态: 全功能网关、Wi‑Fi 扩展器、语音网关、偏 SMB/行业的裁剪机,都可以用同一套框架加减组件。

行业背景也直白:Vantiva(原 Technicolor)等早期贡献了大量代码,Comcast、Charter、Liberty Global 等运营商社区推动。

支持哪些芯片

RDK-B 不绑死某一颗固定芯片。官方把自己定位成「通用 SoC 适配层」:中间件尽量与芯片无关,芯片差异收在 HAL + Yocto machine + 厂商 BSP 里。更准确的说法是------谁把 Linux驱动和 HAL 适配进 RDK-B,谁就能上,公开仓库里不一定有一份「人人可刷」的完整机型全表。社区成员里看到 Broadcom、MaxLinear、Qualcomm、MediaTek、Quantenna、Realtek 等芯片厂身影。

可以分三档理解:

公开参考板(自己能跟着文档编): Raspberry Pi 3B / 3B+ / 4B。社区有 raspberrypi-rdk-broadband、raspberrypi4-rdk-broadband 一类 MACHINE,适合跑通中间件、WebUI、参数树,不是运营商光猫/同轴猫的量产硅。Pi4 核心是 Broadcom BCM2711,只当学习板。

商用网关主控(靠厂商 BSP / HAL):

方向 常见硅 / 平台 说明
有线同轴 DOCSIS Broadcom 如 BCM3390 等;MaxLinear Puma 系列(原 Intel 家庭网关,Puma 7/8) 芯片规格书或 OEM 方案常直接写支持 RDK-B;现网有线网关大量走这条
光纤 / 多上行 视 OEM 方案;Puma 等平台也可配光纤或以太 WAN 光口侧还要 PON 芯片与 HAL,不是只刷中间件
Wi‑Fi Broadcom、Qualcomm、MediaTek、Realtek 等 常和主控搭配;「原生」方案 BSP 齐,换非原生 Wi‑Fi SoC 要自己接驱动和 HAL

新芯片能不能上: 移植指南写得很直白------先让 SoC 自己的 Linux + Wi‑Fi 等驱动独立跑通,再进 Yocto,再实现平台 / Wi‑Fi / MoCA / WAN 等 HAL。没有 HAL,上面 Ccsp 组件再全也读不到真实硬件。商用镜像还要过运营商认证,公开仓库里不一定找得到那颗芯片的完整 recipe。

一句话:参考板看树莓派;量产看 Broadcom / MaxLinear(Puma) 等厂商方案;名单会随 HAL 移植变长,不是写死在中间件里的固定表。

你想确认的事 优先看框架哪一层
换芯片后 Wi‑Fi / 版本号读不对 ④ HAL、平台 HAL、Yocto machine
TR-069 / USP 参数对不上 ③ 数据模型、② 对应组件、RBus 注册
能上网但远程改不了 Wi‑Fi ① 管理通道与 WebPA/USP,不只是 hostapd
有光口但上层当不成 WAN GPON Manager、VEIP、以太网/WAN 管理、④ 光侧 HAL
DOCSIS 猫换光猫,业务要复用 ② WAN 与上行适配,中间件尽量别绑死线缆类型
进程之间调不通 ③ RBus / 旧 CCSP 是否起齐、组件是否注册

它适合谁

RDK-B 强在运营商发货一致性:统一数据模型、统一远程管理、统一从全功能网关到扩展器的裁剪。现网设备要从别的固件迁过来时,厂商也会推荐迁移方案:怕的往往不是编译问题,而是序列号、证书、远程会话、用户 Wi‑Fi 配置对不齐。个人想玩路由刷机,一般不用这套;要搞 TR-181模型、百万台运维和运营商验收,才可能用RDK-B去开发。

上手时先抓哪几条

图3:网关联调时,串口能起来只是第一步(示意)

  1. 先把五层框架画清楚。 入口、中间件、总线/模型、HAL、Yocto,对着官方架构文档过一遍。
  2. SoC / OEM 从 HAL 进。 Linux 和 Wi‑Fi 驱动先能独立跑通,再按 HAL 接平台信息和上行能力。
  3. 板子起来后先查参数树,别先改 UI。 用 RBus / 原有工具看 TR-181 是否注册完整,比纠结皮肤有用。
  4. 远程通道单独验证。 TR-069 或 USP 会话、WebPA 读写,和「本地能 ping 通」是两件事。
  5. 按机型裁组件。 扩展器不要硬塞全套 Ccsp 进程;光猫要确认 GPON 相关组件和 HAL 在。
  6. 总线过渡期别混用假设。 新代码走 RBus API;碰到老组件,确认兼容层还在。

边界

  • RDK-B 是宽带网关软件栈(Reference Design Kit),不是面向个人刷机的发行版。
  • 「开源」不等于「可以直接商用」------还有运营商相关的认证。
  • 功能列表再长,HAL 和组件没裁进镜像就等于没有;光口、DOCSIS、语音都要硬件和对应组件同时到位。
  • 芯片支持靠 HAL 移植,没有一份「刷哪个机型官方就支持」的公开机型全表;树莓派只是参考,量产芯片看芯片厂的 BSP 与方案包。
  • OMCI 细节主要在厂商 PON 方案;RDK-B 管的是光注册之后怎么进家庭侧和远程管理。

参考

https://developer.rdkcentral.com/documentation/documentation/rdk_broadband_documentation/

https://developer.rdkcentral.com/documentation/documentation/rdk_broadband_documentation/architecture/

https://developer.rdkcentral.com/documentation/documentation/rdk_broadband_documentation/features/

https://wiki.rdkcentral.com/display/RDK/RDK-B±SoC+Porting+Guide

https://rdkcentral.com/https://github.com/rdkcentral/rbus

相关推荐
miofly5 小时前
GitHub 今日推荐|lipflow:无麦克风唇读文字输入工具
python·开源·github
用户4301452263065 小时前
# 向量库没装好,RAG 检索还能不能用——从 AI工厂管家社区版的三级降级链说起先把结论摆前面:**RAG 做降级本身不难,难的是降级的时候不返回“看着像那么
开源
江湖有缘7 小时前
3款开源绘图工具整理合集,可Docker一键部署!
docker·容器·开源
m4Rk_7 小时前
【论文阅读】Agent 记忆机制(89):PersonaAgent——构建 Memory、Persona 与 Action 的持续反馈闭环
论文阅读·人工智能·学习·开源·github
TTATTC7 小时前
告别协议选型内耗:深入拆解微服务“内部 gRPC + 边界 REST”混合通信架构与 Envoy 转码实战
docker·开源
海带紫菜菠萝汤7 小时前
欧洲也开源了「78B 只激活 3.46B」:主权叙事变了,技术选型没变
人工智能·深度学习·ai·开源·大模型
ZhenYuChen20009 小时前
2026年后端开发进化:告别CRUD内卷,拥抱AI原生架构与服务编排新时代
后端·开源·全栈
1024奇点9 小时前
【仓颉语言入门 · 第24课】
开发语言·ide·开源
wflynn9 小时前
GitHub 日榜趋势速报 | 2026-10-03
开源·github