情况描述:
在使用fru write进行整个bin文件的写入时,发现当写入的bin文件的大小小于2048时,命令返回成功,但实际并没有写入,一下是具体步骤:
①写入的fru文件大小为2048Byte时,命令执行返回:

bmc后台打印:
②当写入的bin文件大小为80Byte时,命令执行返回:

BMC后台打印:

可以看到当写入为80Byte时,BMC后台没有触发写入。但是我通过ipmitool -vv fru write命令打印出执行细节后,不管bin文件大小是2048Byte还是80Byte,ipmitool下发的命令基本是一样的。
问题:
①请问这种情况是设计如此还是bug
②请问对写入fru.bin的大小检查是在哪个组件里?app.log中没有任何关于写入数据检查不通过的打印
我也遇到这个问题了,StorageType使用的是EepromV2,fru.bin是按照fru规范制作的,大小是152字节,使用ipmitool fru write 1 fru.bin 并没有写入的动作,硬件那边没有收到东西。硬件是通,手动对Eeprom对象读写是可以操作的。
@liujie_11 您好,请问一下该问题是否已经确认解决,如果确认解决请标记一下解决方案,如果没有解决,请答复一下当前进展和下一步的期望处理。
1、BMC 不会感知到 fru.bin 文件的大小,标准命令 ipmi fru write 实际就是使用 0xa 0x12 命令将 fru.bin 文件里的内容写入 BMC,因此在 BMC 侧仅关注该命令的请求内容即可
2、兼容 ipmi fru edit 命令实现,当前设计为:若写入内容从头开始(也即 offset 初始偏移为 0),需要写满 2048 个字节才能触发最终的同步,以整体覆盖该 FRU 的所有信息。可以确认下当 bin 文件大小不足 2048 个字节时,实际 ipmitool 工具实际使用 0xa 0x12 命令发送的内容是只有 80 个字节还是 2048 个字节?