链路故障时写电子标签失败问题分析
更新时间: 2026/06/02
在Gitcode上查看源码问题背景
- 单板类型:NA;
- 软件版本:openUBMC 26.4.0.B001;
- 涉及功能:写电子标签;
- 触发条件:构建i2c链路故障后写电子标签。
- 业务表现:预期可正常写入电子标签;实际写入失败。
问题复现步骤
- 硬件上强制i2c故障
- 写电子标签和更新电子标签
- 生效电子标签
- 重启BMC
- 查看电子标签
关键日志信息
frudata组件日志: 操作日志:
定位过程
确认写电子标签的处理流程,即BMC只会在复位后才会将Eeprom的信息更新到BMC的缓存中,装备会校验的电子标签内容为BMC缓存数据,非FRU的实际数据,此时回显看到的为成功。影响为BMC加载电子标签的场景存在实际未加载成功但仍上报pass,重启BMC后出现非修改数据的情况。
问题原因
frudata仓更新电子标签后,未清空fru信息,导致电子标签信息重复显示。
解决方案
在电子标签update过程中,添加一次init操作,从Eeprom读取数据更新到资源树,如果写入Eeprom失败,能报通过该操作保持资源树与Eeprom数据保持一致,不会重复显示。