您好,欢迎访问飞畅科技官网!
服务热线:+086 0571-87007055/56/57 EN
飞畅科技工业通信技术中心

光通信与工业互联网方案专家

EXPERT IN OPTICAL COMMUNICATION & INDUSTRIAL INTERNET SOLUTIONS

联系我们CONTACT US

全国咨询热线

0571-87007055/56/57/75

市场部直线电话:0571-87007140

手机:15306818230(微信)

QQ :2355416925

定制设计:18072828031(微信)

或给我们留言

在线留言

光纤还没插,交换机怎么认出 SFP?模块身份读取与校验

浏览次数:飞畅科技原创作者:飞畅科技技术团队

FIBERIOT / 基础知识

在台架上把一只 SFP 光模块插进工业交换机,暂时不接跳纤。某些交换机的管理页已经显示模块厂商、料号或序列号,业务端口却仍是断开的。设备是从哪里读到这些字的?答案藏在模块尾部的电接口里。交换机能通过低速管理通道读取模块自报的身份,而业务通信走的是另一条电光链路。把两条路径拆开看,就能知道每一项状态究竟证明了什么。

01一只模块有两条不同的路径

模块从交换机前面板插入笼子,尾部的金手指与主机连接器接触。供电和接地把模块内部电路带起来。对采用传统 SFP 管理接口的设备,主机还可以通过在位信号判断插槽里是否有模块,再用低速两线接口读取模块信息。检测在位只是知道插槽里有东西,低速通信和字节解析成功以后才可能显示厂商或料号。不同主机的初始化等待、错误提示和重试方式由设备实现决定。

两线接口有时钟线 SCL 和数据线 SDA。可把它想成交换机在电路板上向模块询问一个字节地址,随后把收到的字节按约定解释。这个过程发生在同一个机箱内,模块的光口可以空着,远端也可以断电。另一条是高速数据路径。主机与模块通过高速电接口交换业务信号,模块发射端负责电到光,接收端负责光到电。光纤、对端、接收条件和链路模式参与的是第二条路径。

飞畅工业轨式万兆 4 光千兆 8 电三层交换机的官网参数列有 SFP 模块信息功能。这说明管理界面具有查看模块信息的使用场景。下文用公开接口规范解释通用机制,图中连接与芯片为功能示意,设备文档没有公开该型号的管理总线布线、具体读取顺序或模块准入策略。验证时仍应使用经设备资料确认的模块与端口模式。

交换机主机通过板上的两线管理通道连接 SFP 模块,LC 光口空着
图1|主机在机箱内读取模块信息,光纤此时可以不接。 通用原理示意,飞畅科技原创,AI 辅助绘制。

02主机从哪几个字节认出模块

传统 SFP 及采用 SFF-8472 管理映射的光模块,把身份信息组织成一段有固定位置的字节。规范把基础地址写成 A0h。若工具显示的是 I²C 七位设备地址,同一个设备地址写成 0x50。差别来自把最低位读写方向位算不算进地址字节:0x50 左移一位,写方向的地址字节是 0xA0,读方向为 0xA1。三个写法描述的是同一地址的不同表示。把 0xA0 直接填进要求七位地址的工具,容易让正常模块看起来像不响应。

读一个字段也要区分设备地址和字段偏移。设备地址让主机找到模块身份区,偏移让主机找到身份区里的某个字节。以常见映射为例,字节 0 是物理设备标识,字节 2 是连接器类型,字节 20 至 35 留给厂商名称,40 至 55 留给厂商料号,68 至 83 留给序列号。这里的偏移按十进制写。假如支持诊断,A2h 对应的 0x51 地址可用于读取相应诊断内容。能读出基础身份,不代表每项诊断都已提供或显示。

例如,主机把厂商料号对应的十六个字节当作文本解释。假设某四个字节依次为十六进制 44、45、4D、4F,显示就会是 DEMO,字段其余部分可能是用于填齐固定长度的空格。若管理页没有料号,要先分清设备是没读到该区、读到空白,还是读到了但界面没有展示。光功率计回答不了这类问题,因为它测的是光,界面文字来自板内电气读数。

03校验能发现什么,哪些结论还要另找证据

主机可以对 A0h 身份区的前 63 个字节,也就是偏移 0 至 62 的内容求和,取最低八位,再与偏移 63 存放的 CC_BASE 比较。假设前 63 个字节累加得到十六进制 0x034A,低八位是 0x4A。偏移 63 也存 0x4A,这项校验就通过。若存的是 0x4B,就应保留原始字节并核对读到的范围、版本和重复读取的结果。这个例子只演示算法,数值不是某台飞畅设备或某款模块的实测数据。

校验只能说明这段字节与它附带的校验码一致。不同字节组合也可能产生相同的和,校验无法验证厂商身份、证明字段真实或确认主机一定允许使用模块。序列号在偏移 68 以后,也不在 CC_BASE 覆盖范围内。按规范,扩展身份区另有 CC_EXT。现场报告如果写“CC_BASE 正常”,就应明确验证到哪里,不能把结论扩大为整个模块正常。

SFP 身份区字节 0 到 62 及字节 63 的 CC_BASE 校验码
图2|把字节 0–62 相加并保留低八位,与字节 63 的 CC_BASE 对照。 通用原理示意,飞畅科技原创,AI 辅助绘制。

04排查时先确认读数属于哪个阶段

如果厂商名和料号都显示正常,但序列号为空,可以先检查管理页面是否提供序列号,再查看设备支持的原始读取结果。能读到字节 0 至 63 并完成基础校验,只表明基础区有足够的可用数据。序列号需要从偏移 68 开始读取。若扩展区读不全,不能凭基础校验把空序列号补成厂家写入的值。记录“基础区可读、扩展区待验证”比笼统写“模块已识别”更容易交接。

再看一个相反的情况。上游网管保留了上一轮的料号,但设备当前报告模块不在位。两条记录描述的时间不同,先对齐采样时刻,再重新读取当前插槽。否则可能把缓存当成实时响应,把排查方向误转到远端光纤。现场记录同时写清端口、时间和数据来源,才能区分本机界面、网管缓存和当次总线读数。

台架上的交换机已读出模块信息,光纤插头仍与模块分离
图3|记录未接光纤时的模块信息,再独立验证对端链路与业务。 通用原理示意,飞畅科技原创,AI 辅助绘制。

05把管理状态与实际通光分别验证

可用一只已确认适配的模块做对照。先在隔离台架上记录端口、主机软件版本及模块型号,插好模块但不接光纤,查看主机是否报告在位以及是否显示完整的模块信息。如果能看到料号,说明这次管理读取至少拿到了相应字段。在同一状态下,业务端口可以保持断开。随后按产品要求接入正确光纤与对端,记录链路状态和两端收发计数,再用可识别的测试帧确认业务确实通了。两阶段的结果各自留档。

若管理页提示无模块,先确认查看的是正确的端口,模块已到位,测试组合符合主机要求。若明确显示在位但读不到信息,可在台架上用同一端口换一只已知可读的适配模块,或者把原模块移到已确认支持的端口,保持其他条件一致。记录故障跟着模块走还是留在插槽。若型号已读出但链路不通,则继续查两端模式、收发连接和光功率,必要时从端口统计确认是否有帧通过。不要为了验证身份读取而盯视光口或在生产业务中反复拔插。

有的主机会缓存先前读取到的信息,有的只在规定页面或维护接口提供字段。复测要记录读数时间、端口与插拔事件,使用设备支持的刷新或重新查询方式。最后交付的记录可以明确分成三列:模块在位、身份读取、业务验证。这样即使现场交接只拿到一张截图,也能判断这张图是说明识别成功,还是已经证明业务可用。

适用边界与资料

SNIA SFF-8472 Rev. 12.5a · 飞畅万兆 4 光千兆 8 电三层交换机

现场常见问题

没接光纤为什么能看到料号?

主机经尾部电接口访问模块的两线管理通道,光纤走的是独立的业务链路。

A0h 和 0x50 是两个器件吗?

它们是同一设备地址的八位地址字节写法和七位地址写法。

CC_BASE 通过表示模块兼容吗?

它表示偏移 0 至 62 的校验计算与字节 63 一致。兼容性和业务仍要独立确认。

适用边界与延伸阅读

本文讨论采用 SFF-8472 管理映射的模块。端口支持以设备资料为准。

SFP 数字诊断怎样看;光纤工业交换机怎样选