Fix for GetFanControlConfiguration IPMI command

GetFanControlConfiguration IPMI command not working as expepcted.
So updated busctl interface to fetch correct service from object Mapper.

Tested:
Before Fix:
Command: ipmitool raw 0x30 0x8a 0x00
Response:
Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0x8a
rsp=0xcc): Invalid data field in request
Command: busctl call "xyz.openbmc_project.ObjectMapper"
"/xyz/openbmc_project/object_mapper" "xyz.openbmc_project.ObjectMapper"
GetObject sas /xyz/openbmc_project/inventory/system/chassis/motherboard/CPU_1
1 "xyz.openbmc_project.Inventory.Item"
Response: Call failed: The resource is not found.

After Fix:
Command: ipmitool raw 0x30 0x8a 0x00
Response: 80 00 04 00 00 00 00
Command: busctl call "xyz.openbmc_project.ObjectMapper"
"/xyz/openbmc_project/object_mapper" "xyz.openbmc_project.ObjectMapper"
GetObject sas /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
1 "xyz.openbmc_project.Inventory.Item"
Response: a{sas} 1 "xyz.openbmc_project.Smbios.MDR_V2" 10
"org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer"
"org.freedesktop.DBus.Properties" "xyz.openbmc_project.Association.Definitions"
"xyz.openbmc_project.Inventory.Connector.Slot"
"xyz.openbmc_project.Inventory.Decorator.Asset"
"xyz.openbmc_project.Inventory.Decorator.LocationCode"
"xyz.openbmc_project.Inventory.Decorator.Revision"
"xyz.openbmc_project.Inventory.Item" "xyz.openbmc_project.Inventory.Item.Cpu"

Change-Id: Ic212637113c3cb52867ba7addcb599547c1ce7a2
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com>
1 file changed
tree: c0dbd5fce975562a5f8c831c642f3b5c90849862
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-allowlist.py
  13. ipmi-allowlist.conf
  14. LICENSE
  15. OWNERS
  16. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing