OpenBMC - FRU inventory with Entity Manager
Vijay Khemka
vijaykhemka at fb.com
Thu Aug 27 15:32:09 AEST 2020
I don't think ipmi fru command is pointing to the right dbus object of FruDevice. We may have to fix or add this support in ipmid for standard fru command. Currently this command has been overridden by intel-ipmi-oem and fb-ipmi-oem for their respective target. If you add intel-ipmi-oem to your image then it should work.
Regards
-Vijay
On 8/26/20, 5:54 PM, "openbmc on behalf of Jiandi An" <openbmc-bounces+vijaykhemka=fb.com at lists.ozlabs.org on behalf of jan at nvidia.com> wrote:
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