PSU电子标签与FRUDATA组件的电子标签数据同步机制

最近在进行电源适配和调试工作,电源信息通过 PMBus 通信可以正常获取,实时数据流稳定。

  1. 资源树确认: 电源的电子标签(E-label)数据(如序列号、制造商信息等)已通过 PMBus 成功读取,相关的数据已成功更新到OnePower对象

但通过 FRU 读取命令获取时,数据却不一致:

  • 执行命令: ipmcget -d fru

  • 结果: 电子标签相关字段显示的是预设值,并未同步最新的 PMBus中OnePower中的相关属性。

想了解y一下ower_mgmt 组件与 frudata 组件之间是如何同步电源电子标签信息的?目前还在查看两个组件的源码,在frudata组件还没看到有类似同步机制的代码。

StorageType配置是什么

StorageType 为 Power。问题已定位:获取 part number 时调用了 pmbus:block_read,但该接口内部要求 read_len ≤ 32(BUFFER_MAX_LEN)。而 PMBUS 中命令字 0xDE 的返回长度为 40,超出限制,导致 block_read 报错,FRUData 无法刷新。
关于这个BUFFER_MAX_LEN,当前定义为32,是参考SMBUS-V2的协议规范确定的吗, 当前V3支持255字节,是否可考虑设置BUFFER_MAX_LEN为255?

很多字段都有长度限制,这个hw这边一直沿用的,如果觉得短可以考虑给sig组提个意见修改下

hw的电子标签一般长度限制都是32或64,个别40