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