Class GetDeviceIdResponseData

java.lang.Object
org.metricshub.ipmi.core.coding.commands.app.GetDeviceIdResponseData
All Implemented Interfaces:
ResponseData

public class GetDeviceIdResponseData extends Object implements ResponseData
Wrapper for the Get Device ID response (IPMI 2.0 table 20-2): the device ID and revision, the firmware revision, the IPMI version, the functions the device provides, the manufacturer and product IDs and the optional auxiliary firmware revision.
  • Field Details

    • MINIMUM_LENGTH

      public static final int MINIMUM_LENGTH
      The length of the response data without the auxiliary firmware revision.
      See Also:
    • LENGTH_WITH_AUXILIARY_REVISION

      public static final int LENGTH_WITH_AUXILIARY_REVISION
      The length of the response data with the auxiliary firmware revision.
      See Also:
  • Constructor Details

    • GetDeviceIdResponseData

      public GetDeviceIdResponseData(byte[] responseData)
      Decodes the response data.
      Parameters:
      responseData - the response data bytes, after the completion code
      Throws:
      IllegalArgumentException - when they are shorter than MINIMUM_LENGTH
  • Method Details

    • getDeviceId

      public int getDeviceId()
      Returns:
      the device ID (byte 1), 00h when unspecified
    • getDeviceRevision

      public int getDeviceRevision()
      Returns:
      the device revision (byte 2, bits 3:0)
    • providesDeviceSdrs

      public boolean providesDeviceSdrs()
      Returns:
      true when the device provides Device SDRs (byte 2, bit 7)
    • isDeviceAvailable

      public boolean isDeviceAvailable()
      Returns:
      true when the device is in normal operation, false when a firmware or SDR repository update is in progress (byte 3, bit 7)
    • getMajorFirmwareRevision

      public int getMajorFirmwareRevision()
      Returns:
      the major firmware revision (byte 3, bits 6:0, binary)
    • getMinorFirmwareRevision

      public int getMinorFirmwareRevision()
      Returns:
      the minor firmware revision byte (byte 4), BCD encoded by the specification: 44h for .44
    • getFirmwareRevision

      public String getFirmwareRevision()
      Returns:
      the firmware revision as ipmitool prints it: the major revision, a dot and the two BCD digits of the minor revision (1.44, 2.05)
    • getIpmiVersion

      public String getIpmiVersion()
      Returns:
      the IPMI version the device implements, from the BCD byte 5 (2.0, 1.5)
    • getAdditionalDeviceSupport

      public byte getAdditionalDeviceSupport()
      Returns:
      the additional device support byte (byte 6): bit 0 sensor device, 1 SDR repository device, 2 SEL device, 3 FRU inventory device, 4 IPMB event receiver, 5 IPMB event generator, 6 bridge, 7 chassis device
    • getManufacturerId

      public int getManufacturerId()
      Returns:
      the manufacturer ID (bytes 7 to 9, 20 bits), the IANA enterprise number of the manufacturer; 0 when unspecified, 0FFFFFh when reserved
    • getProductId

      public int getProductId()
      Returns:
      the product ID (bytes 10 and 11), as the manufacturer numbers its products
    • getAuxiliaryFirmwareRevision

      public byte[] getAuxiliaryFirmwareRevision()
      Returns:
      the auxiliary firmware revision information (bytes 12 to 15), whose meaning the manufacturer defines; empty when the device does not send it