liujie_11
(KunTai_LiuJie)
1
在使用openubmc写fru信息时,碰到两个问题
①
使用ipmitool fru命令查看fru信息,有几个器件的fru报Device not present:
这几个fru里目前是没有数据的,因此想试试通过ipmitool fru write命令写入数据后问题会不会恢复。但是发现这些fru无法通过ipmittool fru write命令写入数据:
mdbctl查看eeprom对象没发现问题,且eeprom的写保护是关闭的
请问
Device not present这个问题是什么原因,要如何恢复?
②
有一个fru通过ipmitool fru write写入了非法格式和非法字符的数据
之后要再通过
ipmitool fru write\edit写入正常数据,发现无法写入,会卡死在
Writing new FRU.打印:
像这样的情况要如何把fru数据恢复?
liujie_11
(KunTai_LiuJie)
2
问题2 我通过ClearElabelData命令,把fru恢复了
liujie_11
(KunTai_LiuJie)
3
问题①补充
eeprom的数据可以读到:

ipmitool fru print 0,报 Device not present时,后台打印如下:

跟踪代码没有找到ipmi_read_frudata函数的C实现,因此还确认不了报错的直接原因

liujie_11
(KunTai_LiuJie)
4
通过硬件烧fru.bin进eeprom里,问题就修复了
1 个赞
ocy
(Ocy)
7
还有一个疑问fru.bin是怎么生成的,有相关文档吗?
liujie_11
(KunTai_LiuJie)
8
1 个赞
ocy
(Ocy)
10
通过上诉工具,结合规范文档,能够成功修改fru信息
liujie_11
(KunTai_LiuJie)
11
对于上面链接中我提的问题,是因为eeprom中不只有fru信息,还存在其他的信息。根据csr中FruData对象的StorageType值的不同,这些信息的偏移也不同,比如"StorageType": "TianChi"时,EEPROM前128个字节为天池头,从129字节开始为fru信息。因此,如果直接通过烧录器将fru.bin烧录进EEPROM,会导致缺少天池头,进而导致读出的fru信息与烧录的fru.bin信息不一致
1 个赞
你好,想问下“EEPROM前128个字节为天池头”这种情况,是需要烧录的时候跳过128字节吗?