如何获取ipmi fru原始数据?

时间:2016-04-26 15:55:55

标签: c++ linux ipmi

是否有用于获取ipmi fru原始字节的API? 我需要使用自定义FRU数据。我尝试使用freeipmi库 - 但它似乎只有API来访问自定义字段,并且不会公开API来读取整个fru缓冲区。

2 个答案:

答案 0 :(得分:1)

我不确定是否有任何库提供特殊的API函数来读取原始FRU数据。正如您所注意到的那样,freeipmi和openipmi提供了方便的功能,可以提供“熟食”数据。

但是openipmi(我认为freeipmi)也提供了用于发送原始命令的API函数和用于获取原始FRU数据的IPMI命令。 Openipmi有函数ipmi_send_command_addr()ipmi_mc_send_command(),它们向指定的目标发送IPMI命令。

要获取原始fru数据,您需要发出IPMI命令“Get FRU Inventory Area Info”以获取FRU长度,然后发出IPMI命令“Read FRU data”。

答案 1 :(得分:1)

在FreeIPMI 1.5.2中,bmc-device中有一个新的--read-fru和--write-fru选项,允许您将FRU读出到文件中并将FRU原始文件写回特定设备ID。如果您查看bmc-device中的代码,那么该代码可能足以满足您的需求。

特定于特定设备ID的读/写。但循环和一些错误处理应该使您能够获得整个FRU缓冲区。

完全披露:我是FreeIPMI的维护者。