FRU Informationen bearbeiten mit IPMI-Tools

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen


Mittels des Tools "CC-FRU-Tool" und dem ipmi-tool kann man einfach unter Linux FRU-Daten im IPMI setzen, anpassen oder korrigieren. ComputerCheeseOfficial bietet hierfür ein kostenloses Tool auf Github an, welches mittels ipmitool-RAW-Commands die Daten an den BMC schicken und somit setzen kann.

Ausgangslage

Die IPMI-FRU-Daten sind nicht korrekt oder sollen verändert werden (Beispielsweise aufgrund Mainboard-Wechsel) - ohne separate (teils kostenpflichtige) Tools, ist es sehr schwierig diese Daten im IPMI zu ändern. Die aktuellen FRU Werte kann man sich anzeigen lassen mittels ipmitool.

root@pmx01:~# ipmitool fru print

FRU Device Description : Builtin FRU Device (ID 0)
 Chassis Type          : Rack Mount Chassis
 Chassis Part Number   : 90SF00X1-M00080
 Chassis Serial        : KBS0GX00001X
 Board Mfg Date        : Mon Jan  1 01:00:00 1996
 Board Mfg             : ASUSTeK COMPUTER INC.
 Board Product         : RS500A-E10-RS12U
 Product Manufacturer  : Thomas-Krenn.AG
 Product Name          : RS500A-E10-RS12U
 Product Serial        : 9000245198
 Product Asset Tag     : PMX01

Warnhinweis

FRU Data Changing.png

Bestimmte FRU-Daten werden vom Hersteller genutzt (und dann im BIOS weiterverwendet) und dürfen nicht modifiziert werden, da dies ggf. negative Nebeneffekte wie Probleme bei NVMe-Hotswap hervorrufen könnte. Typische Felder die NICHT modifiziert werden sollten:

  • Chassis Type
  • Product Name
  • Product Version

Hier auch nochmal in Screenshot Form welche Daten nicht modifiziert werden sollten (rot), dafür gedacht sind modifiziert/gesetzt zu werden (grün) und welche nach Bedarf geändert werden könnten (blau).

IPMI - Write Modus des BMCs aktivieren

Je nach BMC Modul kann es sein, dass der BMC erst beschreibbar gemacht werden muss - das unlocken des Schreibmodus ist oft nur mit Vendor-Unique-Kommandos möglich. Ist dies der Fall, könnten Sie unter Umständen den Server-Hersteller kontaktieren und um das Vendor-Unique-Kommando bitten.

Programm downloaden

apt install git ipmitool &&
git clone https://github.com/ComputerCheeseOfficial/CC-FRU-tool.git &&
cd CC-FRU-tool &&
chmod +x frutool.sh &&
nano fru.conf

FRU.CONF anpassen

Die Datei fru.conf enthält die jeweiligen Infos, welche als FRU-Daten im IPMI hinterlegt werden sollen. Diese entsprechend ausfüllen. ACHTUNG: Sie müssen immer alle Felder entsprechend ausfüllen, verändern Sie die Config-Datei so, dass nur z.B. das AssetTag in der fru.conf enthalten ist, so werden die anderen Werte nicht gesetzt bzw. die Tags wieder geleert/entfernt.

[Chassis Info Area]
ChassisPartNumber=90SF00X1-M00080
ChassisSerialNumber=KBS0GX00001X

[Board Info Area]
MfgDateTime=
BoardManufacturer=ASUSTeK COMPUTER INC.
BoardProductName=KMPA-U16 Series
BoardSerialNumber=211092929600036
BoardPartNumber=60SB09Y0-SB0A16

[Product Info Area]
ManufacturerName=Thomas-Krenn.AG
ProductName=RS500A-E10-RS12U
ProductPartModelNumber=Proxmox Ceph HCI v1
ProductVersion=00
ProductSerialNumber=9000245198
AssetTag=PMX01

IPMI RAW Kommandos erzeugen

mittels ./frutool.sh werden die IPMI RAW Commands erzeugt, welche dann mittels ipmitool auf den BMC geschrieben werden können.

root@pmx2:~/CC-FRU-tool# ./frutool.sh 

ipmitool -I open raw 0x0a 0x12 0x00 0x00 0x00 0x01 0x01 0x02 0x03 0x07 0x00 0x00 0xF2
ipmitool -I open raw 0x0a 0x12 0x00 0x08 0x00 0x01 0x00 0x01 0x04 0x00 0x00 0x03 0xF7
ipmitool -I open raw 0x0a 0x12 0x00 0x10 0x00 0x01 0x01 0x17 0xC0 0xC0 0xC0 0xC1 0xE6
ipmitool -I open raw 0x0a 0x12 0x00 0x18 0x00 0x01 0x04 0x00 0x50 0x55 0xD3 0xC4 0x41
ipmitool -I open raw 0x0a 0x12 0x00 0x20 0x00 0x53 0x55 0x53 0xC8 0x4B 0x52 0x50 0x41
ipmitool -I open raw 0x0a 0x12 0x00 0x28 0x00 0x2D 0x55 0x31 0x36 0xC0 0xC0 0xC0 0xC0
ipmitool -I open raw 0x0a 0x12 0x00 0x30 0x00 0xC1 0x00 0x00 0x00 0x00 0x00 0x00 0xE3
ipmitool -I open raw 0x0a 0x12 0x00 0x38 0x00 0x01 0x09 0x00 0xCF 0x54 0x68 0x6F 0x6D
ipmitool -I open raw 0x0a 0x12 0x00 0x40 0x00 0x61 0x73 0x2D 0x4B 0x72 0x65 0x6E 0x6
ipmitool -I open raw 0x0a 0x12 0x00 0x48 0x00 0x2E 0x41 0x47 0xDB 0x50 0x72 0x6F 0x78
ipmitool -I open raw 0x0a 0x12 0x00 0x50 0x00 0x6D 0x6F 0x78 0x20 0x43 0x65 0x70 0x68
ipmitool -I open raw 0x0a 0x12 0x00 0x58 0x00 0x20 0x48 0x43 0x49 0x20 0x28 0x41 0x6C
ipmitool -I open raw 0x0a 0x12 0x00 0x60 0x00 0x6C 0x20 0x4E 0x56 0x4D 0x65 0x29 0xC0
ipmitool -I open raw 0x0a 0x12 0x00 0x68 0x00 0xC3 0x31 0x2E 0x30 0xCA 0x39 0x30 0x30
ipmitool -I open raw 0x0a 0x12 0x00 0x70 0x00 0x30 0x32 0x37 0x38 0x30 0x32 0x30 0xC4
ipmitool -I open raw 0x0a 0x12 0x00 0x78 0x00 0x50 0x4D 0x58 0x32 0xC0 0xC0 0xC1 0x6A
Done

FRU Daten auf den BMC schreiben

root@pmx2:~/CC-FRU-tool# sudo ./fru.sh

08
..
08
08
08

FRU-Daten kontrollieren

root@pmx01:~/CC-FRU-tool# ipmitool fru print

FRU Device Description : Builtin FRU Device (ID 0)
 Chassis Type          : Rack Mount Chassis
 Chassis Part Number   : 90SF00X1-M00080
 Chassis Serial        : KBS0GX00001X
 Board Mfg Date        : Mon May 23 21:56:00 2022
 Board Mfg             : ASUSTeK COMPUTER INC.
 Board Product         : KMPA-U16 Series
 Board Serial          : 211092929600036
 Board Part Number     : 60SB09Y0-SB0A16
 Product Manufacturer  : Thomas-Krenn.AG
 Product Name          : RS500A-E10-RS12U
 Product Part Number   : Proxmox Ceph HCI v1
 Product Serial        : 9000245198
 Product Asset Tag     : PMX01

In unserem Fall sind die neuen Werte nun gesetzt und werden auch korrekt im IPMI angezeigt. Auch hier nochmal der Hinweis, dass zwingend Chassis Type, Product Name mit den Hersteller-Default-Werten angezeigt werden müssen. Fehlen die Felder Chassis Type und Product Name, so kann dies negative Nebeneffekte hervorrufen.


Foto Jonas Sterr.jpg

Autor: Jonas Sterr

Ich beschäftige mich mit den Themen Software Defined Storage, Proxmox Virtualisierung auf Basis von KVM, QEMU & Ceph im Produktmanagement der Thomas-Krenn.AG in Freyung. Proxmox ist meine absolute Leidenschaft und ich freue mich gerne über Kontaktanfragen und einen Austausch auf LinkedIn.


Das könnte Sie auch interessieren

FreeIPMI kann OEM Sensor nicht auslesen - CPU Temp liefert nur N/A
IPMI Platform Event Filtering
Keine Bildausgabe bei Supermicro Mainboards mit neuesten IPMI Versionen