CMIS 模块:QSFP-DD 400G/800G 常见问题
对于 QSFP-DD、OSFP 及其他 CMIS 模块而言,故障的性质发生了变化。与"光学部件"相关的问题变少了,更多问题出在模块的状态机、固件以及主机与模块的握手上。越来越多的故障排查案例正围绕着这一点。
并非光学问题的故障
| 症状 | 原因 |
|---|---|
模块停留在 0x02(ModuleLowPwr)状态 | 上电握手未完成;主机从未将模块切换到高功率状态 |
| "已识别,但未就绪" | 数据通路初始化失败——通常是模块固件与主机所期望的 CMIS 版本不匹配 |
| 身份信息读取正常,但链路始终无法建立 | 模块正在等待主机执行某个操作(应用选择、数据通路激活),而平台并未执行 |
这些问题要在主机侧解决——升级交换机固件以支持模块的 CMIS 版本,或升级模块固件——而不是靠更换光纤。
当 400G 链路出现闪断时
尽管增加了额外的逻辑,400G 链路闪断最常见的原因依然是物理层面的:
- MPO-16 连接器污染——16 根光纤,就有 16 次沾上灰尘颗粒的机会。
- 两端之间的 FEC 不匹配。
- MPO 布线中的极性错误。
- 热降频——高密度面板中的高功率模块运行温度高,因而降频。
排查顺序依然不变
对于 CMIS,诊断步骤的顺序并没有变化:
- MPO 端面的清洁与检查。
- 模块和线缆的插接是否到位。
- 线缆本身——极性和类型。
- 之后才检查 EEPROM、CMIS 状态机、FEC 设置和 BER。
读取 CMIS 模块
CMIS 内存分为多个页和存储体(参见 CMIS),身份识别代码来自 SFF-8024 表。当 400G 端口无法建立链路时,首先要读取的是模块状态字节。
一些开源网络操作系统公开了它们的 CMIS 初始化逻辑——可以作为预期状态序列的参考。
在 CodingBox 中
对于 CMIS 模块,CodingBox 会应用 CMIS 布局,在 EEPROM editor 中显示低位内存和高位页,让你可以直接读取模块状态和身份信息。逐通道诊断显示在 DDM 界面上,正是它能揭示 8 通道 400G 模块中某一路通道的故障。
模块状态、数据通路状态和 ConfigStatus 代码及其字节位置: CMIS 低位页映射表、 CMIS 通道页映射表。