ipmi fru raw バイトを取得するための API はありますか? カスタム FRU データを操作する必要があります。freeipmi ライブラリを使用しようとしましたが、カスタム フィールドにアクセスする API しかなく、FRU バッファ全体を読み取る API を公開していないようです。
2 に答える
生の FRU データを読み取るための特別な API 関数を提供するライブラリがあるかどうかはわかりません。お気づきのように、freeipmi と openipmi は「調理された」データを提供する便利な機能を提供します。
しかし、openipmi (私は freeipmi だと思います) は、raw コマンドを送信するための API 関数と、raw FRU データを取得するための IPMI コマンドも提供します。Openipmi には機能がipmi_send_command_addr()
ありipmi_mc_send_command()
、指定されたターゲットに IPMI コマンドを送信します。
生の FRU データを取得するには、IPMI コマンド「Get FRU Inventory Area Info」を発行して FRU の長さを取得してから、IPMI コマンド「Read FRU data」を発行する必要があります。
FreeIPMI 1.5.2 では、bmc-device に新しい --read-fru および --write-fru オプションがあり、FRU をファイルに読み込んで、FRU raw ファイルを特定のデバイス ID に書き戻すことができます。bmc-device のコードを見ると、おそらくそのコードでニーズを満たすことができるでしょう。
特定のデバイス ID の読み取り/書き込みに固有です。ただし、ループといくつかのエラー処理により、FRU バッファー全体を取得できるはずです。
完全開示: 私は FreeIPMI のメンテナーです。