OpenBMC - FRU inventory with Entity Manager

Jiandi An jan at nvidia.com
Thu Aug 27 10:47:42 AEST 2020


Hi,

Have a question related how IPMI fru command is handled when having FRU inventory handled by Entity Manager.
I've enabled Entity Manager and through the config JSONs, got the entity manager to probe FRU config information off of EEPROM and getting the FruDevice inventory D-Bus object added.
For example I I have /xyz/openbmc_project/FruDevice/My_FRU show up under xyz.openbmc_project.FruDevice.  And I can introspect it.  But I can't get that FRU to be handled and displayed when I ran "ipmitool fru"

root at bmc:~# busctl tree --no-pager xyz.openbmc_project.FruDevice
└/xyz
  └/xyz/openbmc_project
    └/xyz/openbmc_project/FruDevice
      └/xyz/openbmc_project/FruDevice/My_FRU

root at bmc:~# busctl introspect --no-pager xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/My_FRU
NAME                                                          TYPE                   SIGNATURE   RESULT/VALUE                       FLAGS
org.freedesktop.DBus.Introspectable   interface             -                      -                                                 -
.Introspect                                                  method               -                      s                                                -
org.freedesktop.DBus.Peer                     interface             -                      -                                                 -
.GetMachineId                                           method               -                      s                                                -
.Ping                                                             method               -                      -                                                 -
org.freedesktop.DBus.Properties           interface             -                      -                                                 -
.Get                                                              method               ss                    v                                                 -
.GetAll                                                          method               s                     a{sv}                                          -
.Set                                                               method               ssv                  -                                                 -
.PropertiesChanged                                   signal                  sa{sv}as          -                                                 -
xyz.openbmc_project.FruDevice            interface              -                      -                                                 -
.ADDRESS                                                    property              u                     84                                             emits-change
.BOARD_INFO_AM1                                  property              s                     "\001"                                      emits-change
.BOARD_LANGUAGE_CODE                     property              s                     "25"                                          emits-change
.BOARD_MANUFACTURER                       property              s                     "XYZ COMPANY"                    emits-change
.BOARD_MANUFACTURE_DATE              property              s                     "2020-01-01 - 12:00:00"      emits-change
.BOARD_PART_NUMBER                          property              s                      "123.ABCD.1234"                 emits-change
.BOARD_PRODUCT_NAME                       property              s                      "My FRU"                               emits-change
.BOARD_SERIAL_NUMBER                       property               s                     "123ABC"                                emits-change
.BUS                                                              property              u                     2                                                emits-change
.CHASSIS_PART_NUMBER                        property               s                     "123-12345-1234-000"         emits-change
.CHASSIS_SERIAL_NUMBER                     property               s                     "1234567890123"                  emits-change
.CHASSIS_TYPE                                           property               s                     "23"                                           emits-change
.Common_Format_Version                     property               s                     "1"                                             emits-change
.PRODUCT_ASSET_TAG                            property               s                     "0000000000000"                  emits-change
.PRODUCT_FRU_VERSION_ID                 property               s                     "v0.5"                                        emits-change
.PRODUCT_LANGUAGE_CODE                property               s                     "25"                                           emits-change
.PRODUCT_MANUFACTURER                  property               s                     "XYZ COMPANY"                      emits-change
.PRODUCT_PART_NUMBER                     property               s                     "123-12345-1234-000"          emits-change
.PRODUCT_PRODUCT_NAME                  property               s                     "TBD"                                        emits-change
.PRODUCT_SERIAL_NUMBER                  property               s                     "1234567890123"                   emits-change
.PRODUCT_VERSION                                 property               s                     "v1.0"                                         emits-change 

When I ran the standard IPMI fru command, it always defaults to getting Builtin FRU Device, and dimm0, dimm1, cpu0, cpu1 FRUs and of course they are not there so it fails.  Is there anything that I'm missing to get the standard IPMI fru command to map to the DBUS object xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/My_FRU under Entity Manger?

root at dev-system:~# ipmitool -I lanplus -H $BMC_IP -U root -P 0penBmc -C 17 fru
FRU Device Description : Builtin FRU Device (ID 0)
 Device not present (Unspecified error)

FRU Device Description : dimm0 (ID 1)
 Device not present (Unspecified error)

FRU Device Description : dimm1 (ID 2)
 Device not present (Unspecified error)

FRU Device Description : cpu0 (ID 3)
 Device not present (Unspecified error)

FRU Device Description : cpu1 (ID 4)
 Device not present (Unspecified error)

Thanks
- Jiandi


More information about the openbmc mailing list