光模块诊断在看什么
光模块内置的 DOM/DDM 诊断能力会把收发光功率、温度、电压、偏置电流实时上报,ethtool -m 就是读取这些数字的入口。光链路故障的典型演进是先用误码增多、偶发丢包表现出来,最后才彻底不通,所以光功率与阈值的关系比链路状态更能提前预警。判断方法以两端对照为主:一端发多少、对端收到多少,差额就是这段光纤与两端模块的损耗。
基本信息
| 适用平台 | Linux + ethtool,需网卡驱动支持 SFF-8636/8472 诊断 |
|---|---|
| 读取命令 | ethtool -m <接口>,兼容性差时用 --module-info 或加 hex on |
| 关键字段 | 收光功率、发光功率、温度、电压、低告警与低警告阈值 |
| 正常范围 | 随模块类型差异很大,看是否接近或低于模块标称阈值 |
| 典型阈值 | 10GBASE-LR 类模块接收灵敏度约 -14 dBm,明显低于该值即为异常 |
典型使用场景
- 链路偶发丢包但计数器显示误码:读收光功率判断是否光衰
- 新上架链路不通:确认发光功率是否正常、对端是否有收光
- 更换模块后性能下降:两端读数对照,判断是模块还是跳线问题
- 机房巡检:批量采集光功率留档,与历史值比较看劣化趋势
- 排查脏端面:拆装清洁前后对比收光功率,改善幅度即是证据
读取 DOM
读取 DOM
ethtool -m eth0 # 需要网卡与模块支持 DDM/DOM
# 关注以下字段:
# Receiver signal average optical power: 0.25 mW / -6.02 dBm
# Laser output power: 0.52 mW / -2.84 dBm
# Transceiver temperature: 45C
ethtool -m eth0 raw on | head -40 # 原始页数据,排查解析兼容问题
ethtool -m eth0 | grep -iE 'power|temp|threshold' # 只看功率与阈值行
ethtool -S eth0 | grep -iE 'fcs|err|drop' # 与误码计数交叉验证读数判读
| 现象 | 可能原因 | 处置 |
|---|---|---|
| 收光接近低告警阈值 | 光衰、跳线过长或接头脏 | 清洁端面、核查链路损耗与距离 |
| 收光极低或无读数 | 对端未发光、光纤断或接反 | 核对两端发光功率与收发光口 |
| 发光功率偏低 | 模块劣化或激光器告警 | 换模块或换端口验证 |
| 温度超阈值 | 风道不畅或模块功耗高 | 改善散热,关注长期趋势 |
| 功率正常仍误码 | 端面污染、色散或模块不匹配 | 结合误码计数清洁与更换验证 |
两端对比法最有效:A 端发光功率与 B 端收光功率的差值就是这段光纤的实际损耗,单端读数无法区分是发光不足还是收光不足。