Fix for SMMDR - Send Directory Info

Issue: SMMDR send directory Info command giving response as 0xce
which is incorrect.

Fix: Update request for SMMDR send directory Info command as per IPMI
OEM commands documentation and provided fix to get correct response
as provided in test results.

Tested:
Verified using ipmitool raw commands.
Before:
Command: ipmitool raw 0x3E 0x38 0x01 0x01 2 1 1 0  40 41 42 43 44 45 46
         47 48 49 50 51 52 53 50 0x42 40 41 42 43 44 45 46 47 48 49 50
         51 52 53 50 0x42  //SMMDR send Dir info
Response: Unable to send RAW command (channel=0x0 netfn=0x3e lun=0x0
          cmd=0x38 rsp=0xce): Command response could not be provided

After:
Command: ipmitool raw 0x3E 0x38 0x01 0x01 2 1 2 0  40 41 42 43 44 45 46
         47 48 49 50 51 52 53 50 0x42 40 41 42 43 44 45 46 47 48 49 50
         51 52 53 50 0x42   //SMMDR send Dir info
Response:  01                //True
Command : ipmitool raw 0x3E 0x31 1 1  0  //SMMDR get Dir info
Response: 02 01 01 00 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33
	  34 35 36 42

Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: I75d5d08c479922dbd541b1d1b6587f3cf24de5f0
1 file changed
tree: 715d2f241cba5c52418c7a1332801983baed97c3
  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-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  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