链路故障时写电子标签失败问题分析
更新时间: 2026/06/02
在Gitcode上查看源码

问题背景

  • 单板类型:NA;
  • 软件版本:openUBMC 26.4.0.B001;
  • 涉及功能:写电子标签;
  • 触发条件:构建i2c链路故障后写电子标签。
  • 业务表现:预期可正常写入电子标签;实际写入失败。

问题复现步骤

  1. 硬件上强制i2c故障
  2. 写电子标签和更新电子标签
  3. 生效电子标签
  4. 重启BMC
  5. 查看电子标签

关键日志信息

frudata组件日志: 操作日志:

定位过程

确认写电子标签的处理流程,即BMC只会在复位后才会将Eeprom的信息更新到BMC的缓存中,装备会校验的电子标签内容为BMC缓存数据,非FRU的实际数据,此时回显看到的为成功。影响为BMC加载电子标签的场景存在实际未加载成功但仍上报pass,重启BMC后出现非修改数据的情况。

问题原因

frudata仓更新电子标签后,未清空fru信息,导致电子标签信息重复显示。

解决方案

在电子标签update过程中,添加一次init操作,从Eeprom读取数据更新到资源树,如果写入Eeprom失败,能报通过该操作保持资源树与Eeprom数据保持一致,不会重复显示。

PR链接

gitcode