Есть ли API для получения ipmi fru raw байтов? Мне нужно работать с пользовательскими данными FRU. Я пытался использовать библиотеку freeipmi, но, похоже, у нее есть только API для доступа к настраиваемым полям и не предоставляет API для чтения всего буфера fru.

2
denys 26 Апр 2016 в 18:55

2 ответа

Лучший ответ

Я не уверен, предоставляет ли какая-либо библиотека специальную функцию API для чтения необработанных данных FRU. Как вы заметили, freeipmi и openipmi предоставляют удобные функции, которые предоставляют «готовые» данные.

Но openipmi (я думаю, freeipmi) также предоставляет функции API для отправки сырых команд и команд IPMI для получения необработанных данных FRU. Openipmi имеет функции ipmi_send_command_addr() и ipmi_mc_send_command(), и они отправляют команду IPMI указанной цели.

Чтобы получить необработанные данные FRU, вам необходимо выполнить команду IPMI «Получить информацию об области инвентаризации FRU», чтобы получить длину FRU, а затем выполнить команду IPMI «Прочитать данные FRU».

2
Zaboj Campula 26 Апр 2016 в 19:54

В FreeIPMI 1.5.2 в bmc-device есть новые параметры --read-fru и --write-fru, которые позволяют считывать FRU в файл и записывать необработанный файл FRU обратно в определенный идентификатор устройства. Если вы посмотрите на код в bmc-device, возможно, этого кода будет достаточно для ваших нужд.

Он предназначен для чтения / записи для определенного идентификатора устройства. Но цикл и некоторая обработка ошибок должны позволить вам получить весь буфер FRU.

Полное раскрытие информации: я поддерживаю FreeIPMI.

1
Albert Chu 23 Июн 2016 в 00:02