Class DeviceId

java.lang.Object
org.metricshub.ipmi.client.DeviceId

public final class DeviceId extends Object
The identity of the BMC: its manufacturer and product IDs, its firmware revision, the IPMI version it implements and the functions it provides (Get Device ID, IPMI 2.0 section 20.1). The manufacturer ID is the IANA enterprise number of the vendor (2 for IBM, 343 for Intel, 674 for Dell, 10876 for Supermicro, 19046 for Lenovo...), which tells which OEM records and commands to expect.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    Returns the auxiliary firmware revision, four bytes whose meaning the manufacturer defines (a build number, a boot block version).
    boolean
    Tells whether the BMC is in normal operation, rather than updating its firmware or its SDR repository.
    Returns the reply of the BMC, as the protocol core decodes it.
    Returns the firmware revision as ipmitool prints it: the major revision, a dot and the two digits of the minor revision (1.44, 2.05).
    Returns the functions the BMC provides: sensors, SDR repository, SEL, FRU inventory, chassis...
    int
    id()
    Returns the device ID the manufacturer gives the controller, 0 when unspecified.
    Returns the version of IPMI the BMC implements: 2.0, or 1.5 for a BMC that does not implement RMCP+.
    int
    Returns the manufacturer ID: the IANA enterprise number of the vendor of the BMC.
    int
    Returns the product ID, as the manufacturer numbers its products.
    boolean
    Tells whether the device provides Device SDRs, as a satellite controller does.
    int
    Returns the revision of the device, as the manufacturer numbers it.
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Method Details

    • id

      public int id()
      Returns the device ID the manufacturer gives the controller, 0 when unspecified.
      Returns:
      the device ID
    • revision

      public int revision()
      Returns the revision of the device, as the manufacturer numbers it.
      Returns:
      the device revision
    • firmwareRevision

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

      public byte[] auxiliaryFirmwareRevision()
      Returns the auxiliary firmware revision, four bytes whose meaning the manufacturer defines (a build number, a boot block version).
      Returns:
      the four bytes, or an empty array when the BMC does not send them
    • ipmiVersion

      public String ipmiVersion()
      Returns the version of IPMI the BMC implements: 2.0, or 1.5 for a BMC that does not implement RMCP+.
      Returns:
      the IPMI version
    • manufacturerId

      public int manufacturerId()
      Returns the manufacturer ID: the IANA enterprise number of the vendor of the BMC.
      Returns:
      the manufacturer ID, 0 when unspecified
    • productId

      public int productId()
      Returns the product ID, as the manufacturer numbers its products.
      Returns:
      the product ID
    • available

      public boolean available()
      Tells whether the BMC is in normal operation, rather than updating its firmware or its SDR repository.
      Returns:
      true when the device is available
    • providesDeviceSdrs

      public boolean providesDeviceSdrs()
      Tells whether the device provides Device SDRs, as a satellite controller does.
      Returns:
      true when the device provides Device SDRs
    • functions

      public Set<DeviceFunction> functions()
      Returns the functions the BMC provides: sensors, SDR repository, SEL, FRU inventory, chassis...
      Returns:
      the functions, empty when the BMC flags none
    • data

      public GetDeviceIdResponseData data()
      Returns the reply of the BMC, as the protocol core decodes it.
      Returns:
      the reply to Get Device ID
    • toString

      public String toString()
      Overrides:
      toString in class Object