Я хотел бы прочитать название продукта с помощью необработанной команды IPMI. Я мог бы использовать «фру» так:
c:\Testing\ipmiutil>ipmiutil.exe fru -b -N <address> -U root -P root
ipmiutil ver 3.01
ifru: version 3.01
Connecting to node <address>
-- BMC version 1.48, IPMI version 2.0
.... some data
[Baseboard,20,00] Product Name : <Product Name>
.... some data
Однако в моем случае выполнение этой команды занимает около минуты, так что это слишком долго. Я решил, что прочитаю его напрямую с помощью команды Raw. Однако я не понимаю, как мне это делать.
Воспользуйтесь утилитой dmidecode для windows.
К сожалению, не существует простой необработанной команды, которая будет работать для получения названия продукта. Обычно выполняется несколько запросов для создания блока данных, содержащего информацию о продукте FRU. Затем блок данных необходимо правильно проанализировать, чтобы извлечь название продукта, а поля имеют переменную длину. В качестве примера, вот блок информации о продукте для материнской платы Intel, которую я использую, используя FreeIPMI ipmi-fru --debug.
=====================================================
Product Info Area
=====================================================
[ HEX DUMP ..... ] = HEX[104B]
[ 01h 0Dh 00h C4h 63h 72h 61h 79h ]
[ CDh 63h 72h 61h 79h 2Dh 32h 36h ]
[ 32h 38h 2Dh 6Ch 73h 6Dh CAh 2Eh ]
[ 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh ]
[ 2Eh C9h 30h 30h 30h 2Dh 30h 31h ]
[ 37h 32h 39h C9h 61h 70h 31h 32h ]
[ 31h 31h 35h 37h 35h D4h 2Eh 2Eh ]
[ 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh ]
[ 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh 2Eh ]
[ 2Eh 2Eh C0h C1h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 7Fh ]
Название продукта здесь начинается со второй строки с «63h 72h 61h 79h» («cray»).