89
BMC User Guide Version latest Graphcore Ltd Nov 08, 2021

BMC User Guide

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BMC User Guide

BMC User GuideVersion latest

Graphcore Ltd

Nov 08, 2021

Page 2: BMC User Guide

CONTENTS

1 Introduction 11.1 BMC command line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Graphical user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.6 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 IPU-M2000 BMC specification 32.1 BMC subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.1 System FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 BMC functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 IPU-M2000 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Supported IPMI commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Supported ipmitool commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Power operations 93.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Sensor monitoring 164.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.6 List of monitored sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Inventory monitoring 345.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Events and logging 426.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Version: latest (2021-11-08) i

Page 3: BMC User Guide

6.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.6 List of supported events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.6.1 Sensor crossing threshold events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.6.2 Inventory items presence or functional-state events . . . . . . . . . . . . . . . . . . . . . . . 497 Maintenance mode and BIST 527.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527.2 Host command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527.3 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.4 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.5 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.6 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 Firmware operations 548.1 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548.2 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.3 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.4 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 User management 589.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629.6 LDAP integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6310 Network configuration 6610.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6610.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6710.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6710.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6811 Serial over LAN (SoL) 6911.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6911.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6911.3 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7012 Debug collector 7112.1 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7213 Reset lost root password 7313.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7313.2 Factory reset from U-Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7314 Time settings 7514.1 BMC command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7514.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7614.3 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7614.4 IPMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7714.5 Redfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7715 Summary of supported IPMI commands 78

16 Trademarks & copyright 86

Version: latest (2021-11-08) ii

Page 4: BMC User Guide

CHAPTER

ONE

INTRODUCTION

This document defines the functions and the interfaces provided by the BMC software on an IPU-M2000.Note: Note that setting a power cap is an advance preview feature in the current versions of the IPU-M2000.To access the BMC, you will need the following information from the system administrator:

• BMC host name or IP address• OpenBMC user ID and password

Initially, there will a single default user account on the BMC. When you log in as that user you can create furtheraccounts, if you wish (see Section 9, User management).

1.1 BMC command line interface

To use the command-line interface, you must be logged in to the BMC via SSH or the serial console.The command line interface uses either standard Linux commands or the ipum_utils command.

1.2 Graphical user interface

A graphical user interface (GUI) to the BMC is available. You can access this with a web browser.

1.3 REST API

You can send REST API commands using curl or the openbmctool.py command line tool on the host server.OpenBMC recommends token-based authentication when using the REST interface and provides some commandexamples, including power related operations. See the “OpenBMC cheatsheet”. A successful REST commandresults in a “200 OK” message as shown below:{

"data": null,"message": "200 OK","status": "ok"

}

Version: latest (2021-11-08) 1

Page 5: BMC User Guide

BMC User Guide

1.4 IPMI

You can use the the ipmitool to control the BMC over IPMI. You can download this from https://github.com/ipmitool/ipmitool.

1.5 Redfish

The Redfish standard is a suite of specifications that deliver an industry standard protocol providing a RESTfulinterface for the management of servers, storage and networking.The IPU-M2000 BMC supports a Redfish basic profile. You can perform operations through the Redfish interfaceby sending curl queries to the URI. You can also use a browser to access the Redfish GUI.

1.6 Abbreviations and acronyms

Common abbreviations used by this document are listed in Table 1.1.Table 1.1: Abbreviations

Abbreviation Description

BGA Ball grid array packageBIST Built-in self-testBMC Baseboard management controllerCLI Command line interfaceFRU Field replaceable unitGUI Graphical user interfaceGW IPU gateway deviceIPMI Intelligent platform management interfaceICU IPU control unitIPU Intelligence Processing UnitJSON JavaScript object notation format for representing dataNTP Network time protocolPSU Power supply unitREST Representational state transfer web APIRPM Revolutions per minuteSDR Sensor data recordSEL System event logSNMP Simple network management protocolSoL Serial over LAN

Version: latest (2021-11-08) 2

Page 6: BMC User Guide

CHAPTER

TWO

IPU-M2000 BMC SPECIFICATION

The IPU-M2000 baseboard management controller (BMC) runs software based on the OpenBMC project.The responsibilities of the BMC software stack are to control, monitor and manage system hardware, includingpower, sensors, inventories and event logging.You can control and monitor the system, via the BMC, using a variety of user interfaces such as a command lineinterface (CLI), graphical user interface (GUI), REST API, IPMI and Redfish.

2.1 BMC subsystem

A block diagram of the IPU-M2000, showing the BMC subsystem, is shown in Fig. 2.1.The physical components in the BMC subsystem are:

• ASPEED AST2520 baseboard management controller• System FPGA• 128 MB serial boot flash• 1 GB of DDR4 DRAM• One USB port — Micro-USB management interface, see Fig. 13.1• Two 1 GbE ports — at boot the BMC Ethernet interface (eth0) is set to 100 Mbps, full-duplex, auto-negotiation on• Two I2C PSU interfaces for monitoring the state of the power supplies• Five fan interfaces for controlling and measuring the speed of the system cooling fans• Three LEDs used to indicate status

2.1.1 System FPGA

The FPGA is mainly a status and control signal concentrator. It ensures that those control signals are always in asafe state. In addition, it provides hardware monitoring and protection for any thermal or voltage abnormalities.It also controls the sequencing of supply voltages, clocks and reset signals.

Version: latest (2021-11-08) 3

Page 7: BMC User Guide

BMC User Guide

2.1.2 LEDs

There are three LEDs used to indicate status:• Green indicates normal operation status• White is used to identify a specific IPU-M2000 in a system• Yellow indicates various error conditions:

– Temperature alert detected– Standby voltages detected failing– PSUs detected failing– Connector domain detected failing– GW 1 domain detected failing– IPU 1 and 2 or IPU 3 and 4 domains detected failing– Fan fail detected (too few fans or fans running too slow)– No profile configuration found in flash– BMC flash not trusted

2.2 BMC functions

The BMC supports the following system management functions:• Events and logging

• Firmware operations

• Inventory monitoring

• Maintenance mode and BIST

• Network configuration

• Power operations

• Sensor monitoring

• Time settings

• User management

Version: latest (2021-11-08) 4

Page 8: BMC User Guide

BMC User Guide

2.3 IPU-M2000 block diagram

Fig. 2.1: IPU-M2000 BMC block diagram

Version: latest (2021-11-08) 5

Page 9: BMC User Guide

BMC User Guide

2.4 Supported IPMI commands

2.5 Supported ipmitool commands

This section summarises the ipmitool commands supported by the BMC. For details of the parameters and ex-amples of use, see the appropriate user guide chapter.The BMC is tested with ipmitool version 1.8.18.

Table 2.1: Inventory monitoring

Command Description

fru print Display information about all FRUsfru print <fruid> Display information about the FRU with the specifiedID

Table 2.2: Events and logging

Command Description

sel clear Clear all event logssel list Display list of eventssel elist Display list of events with extended information

Table 2.3: Network configuration

Command Description

lan print Print network informationipsrc dhcp Enable DHCPipsrc static Configure static IPipaddr <ip_address> Set IP addressnetmask <x.x.x.x> Set IP addressdefgw ipaddr <ip_address> Set default gateway IP address

Table 2.4: Power operations

Version: latest (2021-11-08) 6

Page 10: BMC User Guide

BMC User Guide

Command Description

power off Hard power offpower soft Soft power offpower reset Warm rebootpower on Power onbmc reset cold BMC rebootdcmi power get_limit Get current status of power capdcmi power set_limit limit <limit> Set new power cap valuedcmi power activate Enable power cappingdcmi power deactivate Disable power capping

Table 2.5: Sensor monitoring

Command Description

sdr list Display sensor data repository (SDR) entry readingsand their statussdr elist Display extended sensor informationsensor list Display sensors and thresholds in a wide table formatsdr get <sensor_name> Display information for sensor data records specifiedby sensor IDsdr type Display a list of sensor typessdr type <sensor_type> Display all records from the SDR repository of a spe-cific type

Table 2.6: Serial over LAN (SoL)

Command Description

sol activate Access serial over LAN (SoL) interface

Table 2.7: Time settings

Command Description

sel time set “DD/MM/YYYY HH:MM:SS” Set time and date (will fail if system is in NTP mode)sel time get Get time and date

Table 2.8: User management

Version: latest (2021-11-08) 7

Page 11: BMC User Guide

BMC User Guide

Command Description

user summary [<channel_number>] Print a summary, including number of users on thesystemuser list [<channel_number>] List usersuser set name <user_id> <username> Create a user with <user_id> and <username>user set password <user_id> [<password> <16|20>] Create a password for user with <user_id> (the pass-word can be 16 or 20 bytes in length)user enable <user_id> Enable user with <user_id> (must be done after creat-ing user and password)user disable <user_id> Disable user with <user_id>user priv <user_id> <privilege_level> [<chan-nel_number>] Set privilege level for user with <user_id>channel setaccess <channel> <user_id> ipmi=on Enable IPMI access for a user• The maximum number of system users is 30• The maximum number of users with IPMI access is 15• The maximum username length for an IPMI user is 16 bytes• User IDs are from 1 to 15• Passwords must be a minimum of 8 characters in length• The privilege levels are:

– 0x1: Callback– 0x2: User– 0x3: Operator– 0x4: Administrator– 0x5: OEM Proprietary– 0xF: No Access

Version: latest (2021-11-08) 8

Page 12: BMC User Guide

CHAPTER

THREE

POWER OPERATIONS

This section describes power management operations using the CLI, GUI, REST, IPMI and Redfish interfaces.

3.1 BMC command line

You can use the ipum-utils command to control power. Table 3.1 lists the available commands.Table 3.1: Power control options

Parameter Description

power_hardoff Immediately turn off power for the IPU and gateway domains, without saving statepower_softoff Save state and turn off power for the IPU and gateway domainspower_hardreset Safely turn power off and on for all power domains including the connector domainpower_on Turn on power for the IPU and gateway domainspowercap Show the current power cap setting

To reboot the BMC, use the Linux reboot command.You can set a limit on the power used by the system with the powercap command, as described below.$ powercap -hUsage: powercap--get-pcap | -g: Read current power cap from MCP47FEB DAC--user-pcap | -p: Print user power cap config setting--set-pcap | -s: Set power cap to the specified value in range [600-2600] Watts. Only writes to MCP47FEB DAC volatile␣→˓registers.--force-pcap | -f: Force power cap to the specified value in range [600-2600] Watts. Updates MCP47FEB DAC and and user␣→˓configs.

Running ipum-utils powercap with no options will display the current setting.

3.2 GUI

You can use the GUI to perform power operations. The operations available in the GUI are described in Table 3.2.The user interface for these operations is shown in Fig. 3.1 and Fig. 3.2.Table 3.2: GUI power operations

Version: latest (2021-11-08) 9

Page 13: BMC User Guide

BMC User Guide

Command Description

Immediate shutdown Immediately turn off power for the IPU and gateway domains, without saving stateOrderly shutdown Save state and turn off power for the IPU and gateway domainsCold reboot Immediate shutdown followed by power onWarm reboot Orderly shutdown followed by power onPower On Turn on power for the IPU and gateway domains

Fig. 3.1: GUI: IPU-M2000 power operations

Version: latest (2021-11-08) 10

Page 14: BMC User Guide

BMC User Guide

Fig. 3.2: GUI: BMC reboot page

To manage power consumption in the GUI, select Manage Power Usage under the Server Control tab (see Fig.3.3).

Fig. 3.3: GUI: manage power use

The accepted power cap range is between 600 to 2600 Watts (AC).

Version: latest (2021-11-08) 11

Page 15: BMC User Guide

BMC User Guide

3.3 REST API

You can perform power operations through the REST API either by sending curl queries to the URI or by usingthe Graphcore openbmctool.py utility.Table 3.3 describes the available commands.

Table 3.3: Power operations using REST interface

Command Description

Hard power off Immediately turn off power for the IPU and gateway domains, without saving state$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}'␣→˓https://<bmcuser>:<bmcpass>@<bmcip>/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis power hardoff

Soft power off Save state and turn off power for the IPU and gateway domains$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}'␣→˓https://<bmcuser>:<bmcpass>@<bmcip>/xyz/openbmc_project/state/host0/attr/RequestedHostTransition

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis power softoff

Warm reboot Soft power off followed by power on$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.Reboot"}'␣→˓https://<bmcuser>:<bmcpass>@<bmcip>/xyz/openbmc_project/state/host0/attr/RequestedHostTransition

No direct openbmtool.py command available. You can use the “soft power off” and “power on” commandsinstead.Power on Turn on power for the IPU and gateway domains$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}'␣→˓https://<bmcuser>:<bmcpass>@<bmcip>/xyz/openbmc_project/state/host0/attr/RequestedHostTransition

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis power on

BMC reboot Reboot the BMC$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.BMC.Transition.Reboot"}'␣→˓https://<bmcuser>:<bmcpass>@<bmcip>/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> bmc reset

You can manage power consumption using the REST interface with the commands in Table 3.4.Table 3.4: Power consumption management using REST interface

Version: latest (2021-11-08) 12

Page 16: BMC User Guide

BMC User Guide

Command Description

Power cap status Get current settings$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis chassis pcap -gAttempting login...Chassis PowerCap State: {'PowerCap': 2400, 'PowerCapEnable': False}User root has been logged out

Set power cap Set new power cap value$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis pcap -s <600-2600>Attempting login...Attempting to disable power cap ...User root has been logged out

Disable power cap Disable power capping$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> chassis pcap -d

3.4 IPMI

Table 3.5 describes the ipmitool power-related commands that are available.Table 3.5: Power operations using IPMI interface

Command Description

Hard power off Immediately turn off power for the IPU and gateway domains, without saving state$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> power off

Soft power off Save state and turn off power for the IPU and gateway domains$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> power soft

Warm reboot Soft power off followed by power on$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> power reset

Power on Turn on power for the IPU and gateway domains$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> power on

BMC reboot Reboot the BMC$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> bmc reset cold

You can manage power consumption using the IPMI interface with the commands in Table 3.6.Table 3.6: Power consumption management using IPMI interface

Version: latest (2021-11-08) 13

Page 17: BMC User Guide

BMC User Guide

Command Description

Power cap status Get current settings$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> dcmi power get_limitCurrent Limit State: No Active Power Limit0Exception actions: Hard Power Off & Log Event to SELPower Limit: 2200 WattsCorrection time: 0 millisecondsSampling period: 0 seconds

Set power cap Set new power cap value$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> dcmi power set_limit limit 2100Current Limit State: No Active Power Limit0Exception actions: Hard Power Off & Log Event to SELPower Limit: 2100 WattsCorrection time: 0 millisecondsSampling period: 0 seconds

Enable power cap Enable power capping$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> dcmi power activatePower limit successfully activated

Disable power cap Disable power capping$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> dcmi power deactivatePower limit successfully deactivated

3.5 Redfish

You can see the supported power operations at https://<bmcip>/redfish/v1/Systems/system. Table 3.7 de-scribes the power operations.Table 3.7: Power operations using Redfish interface

Version: latest (2021-11-08) 14

Page 18: BMC User Guide

BMC User Guide

Command Description

HardpoweroffImmediately turn off power for the IPU and gateway domains, without saving state

$ curl -k -H "X-Auth-Token: <token>" -X POST https://${bmcip}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -→˓d '{"ResetType": "ForceOff"}' -u <bmcpass>:<bmcuser>

SoftpoweroffSave state and turn off power for the IPU and gateway domains

$ curl -k -H "X-Auth-Token: <token>" -X POST https://${bmcip}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -→˓d '{"ResetType": "GracefulShutdown"}' -u <bmcpass>:<bmcuser>

Warmreboot Soft power off followed by power on

$ curl -k -H "X-Auth-Token: <token>" -X POST https://${bmcip}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -→˓d '{"ResetType": "GracefulRestart"}' -u <bmcpass>:<bmcuser>

Poweron Turn on power for the IPU and gateway domains

$ curl -k -H "X-Auth-Token: <token>" -X POST https://${bmcip}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -→˓d '{"ResetType": "ForceOn"}' -u <bmcpass>:<bmcuser>

Version: latest (2021-11-08) 15

Page 19: BMC User Guide

CHAPTER

FOUR

SENSORMONITORING

This section describes the sensor monitoring operations using the CLI, GUI, REST, IPMI and Redfish interfaces. Alist of all available sensors and their thresholds is shown in Table 4.6.

4.1 BMC command line

You can use the ipum-utils command for sensor monitoring. Table 4.1 lists the available commands.Table 4.1: Sensor monitoring options

Parameter Description

sensor_list Display sensors present on the IPU-M2000 with the current sensor value, thresh-old levels, scale and unit. Threshold levels are defined as CRIT_HIGH, CRIT_LOW,WARN_HIGH andWARN_LOW, which correspond to critical high and low values,and warning high and low values.An example of the output from the command is shown below:$ ipum-utils sensor_listNAME VALUE CRIT_HIGH WARN_HIGH CRIT_LOW WARN_LOW SCALE UNITfan0_0 16319 18356 17522 7471 8405 0 RPMSfan0_1 15264 16911 16142 5040 5670 0 RPMS...fan4_1 15418 16911 16142 5040 5670 0 RPMSps0_input_power 0 1100000000 1000000000 0 0 -6 Wattsps0_output_power 0 1100000000 1000000000 0 0 -6 Wattsps1_input_power 292000000 1100000000 1000000000 0 0 -6 Wattsps1_output_power 288000000 1100000000 1000000000 0 0 -6 Wattstotal_power 288000000 2200000000 2000000000 0 0 -6 WattsIPU0_BGA_area_bottom 36447 70000 65000 5000 10000 -3 DegreesCIPU0_CoreV_bottom 38158 95000 90000 5000 10000 -3 DegreesC...ps1_outlet_temp 48000 75000 55000 0 0 -3 DegreesCps_dimm_temp 36500 90000 85000 0 5000 -3 DegreesCIPU01_3V3 3340 3465 3399 3135 3201 -3 VoltsIPU01_VDDDRV 6704 7140 7004 6460 6596 -3 Volts...stby_2v5_volt 2471 2625 2575 2375 2425 -3 Voltsstby_3v3_volt 3332 3465 3399 3135 3201 -3 Volts

Version: latest (2021-11-08) 16

Page 20: BMC User Guide

BMC User Guide

4.2 GUI

The sensor monitoring operations available in the GUI are described in Table 4.2.Table 4.2: GUI sensor monitoring operations

Command Description

Sensors Display the sensors present in the system with the current value and thresholdvalues. You can filter sensors by severity with the “Filter by severity” button.Fig. 4.1 shows the IPU-M2000 sensor-monitoring GUI page for this operation.

Fig. 4.1: GUI: IPU-M2000 sensor monitoring operations

Version: latest (2021-11-08) 17

Page 21: BMC User Guide

BMC User Guide

4.3 REST API

You can perform sensor monitoring through the REST interface either by sending curl queries to the URI or byusing the openbmctool.py utility. Table 4.3 describes the commands available.Table 4.3: Sensor monitoring using REST interface

Command Description

list List sensors available in the system. Using the openbmctool.py will print currentsensor values together with thresholds for critical high and low, and warning highand lowList all sensors:$ curl -k https://<bmcip>/xyz/openbmc_project/sensors/list -u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> sensors list

List sensor groups:$ curl -k https://<bmcip>/xyz/openbmc_project/sensors/<sensortype>/list -u <bmcuser>:<bmcpass>

Show individual sensors:$ curl -k https://<bmcip>/xyz/openbmc_project/ sensors/<sensortype>/<sensor_name>/list -u <bmcuser>:<bmcpass>

<sensortype> can be one of “voltage”, “temperature”, “power” or “fan_tach”enumerate Display information associated with the sensor$ curl -k https://<bmcip>/xyz/openbmc_project/sensors/<sensortype>/<sensor_name>/enumerate -u <bmcuser>:<bmcpass>

Example output from the command:$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> sensors listAttempting login...sensor | type | units | value | targetIPU0_BGA_area_bottom | temperature | DegreesC | 37.408 | N/AIPU0_CoreV_bottom | temperature | DegreesC | 38.024 | N/A...stby_1v8_volt | voltage | Volts | 1.802 | N/Astby_1v15_volt | voltage | Volts | 1.147 | N/Astby_2v5_volt | voltage | Volts | 2.471 | N/Astby_3v3_volt | voltage | Volts | 3.328 | N/Atotal_power | power | Watts | 288.0 | N/A

4.4 IPMI

Table 4.4 describes the ipmitool sensor-related commands that are available.Table 4.4: sensor operations using IPMI interface

Version: latest (2021-11-08) 18

Page 22: BMC User Guide

BMC User Guide

Command Description

SDR list Display sensor data repository (SDR) entry readings and their status$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sdr list

SDR extended list Display extended sensor information$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist

Sensor list Display sensors and thresholds in a wide table format$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sensor list

SDR get Display information for sensor data records specified by sensor ID$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sdr get <sensor_name>

The sensor name cannot be more than 16 characters longSDR type Display all records from the SDR repository of a specific type$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sdr type <sensor_type>

Use the command ipmitool sdr type to get a full list of sensor typesExample output from the command is shown below:$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elistBootProgress | 02h | ok | 34.1 |cpu0 | 08h | ok | 3.1 | Presence detectedpowersupply0 | 09h | ok | 10.1 | Presence detected, Failure detectedpowersupply1 | 0Ah | ok | 10.2 | Presence detecteddimm0 | 0Bh | ok | 32.1 | Presence Detecteddimm1 | 0Ch | ok | 32.2 | Presence Detected...IPU3_I2C48_Inlet | A9h | ok | 45.37 | 28 degrees CIPU3_I2C49_Outle | AAh | ok | 45.38 | 33 degrees C

4.5 Redfish

You can do sensor monitoring through the Redfish interface either by sending curl queries or browsing the URI.You can find the Sensors in the Chassis collection available at https://<bmcip>/redfish/v1/Chassis/. The Chas-sis collection represents a physical view of the IPU-M2000, containing items such as fans, power supplies andsensors.The sensors are divided into three groups: thermal, power and voltage.An example of using Redfish to view the thermal sensors associated with the chassis is shown below. The resultof browsing the same endpoint is shown in Fig. 4.2.$ curl -k https://<bmcip>/redfish/v1/Chassis/chassis/Thermal -u <bmcuser>:<bmcpass>{"@odata.context": "/redfish/v1/$metadata#Thermal.Thermal","@odata.id": "/redfish/v1/Chassis/chassis/Thermal","@odata.type": "#Thermal.v1_4_0.Thermal","Fans": [

{"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/0","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 7471,

(continues on next page)

Version: latest (2021-11-08) 19

Page 23: BMC User Guide

BMC User Guide

(continued from previous page)"LowerThresholdNonCritical": 8405,"MaxReadingRange": 0,"MemberId": "fan0_0","MinReadingRange": 0,"Name": "fan0 0","Reading": 10890,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 18356,"UpperThresholdNonCritical": 17522

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/1","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 5040,"LowerThresholdNonCritical": 5670,"MaxReadingRange": 0,"MemberId": "fan0_1","MinReadingRange": 0,"Name": "fan0 1","Reading": 7830,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 16911,"UpperThresholdNonCritical": 16142

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/2","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 7471,"LowerThresholdNonCritical": 8405,"MaxReadingRange": 0,"MemberId": "fan1_0","MinReadingRange": 0,"Name": "fan1 0","Reading": 10752,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 18356,"UpperThresholdNonCritical": 17522

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/3","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 5040,"LowerThresholdNonCritical": 5670,"MaxReadingRange": 0,"MemberId": "fan1_1","MinReadingRange": 0,"Name": "fan1 1","Reading": 7730,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 16911,"UpperThresholdNonCritical": 16142

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/4",

(continues on next page)

Version: latest (2021-11-08) 20

Page 24: BMC User Guide

BMC User Guide

(continued from previous page)"@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 7471,"LowerThresholdNonCritical": 8405,"MaxReadingRange": 0,"MemberId": "fan2_0","MinReadingRange": 0,"Name": "fan2 0","Reading": 10676,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 18356,"UpperThresholdNonCritical": 17522

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/5","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 5040,"LowerThresholdNonCritical": 5670,"MaxReadingRange": 0,"MemberId": "fan2_1","MinReadingRange": 0,"Name": "fan2 1","Reading": 7705,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 16911,"UpperThresholdNonCritical": 16142

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/6","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 7471,"LowerThresholdNonCritical": 8405,"MaxReadingRange": 0,"MemberId": "fan3_0","MinReadingRange": 0,"Name": "fan3 0","Reading": 11066,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 18356,"UpperThresholdNonCritical": 17522

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/7","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 5040,"LowerThresholdNonCritical": 5670,"MaxReadingRange": 0,"MemberId": "fan3_1","MinReadingRange": 0,"Name": "fan3 1","Reading": 7577,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 16911,"UpperThresholdNonCritical": 16142

},

(continues on next page)

Version: latest (2021-11-08) 21

Page 25: BMC User Guide

BMC User Guide

(continued from previous page){

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/8","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 7471,"LowerThresholdNonCritical": 8405,"MaxReadingRange": 0,"MemberId": "fan4_0","MinReadingRange": 0,"Name": "fan4 0","Reading": 10664,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 18356,"UpperThresholdNonCritical": 17522

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Fans/9","@odata.type": "#Thermal.v1_3_0.Fan","LowerThresholdCritical": 5040,"LowerThresholdNonCritical": 5670,"MaxReadingRange": 0,"MemberId": "fan4_1","MinReadingRange": 0,"Name": "fan4 1","Reading": 7668,"ReadingUnits": "RPM","Status": {

"Health": "OK","State": "Enabled"

},"UpperThresholdCritical": 16911,"UpperThresholdNonCritical": 16142

}],"Id": "Thermal","Name": "Thermal","Redundancy": [],"Temperatures": [

{"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Temperatures/0","@odata.type": "#Thermal.v1_3_0.Temperature","LowerThresholdCritical": 0.0,"LowerThresholdNonCritical": 5.0,"MaxReadingRangeTemp": 0.0,"MemberId": "exhaust","MinReadingRangeTemp": 0.0,"Name": "exhaust","ReadingCelsius": 33.5,"Status": {

"Health": "Warning","State": "Enabled"

},"UpperThresholdCritical": 37.0,"UpperThresholdNonCritical": 32.0

},{

"@odata.id": "/redfish/v1/Chassis/chassis/Thermal#/Temperatures/1","@odata.type": "#Thermal.v1_3_0.Temperature","LowerThresholdCritical": 0.0,"LowerThresholdNonCritical": 5.0,"MaxReadingRangeTemp": 0.0,"MemberId": "inlet","MinReadingRangeTemp": 0.0,"Name": "inlet","ReadingCelsius": 29.0,"Status": {

"Health": "OK",

(continues on next page)

Version: latest (2021-11-08) 22

Page 26: BMC User Guide

BMC User Guide

(continued from previous page)"State": "Enabled"

},"UpperThresholdCritical": 35.0,"UpperThresholdNonCritical": 30.0

}]

Version: latest (2021-11-08) 23

Page 27: BMC User Guide

BMC User Guide

Fig. 4.2: Thermal sensor outputVersion: latest (2021-11-08) 24

Page 28: BMC User Guide

BMC User Guide

4.6 List of monitored sensors

Table 4.5 lists all the sensors monitored by the BMC. Table 4.6 lists their types and thresholds for logging events.Some sensors have an associated event or action when the sensor crosses a threshold. These are listed in Table4.7.Note: Sensor event logs are not automatically cleared once the sensor is in the valid range again after a thresholdviolation. You must manually clear these event logs using the GUI, REST or ipmitool, or by deleting the log inRedfish.

Table 4.5: Sensors associated with each inventory item

Inventory items Sensor name Comments

Fans fan0_0 Fan module 0fan0_1 Fan module 0fan1_0 Fan module 1fan1_1 Fan module 1fan2_0 Fan module 2fan2_1 Fan module 2fan3_0 Fan module 3fan3_1 Fan module 3fan4_0 Fan module 4fan4_1 Fan module 4

Gateway gw_core_tempgw1_0v85_voltgw1_0v9_voltgw1_1v8_voltgw1_3v3_voltgw1_6v8_voltvrm_gw1_ic10_6v8_currvrm_gw1_ic10_6v8_tempvrm_gw1_ic10_6v8_vinvrm_gw1_ic10_6v8_voutvrm_gw1_ic11_3v3_currvrm_gw1_ic11_3v3_tempvrm_gw1_ic12_2v5_currvrm_gw1_ic12_2v5_tempvrm_gw1_ic12_2v5_vinvrm_gw1_ic12_2v5_voutvrm_gw1_ic13_1v8_curr

continues on next page

Version: latest (2021-11-08) 25

Page 29: BMC User Guide

BMC User Guide

Table 4.5 – continued from previous pageInventory items Sensor name Comments

vrm_gw1_ic13_1v8_tempvrm_gw1_ic13_1v8_vinvrm_gw1_ic13_1v8_vout

IPUs IPU0_BGA_area_bottom IPU 0 BGA bottom sideIPU0_CoreV_bottom IPU 0 phase tempIPU0_I2C48_Inlet_top IPU 0 air-inlet top sideIPU0_I2C4B_Outlet_top IPU 0 air-outlet top sideIPU0_Inlet_top IPU 0 air-inlet top sideIPU0_Outlet_0_top IPU 0 air-outlet top sideIPU0_PVT_East IPU 0 on-chip east edgeIPU0_PVT_West IPU 0 on-chip west edgeIPU0_THERM_2_BGA_area_bot IPU 0 BGA bottom sideIPU0_VDDIO IPU 0IPU0_VDDPLL IPU 0IPU01_VDD_CLK_BUF IPU 0 & 1IPU01_VDDDRV IPU 0 & 1IPU01_VDDUSB IPU 0 & 1IPU1_BGA_area_bottom IPU 1 BGA bottom sideIPU1_CoreV_bottom IPU 1 phase tempIPU1_I2C4A_Inlet_top IPU 1 air-inlet top sideIPU1_Outlet_0_bottom IPU 1 air-outlet top sideIPU1_PVT_East IPU 1 on-chip east edgeIPU1_PVT_West IPU 1 on-chip west edgeIPU1_VDDIO IPU 1IPU1_VDDPLL IPU 1IPU2_BGA_area_bottom IPU 2 BGA bottom sideIPU2_CoreV_bottom IPU 2 phase tempIPU2_I2C48_Inlet_top IPU 2 air-inlet top sideIPU2_I2C4B_Outlet_top IPU 2 air-outlet top sideIPU2_Inlet_top IPU 2 air-inlet top sideIPU2_Outlet_0_top IPU 2 air-outlet top sideIPU2_PVT_East IPU 2 on-chip east edgeIPU2_PVT_West IPU 2 on-chip west edgeIPU2_THERM_2_BGA_area_bot IPU 2 BGA bottom sideIPU2_VDDIO IPU 2IPU2_VDDPLL IPU 2

continues on next pageVersion: latest (2021-11-08) 26

Page 30: BMC User Guide

BMC User Guide

Table 4.5 – continued from previous pageInventory items Sensor name Comments

IPU23_VDD_CLK_BUF IPU 2 & 3IPU23_VDDDRV IPU 2 & 3IPU23_VDDUSB IPU 2 & 3IPU3_BGA_area_bottom IPU 3 BGA bottom sideIPU3_CoreV_bottom IPU 3 phase tempIPU3_I2C4A_Inlet_top IPU 3 air-inlet top sideIPU3_Outlet_0_bottom IPU 3 air-outlet top sideIPU3_PVT_East IPU 3 on-chip east edgeIPU3_PVT_West IPU 3 on-chip west edgeIPU3_VDDIO IPU 3IPU3_VDDPLL IPU 3vrm_ipu01_ic16_3v3_curr IPU 0 & 1vrm_ipu01_ic16_3v3_temp IPU 0 & 1vrm_ipu01_ic16_3v3_vin IPU 0 & 1vrm_ipu01_ic16_3v3_vout IPU 0 & 1vrm_ipu23_ic16_3v3_curr IPU 2 & 3vrm_ipu23_ic16_3v3_temp IPU 0 & 1vrm_ipu23_ic16_3v3_vin IPU 2 & 3vrm_ipu23_ic16_3v3_vout IPU 2 & 3

Mainboard aux_1v2_voltconn_1v8_voltconn_2v5_voltconn_3v3_voltexhaust_temp (mainboard)inlet_temp (mainboard)main_12v0_voltstbe_1v2_voltstby_1v0_voltstby_1v15_voltstby_1v8_voltstby_2v5_voltstby_3v3_voltvrm_cn0_ic5_3v3_currvrm_cn0_ic5_3v3_tempvrm_cn0_ic5_3v3_vin

continues on next page

Version: latest (2021-11-08) 27

Page 31: BMC User Guide

BMC User Guide

Table 4.5 – continued from previous pageInventory items Sensor name Comments

vrm_cn0_ic5_3v3_voutMemory pl_dimm_b_temp PL DIMM B

pl_dimm_c_temp PL DIMM Cps_dimm_a_temp PS DIMM A

Power supply ps0_inlet_temp Power supply 0ps0_input_Power Power supply 0ps0_input_volt Power supply 0ps0_outlet_temp Power supply 0ps0_output_Power Power supply 0ps0_output_volt Power supply 0ps1_hotspot_temp Power supply 1ps1_inlet_temp Power supply 1ps1_input_Power Power supply 1ps1_input_volt Power supply 1ps1_outlet_temp Power supply 1ps1_output_Power Power supply 1ps1_output_volt Power supply 1total_Power Total power for power supply 0 & 1

Note: Fan module 0 is the furthest left, when looking at the rear of the IPU-M2000. Fan module 4 is the furthestright.Power supply 0 is on the left, when looking at the rear. Power supply 1 is on the right.

Table 4.6: Sensors monitored by BMC

Sensor name Type Units Warn low Warn high Critical low Critical high

fan0_0 Tacho RPM 7789 29400 6924 30800fan0_1 Tacho RPM 6597 26400 5864 27600fan1_0 Tacho RPM 7789 29400 6924 30800fan1_1 Tacho RPM 6597 26400 5864 27600fan2_0 Tacho RPM 7789 29400 6924 30800fan2_1 Tacho RPM 6597 26400 5864 27600fan3_0 Tacho RPM 7789 29400 6924 30800fan3_1 Tacho RPM 6597 26400 5864 27600fan4_0 Tacho RPM 7789 29400 6924 30800fan4_1 Tacho RPM 6597 26400 5864 27600

continues on next page

Version: latest (2021-11-08) 28

Page 32: BMC User Guide

BMC User Guide

Table 4.6 – continued from previous pageSensor name Type Units Warn low Warn high Critical low Critical high

ps0_input_power Power 10-6 W 0 1300000000 0 1400000000ps0_output_power Power 10-6 W 0 1300000000 0 1400000000ps1_input_power Power 10-6 W 0 1300000000 0 1400000000ps1_output_power Power 10-6 W 0 1300000000 0 1400000000total_power Power 10-6 W 0 2600000000 0 2800000000ps0_inlet_temp Temp 10-3 ºC 0 40000 0 60000ps0_outlet_temp Temp 10-3 ºC 0 55000 0 75000ps1_hotspot_temp Temp 10-3 ºC 0 80000 0 90000ps1_inlet_temp Temp 10-3 ºC 0 40000 0 60000ps1_outlet_temp Temp 10-3 ºC 0 55000 0 75000ps0_input_volt Voltage 10-3 V 100000 250000 90000 264000ps0_output_volt Voltage 10-3 V 11500 12500 11000 13000ps1_input_volt Voltage 10-3 V 100000 250000 90000 264000ps1_output_volt Voltage 10-3 V 11500 12500 11000 13000aux_1v2_volt Voltage 10-3 V 1158 1242 1140 1260conn_1v8_volt Voltage 10-3 V 1737 1863 1710 1890conn_2v5_volt Voltage 10-3 V 1737 2375 1710 2412conn_3v3_volt Voltage 10-3 V 3185 3415 3135 3465gw1_0v85_volt Voltage 10-3 V 820 879 807 892gw1_0v9_volt Voltage 10-3 V 868 931 855 945gw1_1v8_volt Voltage 10-3 V 1737 1863 1710 1890gw1_3v3_volt Voltage 10-3 V 3185 3415 3135 3465gw1_6v8_volt Voltage 10-3 V 6596 7004 6460 7140main_12v0_volt Voltage 10-3 V 11500 12500 11000 13000stbe_1v2_volt Voltage 10-3 V 1158 1242 1140 1260stby_1v0_volt Voltage 10-3 V 965 1035 950 1050stby_1v15_volt Voltage 10-3 V 1109 1190 1097 1207stby_1v8_volt Voltage 10-3 V 1737 1863 1710 1890stby_2v5_volt Voltage 10-3 V 2412 2587 2375 2625stby_3v3_volt Voltage 10-3 V 3185 3415 3135 3465exhaust_temp (mainboard) Temp 10-3 ºC 5000 70000 0 75000inlet_temp (mainboard) Temp 10-3 ºC 5000 40000 0 45000gw_core_temp Temp 10-3 ºC 5000 100000 0 120000pl_dimm_b_temp Temp 10-3 ºC 5000 85000 0 90000pl_dimm_c_temp Temp 10-3 ºC 5000 85000 0 90000

continues on next pageVersion: latest (2021-11-08) 29

Page 33: BMC User Guide

BMC User Guide

Table 4.6 – continued from previous pageSensor name Type Units Warn low Warn high Critical low Critical high

ps_dimm_a_temp Temp 10-3 ºC 5000 85000 0 90000IPU0_BGA_area_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU0_CoreV_bottom Temp 10-3 ºC 10000 90000 5000 95000IPU0_I2C48_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU0_I2C4B_Outlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU0_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU0_Outlet_0_top Temp 10-3 ºC 10000 65000 5000 70000IPU0_PVT_East Temp 10-3 ºC 10000 77000 5000 85000IPU0_PVT_West Temp 10-3 ºC 10000 77000 5000 85000IPU0_THERM_2_BGA_area_bot Temp 10-3 ºC 10000 65000 5000 70000IPU1_BGA_area_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU1_CoreV_bottom Temp 10-3 ºC 10000 90000 5000 95000IPU1_I2C4A_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU1_Outlet_0_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU1_PVT_East Temp 10-3 ºC 10000 77000 5000 85000IPU1_PVT_West Temp 10-3 ºC 10000 77000 5000 85000IPU2_BGA_area_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU2_CoreV_bottom Temp 10-3 ºC 10000 90000 5000 95000IPU2_I2C48_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU2_I2C4B_Outlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU2_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU2_Outlet_0_top Temp 10-3 ºC 10000 65000 5000 70000IPU2_PVT_East Temp 10-3 ºC 10000 77000 5000 85000IPU2_PVT_West Temp 10-3 ºC 10000 77000 5000 85000IPU2_THERM_2_BGA_area_bot Temp 10-3 ºC 10000 65000 5000 70000IPU3_BGA_area_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU3_CoreV_bottom Temp 10-3 ºC 10000 90000 5000 95000IPU3_I2C4A_Inlet_top Temp 10-3 ºC 10000 65000 5000 70000IPU3_Outlet_0_bottom Temp 10-3 ºC 10000 65000 5000 70000IPU3_PVT_East Temp 10-3 ºC 10000 77000 5000 85000IPU3_PVT_West Temp 10-3 ºC 10000 77000 5000 85000IPU01_VDDDRV Voltage 10-3 V 4850 5150 4750 5250IPU01_VDDUSB Voltage 10-3 V 3007 3193 2945 3255IPU01_VDD_CLK_BUF Voltage 10-3 V 3201 3399 3135 3465IPU0_VDDIO Voltage 10-3 V 1737 1863 1710 1890

continues on next pageVersion: latest (2021-11-08) 30

Page 34: BMC User Guide

BMC User Guide

Table 4.6 – continued from previous pageSensor name Type Units Warn low Warn high Critical low Critical high

IPU0_VDDPLL Voltage 10-3 V 1737 1863 1710 1890IPU1_VDDIO Voltage 10-3 V 1737 1863 1710 1890IPU1_VDDPLL Voltage 10-3 V 1737 1863 1710 1890IPU23_VDDDRV Voltage 10-3 V 4850 5150 4750 5250IPU23_VDDUSB Voltage 10-3 V 3201 3399 3135 3465IPU23_VDD_CLK_BUF Voltage 10-3 V 3201 3399 3135 3465IPU2_VDDIO Voltage 10-3 V 1737 1863 1710 1890IPU2_VDDPLL Voltage 10-3 V 1737 1863 1710 1890IPU3_VDDIO Voltage 10-3 V 1737 1863 1710 1890IPU3_VDDPLL Voltage 10-3 V 1737 1863 1710 1890vrm_cn0_ic5_3v3_curr Current 10-3 A 0 15000 0 15000vrm_gw1_ic10_6v8_curr Current 10-3 A 0 6000 0 6000vrm_gw1_ic11_3v3_curr Current 10-3 A 0 6000 0 6000vrm_gw1_ic12_2v5_curr Current 10-3 A 0 6000 0 6000vrm_gw1_ic13_1v8_curr Current 10-3 A 0 6000 0 6000vrm_ipu01_ic16_3v3_curr Current 10-3 A 0 6000 0 6000vrm_ipu23_ic16_3v3_curr Current 10-3 A 0 6000 0 6000vrm_cn0_ic5_3v3_temp Temp 10-3 ºC 0 135000 0 130000vrm_gw1_ic10_6v8_temp Temp 10-3 ºC 0 135000 0 130000vrm_gw1_ic11_3v3_temp Temp 10-3 ºC 0 135000 0 130000vrm_gw1_ic12_2v5_temp Temp 10-3 ºC 0 135000 0 130000vrm_gw1_ic13_1v8_temp Temp 10-3 ºC 0 135000 0 130000vrm_ipu01_ic16_3v3_temp Temp 10-3 ºC 0 135000 0 130000vrm_ipu23_ic16_3v3_temp Temp 10-3 ºC 0 135000 0 130000vrm_cn0_ic5_3v3_vin Voltage 10-3 V 11500 12500 11000 13000vrm_cn0_ic5_3v3_vout Voltage 10-3 V 3185 3415 3135 3465vrm_gw1_ic10_6v8_vin Voltage 10-3 V 11500 12500 11000 13000vrm_gw1_ic10_6v8_vout Voltage 10-3 V 6596 7004 6460 7140vrm_gw1_ic12_2v5_vin Voltage 10-3 V 11500 12500 11000 13000vrm_gw1_ic12_2v5_vout Voltage 10-3 V 2412 2625 2375 2587vrm_gw1_ic13_1v8_vin Voltage 10-3 V 11500 12500 11000 13000vrm_gw1_ic13_1v8_vout Voltage 10-3 V 1737 1863 1710 1890vrm_ipu01_ic16_3v3_vin Voltage 10-3 V 11500 12500 11000 13000vrm_ipu01_ic16_3v3_vout Voltage 10-3 V 3185 3415 3135 3465vrm_ipu23_ic16_3v3_vin Voltage 10-3 V 11500 12500 11000 13000

continues on next pageVersion: latest (2021-11-08) 31

Page 35: BMC User Guide

BMC User Guide

Table 4.6 – continued from previous pageSensor name Type Units Warn low Warn high Critical low Critical high

vrm_ipu23_ic16_3v3_vout Voltage 10-3 V 3185 3415 3135 3465

Table 4.7: Event log/actions for sensors monitored by BMC

Sensor name Event log or action

fan0_0 Non-functional event log. Shutdown on more than 3 fan failuresfan0_1 Non-functional event log. Shutdown on more than 3 fan failuresfan1_0 Non-functional event log. Shutdown on more than 3 fan failuresfan1_1 Non-functional event log. Shutdown on more than 3 fan failuresfan2_0 Non-functional event log. Shutdown on more than 3 fan failuresfan2_1 Non-functional event log. Shutdown on more than 3 fan failuresfan3_0 Non-functional event log. Shutdown on more than 3 fan failuresfan3_1 Non-functional event log. Shutdown on more than 3 fan failuresfan4_0 Non-functional event log. Shutdown on more than 3 fan failuresfan4_1 Non-functional event log. Shutdown on more than 3 fan failuresaux_1v2_volt Event log on crossing critical low or high thresholdsconn_1v8_volt Event log on crossing critical low or high thresholdsconn_2v5_volt Event log on crossing critical low or high thresholdsconn_3v3_volt Event log on crossing critical low or high thresholdsgw1_0v85_volt Event log on crossing critical low or high thresholdsgw1_0v9_volt Event log on crossing critical low or high thresholdsgw1_1v8_volt Event log on crossing critical low or high thresholdsgw1_3v3_volt Event log on crossing critical low or high thresholdsgw1_6v8_volt Event log on crossing critical low or high thresholdsmain_12v0_volt Event log on crossing critical low or high thresholdsstbe_1v2_volt Event log on crossing critical low or high thresholdsstby_1v0_volt Event log on crossing critical low or high thresholdsstby_1v15_volt Event log on crossing critical low or high thresholdsstby_1v8_volt Event log on crossing critical low or high thresholdsstby_2v5_volt Event log on crossing critical low or high thresholdsstby_3v3_volt Event log on crossing critical low or high thresholdsexhaust_temp Event log and shutdown on crossing critical high thresholdinlet_temp Event log and shutdown on crossing critical high thresholdgw_core_temp Event log crossing critical high thresholdpl_dimm_b_temp Event log crossing critical high threshold

continues on next page

Version: latest (2021-11-08) 32

Page 36: BMC User Guide

BMC User Guide

Table 4.7 – continued from previous pageSensor name Event log or action

pl_dimm_c_temp Event log crossing critical high thresholdps_dimm_a_temp Event log crossing critical high thresholdIPU0_PVT_East Event log crossing warning & critical high thresholdsIPU0_PVT_West Event log crossing warning & critical high thresholdsIPU1_PVT_East Event log crossing warning & critical high thresholdsIPU1_PVT_West Event log crossing warning & critical high thresholdsIPU2_PVT_East Event log crossing warning & critical high thresholdsIPU2_PVT_West Event log crossing warning & critical high thresholdsIPU3_PVT_East Event log crossing warning & critical high thresholdsIPU3_PVT_West Event log crossing warning & critical high thresholds

Version: latest (2021-11-08) 33

Page 37: BMC User Guide

CHAPTER

FIVE

INVENTORY MONITORING

This section describes how to monitor the hardware inventory using the CLI, GUI, REST, IPMI and Redfish inter-faces.

5.1 BMC command line

You can use the ipum-utils command for inventory monitoring. Table 5.1 describes the parameters to the com-mand.Table 5.1: Inventory monitoring options

Parameter Description

inventory_list Display the hardware inventory present on the IPU-M2000 with the meta-data fields NAME, PRETTY_NAME, PRESENT, FUNCTIONAL, MANUFACTURER,MODEL, SERIALNUMBER and PARTNUMBER.Example output from the command is shown below:$ ipum-utils inventory_listNAME PRETTY_NAME PRESENT FUNCTIONAL MANUFACTURER MODEL ␣→˓ SERIALNUMBER PARTNUMBERsystem IPU_Machine_P2_1 true true Graphcore 23 ␣→˓ 820182-0002 300-0024 Rev. Achassis IPU_Machine_P2_1 true true Graphcore N/A ␣→˓ 820182-0002 300-0024 Rev. Amotherboard IPU_Machine_P2_1 true true Graphcore p2.1 ␣→˓ 820182-0002 300-0024 Rev. Abmc BMC true true ASPEED AST2520 ␣→˓ N/A N/AcPortL1_ipu3NM0B ClusterPortL1 true N/A LUXSHARE-ICT␣→˓OSFP::CopperUnEQ::NonSep::CL=0.3,S VUSQ00107D0087 LVUSQ001-SD-RcPortL2_ipu3NM0C ClusterPortL2 false N/A N/A N/A ␣→˓ N/A N/AcPortL3_ipu4NM0B ClusterPortL3 true N/A LUXSHARE-ICT␣→˓OSFP::CopperUnEQ::NonSep::CL=3.0,S VUSQ00398H0003 LVUSQ004-SD-RcPortL4_ipu4NM0C ClusterPortL4 true N/A LUXSHARE-ICT␣→˓OSFP::CopperUnEQ::NonSep::CL=2.0,S VUSQ00398L0002 LVUSQ003-SD-RcPortU1_ipu1NM0B ClusterPortU1 true N/A Amphenol ␣→˓OSFP::CopperUnEQ::NonSep::CL=1.0,S APF20240011FK7 NDVVYF-0001cPortU2_ipu1NM0C ClusterPortU2 true N/A Amphenol ␣→˓OSFP::CopperUnEQ::NonSep::CL=2.0,S APF19250020CEN NDVVYF-0002cPortU3_ipu2NM0B ClusterPortU3 true N/A LUXSHARE-ICT␣→˓OSFP::CopperUnEQ::NonSep::CL=1.0,S VUSQ00298L0002 LVUSQ002-SD-RcPortU4_ipu2NM0C ClusterPortU4 true N/A Amphenol ␣→˓OSFP::CopperUnEQ::NonSep::CL=0.3,S N/A NDVVJR-G405cpu0 ZynqUltraS+ true true Xilinx XCZU19EG␣→˓ N/A N/Acore0 Cortex-A53 true true ARM 4 ␣→˓ N/A N/A (continues on next page)

Version: latest (2021-11-08) 34

Page 38: BMC User Guide

BMC User Guide

(continued from previous page)core1 Cortex-A53 true true ARM 4 ␣→˓ N/A N/Acore2 Cortex-A53 true true ARM 4 ␣→˓ N/A N/Acore3 Cortex-A53 true true ARM 4 ␣→˓ N/A N/Adimm0 PL_DIMM_B true true Samsung RDIMM-→˓DDR4 SDRAM-65536 MB 0x03FA48CB M393A8G40AB2-CVFdimm1 PS_DIMM_A true true Samsung RDIMM-→˓DDR4 SDRAM-16384 MB 0x14735D68 M393A2K43CB2-CTDdimm2 PL_DIMM_C true true Samsung RDIMM-→˓DDR4 SDRAM-65536 MB 0x03FA4A3C M393A8G40AB2-CVFfan0 fan0 true true Graphcore N/A ␣→˓ N/A N/Afan1 fan1 true true Graphcore N/A ␣→˓ N/A N/Afan2 fan2 true true Graphcore N/A ␣→˓ N/A N/Afan3 fan3 true true Graphcore N/A ␣→˓ N/A N/Afan4 fan4 true true Graphcore N/A ␣→˓ N/A N/AgwPort1 GwPortU true false Amphenol QSFP28,→˓SFF-8636::CopperUnEQ::NonSe APF19160077E1F NDAAFF-0007gwPort2 GwPortL true false INNOLIGHT QSFP28,→˓SFF-8636::1310nm-EML::LC::C INKBJU560002 TR-ZC13H-N00ipu0 IPU0 true true Graphcore MK2 ␣→˓ T8N535.19.7.3.T8N53500.26194 N/Aipu1 IPU1 true true Graphcore MK2 ␣→˓ T8N535.21.7.7.T8N53500.33586 N/Aipu2 IPU2 true true Graphcore MK2 ␣→˓ T8N535.19.2.5.T8N53500.26474 N/Aipu3 IPU3 true true Graphcore MK2 ␣→˓ T8N535.11.2.5.T8N53500.35782 N/Amcu0 MCU0 true true Graphcore N/A ␣→˓ 0002.0001.0082018.A N/Amcu1 MCU1 true true Graphcore N/A ␣→˓ 0002.0002.0082018.A N/Anvme0 SAMSUNG MZ1LB960HAJQ-00007 true true SAMSUNG SAMSUNG␣→˓MZ1LB960HAJQ-00007 S435NA0N414401 N/Arnic0 Mellanox Technologies MT28800 Family [ConnectX-5 Ex] true true Mellanox MT4121 ␣→˓ MT1912K01140 MCX516A-CDATrnic1 Mellanox Technologies MT28800 Family [ConnectX-5 Ex] true true Mellanox MT4121 ␣→˓ MT1912K01140 MCX516A-CDATsysfpga System FPGA true true Xilinx Spartan␣→˓7 xc7s N/A xc7s50fgga484-1powersupply0 PowerSupply0 true true Murata-PS D1U54P-W-→˓1500-12-HC4TC Q92038Q1007Y N/Apowersupply1 PowerSupply1 true true Murata-PS D1U54P-W-→˓1500-12-HC4TC Q92038Q1006N N/A

5.2 GUI

Inventory monitoring operations available via the GUI are described in Table 5.2. The GUI page is shown in Fig.5.1.Table 5.2: GUI inventory monitoring operations

Command Description

Hardware status Display status of hardware present in the system.

Version: latest (2021-11-08) 35

Page 39: BMC User Guide

BMC User Guide

Fig. 5.1: GUI: Inventory monitoring operations

5.3 REST API

Table 5.3 describes the commands available for inventory monitoring through the REST interface.Table 5.3: Inventory monitoring using REST interface

Command Description

list List inventory of the system. Using openbmctool.py will print following metadatafields: “Is a FRU”, “Present”, “Functional”, “Manufacturer”, “Model”, “SerialNumber”,“Has Logs”List all inventory items:$ curl -k https://<bmcip>/xyz/openbmc_project/inventory/list -u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> fru list

List an individual inventory item:$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> fru list <inventory_item_name>

Example output from the command is shown below:$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> fru list <inventory_item_name>Component | PrettyName | Is a FRU | Present | Functional | Manufacturer␣→˓| Model | SerialNumber | Has Logsbmc | BMC | No | Yes | Yes | ASPEED ␣→˓| AST2520 | | NocPortL1_ipu3NM0B | ClusterPortL1 | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 5 meter | | NocPortL2_ipu3NM0C | ClusterPortL2 | Yes | No | Yes | ␣→˓| | | NocPortL3_ipu4NM1C | ClusterPortL3 | Yes | No | Yes | ␣→˓| | | No

(continues on next page)

Version: latest (2021-11-08) 36

Page 40: BMC User Guide

BMC User Guide

(continued from previous page)cPortL4_ipu4NM1B | ClusterPortL4 | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 2 meter | APF19240028RHJ | NocPortU1_ipu1NM0B | ClusterPortU1 | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 5 meter | | NocPortU2_ipu1NM0C | ClusterPortU2 | Yes | No | Yes | ␣→˓| | | NocPortU3_ipu2NM1C | ClusterPortU3 | Yes | No | Yes | ␣→˓| | | NocPortU4_ipu2NM1B | ClusterPortU4 | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 2 meter | APF19240028RHJ | Nocpu0 | ZynqUltraS+(XCZU19EG) | No | Yes | Yes | ARM ␣→˓| Cortex-A53 | | Nocpu0-core0 | | No | Yes | Yes | ␣→˓| | | Nocpu0-core1 | | No | Yes | Yes | ␣→˓| | | Nocpu0-core2 | | No | Yes | Yes | ␣→˓| | | Nocpu0-core3 | | No | Yes | Yes | ␣→˓| | | Nodimm0 | PL_DIMM | Yes | Yes | Yes | Samsung ␣→˓| RDIMM-DDR4 SDRAM-65536 MB | 0x368DA4E4 | Nodimm1 | PS_DIMM | Yes | Yes | Yes | Samsung ␣→˓| RDIMM-DDR4 SDRAM-16384 MB | 0x314708B3 | Nofan0 | fan0 | Yes | Yes | Yes | ␣→˓| | | Nofan1 | fan1 | Yes | Yes | Yes | ␣→˓| | | Nofan2 | fan2 | Yes | Yes | Yes | ␣→˓| | | Nofan3 | fan3 | Yes | Yes | Yes | ␣→˓| | | Nofan4 | fan4 | Yes | Yes | Yes | ␣→˓| | | NogwPort1 | GwPortU | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 5 meter | | NogwPort2 | GwPortL | Yes | Yes | Yes | Amphenol ␣→˓| OSFP Pluggable Tranceiver - 5 meter | | Noipu0 | IPU0 | No | Yes | Yes | Graphcore ␣→˓| B0 | PMPS95.2.6.8.BC08.9320 | Noipu1 | IPU1 | No | Yes | Yes | Graphcore ␣→˓| B0 | PMPS95.1.5.7.BC08.8375 | Noipu2 | IPU2 | No | Yes | Yes | Graphcore ␣→˓| B0 | PMPS95.4.5.4.CORR.20742 | Noipu3 | IPU3 | No | Yes | Yes | Graphcore ␣→˓| B0 | PMPS95.24.4.5.BC08.5043 | Nomcu0 | MCU0 | No | Yes | Yes | Graphcore ␣→˓| | 0001.0002.001003.A | Nomcu1 | MCU1 | No | Yes | Yes | Graphcore ␣→˓| | 0003.0004.001003.A | Nonvme0 | Samsung SSD 970 EVO Plus 1TB | Yes | Yes | Yes | Samsung ␣→˓| Samsung SSD 970 EVO Plus 1TB | S4EWNF0M410854E | Nopowersupply0 | PowerSupply0 | Yes | Yes | Yes | Murata-PS ␣→˓| D1U54P-W-1200-12-HC3PC | H21931RM00C6 | Nopowersupply1 | PowerSupply1 | Yes | Yes | No | Murata-PS ␣→˓| D1U54P-W-1200-12-HC3PC | H21931RM00C2 | Nornic0 | Mellanox Technologies MT28800 Family [ConnectX-5 Ex] | Yes | Yes | Yes | Mellanox ␣→˓| MT4121 | MT1901K07893 | Nornic1 | Mellanox Technologies MT28800 Family [ConnectX-5 Ex] | Yes | Yes | Yes | Mellanox ␣→˓| MT4121 | MT1901K07893 | No

Version: latest (2021-11-08) 37

Page 41: BMC User Guide

BMC User Guide

5.4 IPMI

Table 5.4 describes the ipmitool inventory-related commands that are available.Table 5.4: inventory operations using IPMI interface

Command Description

fru print Display information about all FRUs$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> fru print

fru print <fruid> Display information about the FRU with the specified ID$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> fru print <fruid>

Example output of the fru print command for the system FRU with ID 80 is shown below:$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> fru print 80Chassis Type : UnspecifiedChassis Part Number : 23Chassis Serial : 219191-0003Board Mfg Date : Mon 13 May 2019 03:13:00 PM CEST CESTBoard Mfg : GraphcoreBoard Product : IPU Machine P1Board Serial : 219191-0003Board Part Number : 400-0015 Rev. C

5.5 Redfish

You can do inventory monitoring through the Redfish interface either by sending curl queries or browsing theURI.You can find the inventory items in the Systems collection and theChassis collection available at https://<bmcip>/redfish/v1/Systems/system and https://<bmcip>/redfish/v1/Chassis.The Chassis collection represents a physical view of the IPU-M2000, containing items such as fans, power suppliesand sensors. The Systems collection represents the logical view of the system as seen from the operating system.All Redfish endpoints can be traversed in a top-down fashion.Table 5.5 describes the commands available.

Table 5.5: Inventory monitoring using Redfish interface

Command Description

Inventory list systems List inventory of hardware that is part of the Systems collection$ curl -k https://<bmcip>/redfish/v1/Systems/system -u <bmcuser>:<bmcpass>

Inventory list chassis List inventory of hardware that is part of the Chassis collection$ curl -k https://<bmcip>/redfish/v1/Chassis/ -u <bmcuser>:<bmcpass>

Below is an example of using Redfish to query information about “powersupply0” and “cpu0”. The results ofbrowsing the same endpoints is shown in Fig. 5.2 and Fig. 5.3.

Version: latest (2021-11-08) 38

Page 42: BMC User Guide

BMC User Guide

$ curl -k https://<bmcip>/redfish/v1/Chassis/powersupply0 -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#Chassis.Chassis","@odata.id": "/redfish/v1/Chassis/powersupply0","@odata.type": "#Chassis.v1_4_0.Chassis","ChassisType": "RackMount","Id": "powersupply0","Links": {

"ComputerSystems": [{

"@odata.id": "/redfish/v1/Systems/system"}

],"ManagedBy": [

{"@odata.id": "/redfish/v1/Managers/bmc"

}]

},"Manufacturer": "Murata-PS","Model": "D1U54P-W-1200-12-HC3PC","Name": "powersupply0","PartNumber": "","Power": {

"@odata.id": "/redfish/v1/Chassis/powersupply0/Power"},"PowerState": "On","SerialNumber": "H21931RM00C6","Status": {

"Health": "OK","HealthRollup": "OK","State": "Enabled"

},"Thermal": {

"@odata.id": "/redfish/v1/Chassis/powersupply0/Thermal"}

}

$ curl -k https://<bmcip>/redfish/v1/Systems/system/Processors/cpu0 -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#Processor.Processor","@odata.id": "/redfish/v1/Systems/system/Processors/cpu0","@odata.type": "#Processor.v1_3_1.Processor","Id": "cpu0","Name": "Processor","Status": {

"Health": "OK","State": "Enabled"

}}

Version: latest (2021-11-08) 39

Page 43: BMC User Guide

BMC User Guide

Fig. 5.2: Power supply monitoring

Version: latest (2021-11-08) 40

Page 44: BMC User Guide

BMC User Guide

Fig. 5.3: CPU monitoring

Version: latest (2021-11-08) 41

Page 45: BMC User Guide

CHAPTER

SIX

EVENTS AND LOGGING

This section describes how tomonitor and configure logging using the CLI, GUI, REST, IPMI and Redfish interfaces.

6.1 BMC command line

The standard Linux journal is available with the journalctl command on the BMC.

6.2 GUI

The logging operations available via the GUI are described in Table 6.1. The GUI page for viewing event logs isshown in Fig. 6.1.Table 6.1: GUI logging operations

Command Description

Event log Display event logs.

Version: latest (2021-11-08) 42

Page 46: BMC User Guide

BMC User Guide

Fig. 6.1: GUI event logging operations

6.3 REST API

You can perform logging operations through the REST API either by sending curl queries to the URI or by usingthe Graphcore openbmctool.py utility. Table 6.2 describes the commands available.Table 6.2: Logging operations using the REST interface

Version: latest (2021-11-08) 43

Page 47: BMC User Guide

BMC User Guide

Command Description

list List log entries (all types), log managers and log configurations available on thesystem.List all logs:$ curl -k https://<bmcip>/xyz/openbmc_project/logging/list -u <bmcuser>:<bmcpass>

enumerate Show detailed information about log entries (all types), log managers and log con-figurations available on the system.Enumerate logs:$ curl -k https://<bmcip>/xyz/openbmc_project/logging/enumerate -u <bmcuser>:<bmcpass>

resolve Clear a SEL$ curl -k -H "Content-Type: application/json" -d '{"data":true}' -X PUT https://<bmcip>/xyz/openbmc_project/logging/→˓entry/<eventId>/attr/Resolved -u <bmcuser>:<bmcpass>

Configuration Configure syslog logging on the BMC.Configure syslog server address and port:$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data":<port>}' https://<bmcuser>:<bmcpass>@<bmcip>/xyz/→˓openbmc_project/logging/config/remote/attr/Port

$ curl -k -H "Content-Type: application/json" -X PUT -d '{"data":"<address>"}' https://<bmcuser>:<bmcpass>@<bmcip>/xyz/→˓openbmc_project/logging/config/remote/attr/Address

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> logging remote_logging_config -a ADDRESS -p PORT

View syslog configuration:$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> logging remote_logging view

Disable syslog:$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> logging remote_logging disable

Example of listing log entries, log managers and logging configuration:$ curl -k https://<bmcip>/xyz/openbmc_project/logging/list -u <bmcuser>:<bmcpass>{

"data": ["/xyz/openbmc_project/logging/config","/xyz/openbmc_project/logging/config/remote","/xyz/openbmc_project/logging/entry","/xyz/openbmc_project/logging/entry/15","/xyz/openbmc_project/logging/entry/16","/xyz/openbmc_project/logging/entry/17","/xyz/openbmc_project/logging/entry/18","/xyz/openbmc_project/logging/entry/19","/xyz/openbmc_project/logging/entry/20","/xyz/openbmc_project/logging/entry/21","/xyz/openbmc_project/logging/entry/21/callout","/xyz/openbmc_project/logging/internal","/xyz/openbmc_project/logging/internal/manager","/xyz/openbmc_project/logging/rest_api_logs"

],"message": "200 OK","status": "ok"

}

Version: latest (2021-11-08) 44

Page 48: BMC User Guide

BMC User Guide

6.4 IPMI

You can read all the events for the IPU-M2000 using the IPMI commands shown in Table 6.3.Table 6.3: SEL operations using IPMI interface

Command Description

SEL clear Clear all event logsipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel clear

SEL list Display list of eventsipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel list

SEL elist Display list of events with extended informationipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

Some examples of SEL entries for sensors going over their threshold, or errors with inventory items (such as notpresent or not functional) are shown below.• When the inlet sensor goes above 45°C or the exhaust temperature sensor goes above 75°C, two genericsystem hardware failure events are logged as shown below.

$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel elistXX | 05/11/2020 | 08:06:21 AM CEST | System Event #0x90 | Undetermined system hardware failure | AssertedXX | 05/11/2020 | 08:06:24 AM CEST | System Event #0x90 | Undetermined system hardware failure | Asserted

Note: Event logging for sensors is not limited to inlet and exhaust sensors (it is available for all sensors).However, only these two sensors will cause a system shutdown.All sensor related events are logged as generic hardware failures. You will need to cross-check the SDR tofind the specific sensor fault.In addition, if you have configured an SNMP manager (see SNMP trap) for receiving SNMP event traps, youcan see the following traps associated with the SEL entries. You can use these to identify the faulty sensor(in this case, the inlet sensor going over 45°C).2020-05-11 08:06:24 <bmc_fqdomain> [UDP: [<bmcip>]:<port>->[<snmpmgrip>]:<dport>]:iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.49871.1.0.0.1 iso.3.6.1.4.1.49871.1.0.1.1 = Gauge32: 47 iso.3.6.→˓1.4.1.49871.1.0.1.2 = Opaque: UInt64: 168713071370436978 iso.3.6.1.4.1.49871.1.0.1.3 = INTEGER: 3 iso.3.6.1.4.→˓1.49871.1.0.1.4 = STRING: "xyz.openbmc_project.Sensor.Threshold.Error.CriticalHigh - SENSOR_DATA=|/xyz/openbmc_→˓project/sensors/temperature/inlet:Value=45000|"

2020-05-11 08:06:24 <bmc_fqdomain> [UDP: [<bmcip>]:60408->[<snmpmgrip>]:<dport>]:iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.49871.1.0.0.1 iso.3.6.1.4.1.49871.1.0.1.1 = Gauge32: 48 iso.3.6.→˓1.4.1.49871.1.0.1.2 = Opaque: UInt64: 168728099461005682 iso.3.6.1.4.1.49871.1.0.1.3 = INTEGER: 3 iso.3.6.1.4.→˓1.49871.1.0.1.4 = STRING: "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.Ambient - _PID=265"

• When a power supply failure or removal is detected, you will see the following SEL entry:$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel elistXX | 05/11/2020 | 08:39:53 AM CEST | Power Supply #0x0a | Presence detected | Asserted

You need to cross-check with the SDR to identify if this is a failure or absence of the power supply.– In the case of a functional error, you will see the following output:

Version: latest (2021-11-08) 45

Page 49: BMC User Guide

BMC User Guide

powersupply1 | 0Ah | ok | 10.2 | Presence Detected, Failure detected

– In the case of a presence error, you will see the following output:powersupply1 | 0Ah | ok | 10.2 |

For this power supply SEL entry, the following trap is received on the SNMP manager.2020-05-12 13:38:14 <bmc_fqdomain> [UDP: [<bmcip>]:<sport>->[<snmpgrip>]:<dport>]:iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.49871.1.0.0.1 iso.3.6.1.4.1.49871.1.0.1.1 = Gauge32: 52 iso.→˓3.6.1.4.1.49871.1.0.1.2 = Opaque: UInt64: 625323637452308850 iso.3.6.1.4.1.49871.1.0.1.3 = INTEGER: 3 ␣→˓ iso.3.6.1.4.1.49871.1.0.1.4 = STRING: "xyz.openbmc_project.Inventory.Error.Nonfunctional - CALLOUT_INVENTORY_→˓PATH=/xyz/openbmc_project/inventory/system/chassis/powersupply1"

• When an IPU failure is detected, you will see the following SEL entry:$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sel elistXX | 05/12/2020 | 04:13:22 PM CEST | Processor #0x11 | Disabled | Asserted

You need to cross-check with the SDR to identify if it is a functional or presence error.– In the case of a functional error, you will see the following output:

ipu0 | 11h | ok | 45.1 | Presence detected, Disabled

– In the case of a presence error, you will see the following output:ipu0 | 11h | ok | 45.1 |

Note: RNICs are also defined as processor/IO modules and similar SEL/SDR entries will appear in the caseof an RNIC failure.For the above IPU SEL entry, a trap similar to that shown below will be received by the configured SNMPmanager.2020-05-12 22:53:45 ipum.example.com [UDP: [<bmcip>]:<sport>->[<snmpmgrip>]:<dport>]:iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.49871.1.0.0.1 iso.3.6.1.4.1.49871.1.0.1.1 = Gauge32: 63 iso.3.→˓6.1.4.1.49871.1.0.1.2 = Opaque: UInt64: 768481056411091314 iso.3.6.1.4.1.49871.1.0.1.3 = INTEGER: 3 ␣→˓iso.3.6.1.4.1.49871.1.0.1.4 = STRING: "xyz.openbmc_project.Inventory.Error.Nonfunctional - CALLOUT_INVENTORY_→˓PATH=/xyz/openbmc_project/inventory/system/chassis/motherboard/ipu0"

• When an NVMe failure is detected, an SEL entry like the following will be logged:XX | 05/13/2020 | 10:18:37 AM CEST | Drive Slot / Bay #0x42 | Drive Fault | Asserted

A cross check with SDR is needed to figure out if it is a functional or presence error.– In the case of a functional error:

nvme0 | 42h | ok | 4.1 | Drive Present, Drive Fault

– In the case of a presence error:nvme0 | 42h | ok | 4.1 |

For the above NVMe SEL entry, a trap like the following is received on the SNMP manager:2020-05-13 10:18:37 ipum.example.com [UDP: [<bmcip>]:<sport>->[snmpmgrip]:<dport>]:iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.49871.1.0.0.1 iso.3.6.1.4.1.49871.1.0.1.1 = Gauge32:␣→˓71 iso.3.6.1.4.1.49871.1.0.1.2 = Opaque: UInt64: 944969603430220146 iso.3.6.1.4.1.49871.1.→˓0.1.3 = INTEGER: 3 iso.3.6.1.4.1.49871.1.0.1.4 = STRING: "xyz.openbmc_project.Inventory.Error.→˓Nonfunctional - CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme0"

Version: latest (2021-11-08) 46

Page 50: BMC User Guide

BMC User Guide

• When an event is de-asserted, a generic system entry with Deasserted state is recorded in the SEL as shownbelow:05/13/2020 | 08:24:21 AM CEST | System Event #0x90 | Undetermined system hardware failure | Deasserted

6.5 Redfish

You can do logging operations through Redfish interface either by sending curl queries or browsing the URI.You can find SEL endpoints in the Systems collection available at https://<bmcip>/redfish/v1/Systems/system/LogServices/.You can find journal endpoints in the Manager collection available at https://<bmcip>/redfish/v1/Managers/bmc/LogServices.

Table 6.4: Logging operations using Redfish interface

Command Description

List SEL List SEL entries.$ curl -k https://<bmcip>/redfish/v1/Systems/system/LogServices/EventLog/Entries -u <bmcuser>:<bmcpass>

Delete logging entries Delete system event entries.$ curl -k https://<bmcip>/redfish/v1/Systems/system/LogServices/EventLog/Actions/LogService.ClearLog -u <bmcuser>:→˓<bmcpass>

List journal logs List systemd journal logs through Redfish.$ curl -k https://<bmcip>/redfish/v1/Managers/bmc/LogServices/Journal/Entries -u <bmcuser>:<bmcpass>

Note: Redfish SELs do not include the inventory item that created the log.Example output from the list SEL command is shown below:$ curl -k https://<bmcip>/redfish/v1/Systems/system/LogServices/EventLog/Entries -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries","@odata.type": "#LogEntryCollection.LogEntryCollection","Description": "Collection of System Event Log Entries","Members": [

{"@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/15","@odata.type": "#LogEntry.v1_4_0.LogEntry","Created": "2020-05-11T11:45:21+00:00","EntryType": "Event","Id": "15","Message": "xyz.openbmc_project.Inventory.Error.Nonfunctional","Name": "System Event Log Entry","Severity": "Critical"

},{

"@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/16","@odata.type": "#LogEntry.v1_4_0.LogEntry","Created": "2020-05-11T11:45:23+00:00",

(continues on next page)

Version: latest (2021-11-08) 47

Page 51: BMC User Guide

BMC User Guide

(continued from previous page)"EntryType": "Event","Id": "16","Message": "xyz.openbmc_project.Inventory.Error.Nonfunctional","Name": "System Event Log Entry","Severity": "Critical"

},],"[email protected]": 2,"Name": "System Event Log Entries"

}

Example output from the command to list journal entries is shown below:$ curl -k https://<bmcip>/redfish/v1/Managers/bmc/LogServices/Journal/Entries -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection","@odata.id": "/redfish/v1/Managers/bmc/LogServices/BmcLog/Entries","@odata.type": "#LogEntryCollection.LogEntryCollection","Description": "Collection of BMC Journal Entries","Members": [

{"@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry","@odata.id": "/redfish/v1/Managers/bmc/LogServices/Journal/Entries/1589216068566513","@odata.type": "#LogEntry.v1_4_0.LogEntry","Created": "2020-05-11T16:54:28+00:00","EntryType": "Oem","Id": "1589216068566513","Message": "Booting Linux on physical CPU 0x0","Name": "BMC Journal Entry","OemRecordFormat": "BMC Journal Entry","Severity": "OK"

},....

],"[email protected]": 2096,"[email protected]": "/redfish/v1/Managers/bmc/LogServices/Journal/Entries?$skip=1000","Name": "Open BMC Journal Entries"

}

6.6 List of supported events

6.6.1 Sensor crossing threshold events

For the sensors that support event logging, a single “Undetermind system hardware failure” is logged in “Asserted”state.$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

1a | 06/20/2021 | 07:41:04 | System Event #0x90 | Undetermined system hardware failure | Asserted

For the sensors that support event logging and shutdown action, two consecutive “Undetermined system hard-ware failure” message are logged in Asserted state.$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist1a | 06/20/2021 | 07:41:04 | System Event #0x90 | Undetermined system hardware failure | Asserted1b | 06/20/2021 | 07:41:06 | System Event #0x90 | Undetermined system hardware failure | Asserted

Note: Please see Section 4, Sensor monitoring for the list of monitored sensors and event/actions associatedwith them.Sensor crossing threshold events are not cleared automatically and need to be cleared manually as described inprevious sections. The sel elist command reports as shown below when those events are cleared.

Version: latest (2021-11-08) 48

Page 52: BMC User Guide

BMC User Guide

$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist1a | 06/20/2021 | 07:41:04 | System Event #0x90 | Undetermined system hardware failure | Deasserted1b | 06/20/2021 | 07:41:06 | System Event #0x90 | Undetermined system hardware failure | Deasserted

You can use the Redfish, GUI or REST interfaces for a more detailed description of sensor related events, includingthe sensor name and the value of the sensor when the threshold was crossed.$ curl -k https://<bmcip>/redfish/v1/Systems/system/LogServices/EventLog/Entries -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries","@odata.type": "#LogEntryCollection.LogEntryCollection","Description": "Collection of System Event Log Entries","Members": [

{"@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/26","@odata.type": "#LogEntry.v1_4_0.LogEntry","Created": "2021-06-20T07:41:04+00:00","EntryType": "Event","Id": "26","Message": "xyz.openbmc_project.Sensor.Threshold.Error.CriticalHigh","Name": "System Event Log Entry","Severity": "Critical"

},{

"@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry","@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/27","@odata.type": "#LogEntry.v1_4_0.LogEntry","Created": "2021-06-20T07:41:06+00:00","EntryType": "Event","Id": "27","Message": "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.Ambient","Name": "System Event Log Entry","Severity": "Critical"

}],"[email protected]": 2,"Name": "System Event Log Entries"

}

Note: GUI, REST and Redfish interfaces represent sensor crossing threshold events with“xyz.openbmc_project.Sensor.Threshold.Error.CriticalHigh” or “xyz.openbmc_project.Sensor.Threshold.Error.WarningHigh”events with the sensor name as metadata. If the event is a shutdown event, it gets logged with“xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.Ambient” message in the event logs.

6.6.2 Inventory items presence or functional-state events

Presence and functional state of the following inventory items are tracked.1. PSU0 and PSU12. FAN0 to FAN43. IPU0 to IPU34. RNIC0 and RNIC15. NVMe0

Note: For the inventory items listed under number 3 to 5, the functional state is determined by checking thestate of PCIe link of the endpoint to be up as Gen4x8 links.1. The following are examples of SEL logs when power supply presence or functional state changes.

Version: latest (2021-11-08) 49

Page 53: BMC User Guide

BMC User Guide

# Powersupply0 not present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

1c | 06/20/2021 | 13:22:58 | Power Supply #0x09 | Presence detected | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep powersupply

powersupply0 | 09h | ok | 10.1 |powersupply1 | 0Ah | ok | 10.2 | Presence detected

# Powersupply1 not present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

1d | 06/20/2021 | 13:41:52 | Power Supply #0x0a | Presence detected | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep powersupply

powersupply0 | 09h | ok | 10.1 | Presence detectedpowersupply1 | 0Ah | ok | 10.2 |

# Powersupply0 back to present or functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

1c | 06/20/2021 | 13:22:58 | System Event #0x90 | Undetermined system hardware failure | Deasserted# Powersupply1 back to present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

1d | 06/20/2021 | 13:22:58 | System Event #0x90 | Undetermined system hardware failure | Deasserted

# Powersupply0 not functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

20 | 06/20/2021 | 14:40:41 | Power Supply #0x09 | Presence detected | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep powersupply

powersupply0 | 09h | ok | 10.1 | Presence detected, Failure detectedpowersupply1 | 0Ah | ok | 10.2 | Presence detected

# Powersupply1 not functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

21 | 06/20/2021 | 14:40:41 | Power Supply #0x09 | Presence detected | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep powersupply

powersupply0 | 09h | ok | 10.1 | Presence detectedpowersupply1 | 0Ah | ok | 10.2 | Presence detected, Failure detected

2. The following are examples of SEL logs when fan module presence or functional state changes.# Fan module 0 not present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

22 | 06/20/2021 | 14:49:41 | Fan #0x3c | State Deasserted | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep fan

fan0 | 3Ch | ok | 29.11 |fan1 | 3Dh | ok | 29.12 | State Deassertedfan2 | 3Eh | ok | 29.13 | State Deassertedfan3 | 3Fh | ok | 29.14 | State Deassertedfan4 | 40h | ok | 29.15 | State Deasserted

# Fan module 0 not functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

22 | 06/20/2021 | 14:49:41 | Fan #0x3c | State Deasserted | Asserted

# Fan module present or functional state back to ok$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

22 | 06/20/2021 | 14:59:08 | System Event #0x90 | Undetermined system hardware failure | Deasserted

3. The following are examples of SEL logs when the “ipu0” inventory item is not detected as a PCIe endpoint,or their functional state changes.# IPU 0 is not detected as present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist

23 | 06/20/2021 | 15:06:03 | Processor #0x11 | Disabled | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep ipu

ipu0 | 11h | ok | 45.1 |ipu1 | 12h | ok | 45.2 | Presence detectedipu2 | 13h | ok | 45.3 | Presence detectedipu3 | 14h | ok | 45.4 | Presence detected

# IPU 0 is not detected as functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist24 | 06/20/2021 | 15:12:36 | Processor #0x11 | Disabled | Asserted

(continues on next page)

Version: latest (2021-11-08) 50

Page 54: BMC User Guide

BMC User Guide

(continued from previous page)$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep ipu

ipu0 | 11h | ok | 45.1 | Presence detected, Disabledipu1 | 12h | ok | 45.2 | Presence detectedipu2 | 13h | ok | 45.3 | Presence detectedipu3 | 14h | ok | 45.4 | Presence detected

4. The following are examples of SEL logs when the “rnic0” inventory item is not detected as a PCIe endpoint,or its functional state changes.# RNIC 0 is not detected as prenset$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist25 | 06/20/2021 | 16:01:01 | Processor #0x17 | Disabled | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep rnicrnic0 | 17h | ok | 45.7 |rnic1 | 18h | ok | 45.8 | Presence detected

# RNIC 0 is not detected as functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist26 | 06/20/2021 | 16:05:13 | Processor #0x17 | Disabled | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep rnicrnic0 | 17h | ok | 45.7 | Presence detected, Disabledrnic1 | 18h | ok | 45.8 | Presence detected

5. The following are examples of SEL logs when the “nvme0” inventory item is not detected as a PCIe endpoint,or its functional state changes.# NVMe drive is detected as not present$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist27 | 06/20/2021 | 16:07:57 | Drive Slot / Bay #0x42 | Drive Fault | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep nvmenvme0 | 42h | ok | 4.1 |

# NVMe drive is detected as not functional$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist28 | 06/20/2021 | 16:10:27 | Drive Slot / Bay #0x42 | Drive Fault | Asserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep nvmenvme0 | 42h | ok | 4.1 | Drive Present, Drive Fault

# When presence-state error or functional-state error is resolved.$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sel elist27 | 06/20/2021 | 16:07:57 | System Event #0x90 | Undetermined system hardware failure | Deasserted$ ipmitool -I lanplus -U <bmcuser> -P <bmcpass> -H <bmcip> sdr elist | grep nvmenvme0 | 42h | ok | 4.1 | Drive Present

Note: GUI, REST and Redfish represent inventory presence or functional-error events with“xyz.openbmc_project.Inventory.Error.NonPresent” or “xyz.openbmc_project.Inventory.Error.Nonfunctional”with the name of the inventory item name that is in a faulty state as the metadata in the event logs.

Version: latest (2021-11-08) 51

Page 55: BMC User Guide

CHAPTER

SEVEN

MAINTENANCE MODE AND BIST

This section describes how to conduct maintenance operations using the BMC and host command lines.

7.1 BMC command line

You can use the ipum-diags command for maintenance operations. Table 7.1 describes the available commands.Table 7.1: Maintenance options

Parameter Description

check_i2cs Check status of i2c busescheck_fans Check status of fanscheck_temps Check status of inlet and exhaust temperaturecheck_voltages Check status of voltage sensorscheck_bmc_all Run all BMC related tests, ignoring cablesset_fans_speed Set fan speed - range 100 to 255check_mcu_all A suite of IPU-Link and USB connectivity testsbist Run a complete built-in self testbist-lpbk Run a complete built-in self test with loop-back cables plugged in

7.2 Host command line

You can also do maintenance operations by using the Graphcore openbmctool.py utility. Table 7.2 describes thecommands available.Table 7.2: Maintenance mode operations using openbmctool

Version: latest (2021-11-08) 52

Page 56: BMC User Guide

BMC User Guide

Command Description

status Check if BMC is in maintenance mode$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> maintenance mode status

start Start maintenance mode$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> maintenance mode start

stop Stop maintenance mode$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> maintenance mode stop

bist Start BIST$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> maintenance bist

bist-lpbk Start BIST in loop-back mode$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> maintenance bist-lpbk

Note: The BMC must be in maintenance mode for the bist and bist-lpbk commands to be executed.

7.3 GUI

No maintenance operations are available from the GUI.

7.4 REST API

No maintenance operations are available via REST.

7.5 IPMI

No maintenance operations are available via IPMI.

7.6 Redfish

No Redfish commands are available for maintenance operations.

Version: latest (2021-11-08) 53

Page 57: BMC User Guide

CHAPTER

EIGHT

FIRMWARE OPERATIONS

This section describes how to conduct firmware operations using the CLI, GUI, REST and Redfish interfaces.The latest version of the firmware is included in the IPU-M2000 software release. You can download this fromthe Graphcore software download portal:

https://graphcore.ai/supportThe version of the firmware is listed in the file manifest.json.You can check the currently installed version of the BMC firmware with the following command, when logged into the BMC via SSH or the serial console.:$ cat /etc/os-release

8.1 GUI

The firmware operations available in the GUI are described in Table 8.1. The firmware GUI page is shown in Fig.8.1.Table 8.1: GUI firmware operations

Command Description

Firmware Manage BMC and server firmware.

Version: latest (2021-11-08) 54

Page 58: BMC User Guide

BMC User Guide

Fig. 8.1: GUI: IPU-M2000 firmware operations

Version: latest (2021-11-08) 55

Page 59: BMC User Guide

BMC User Guide

8.2 REST API

You can do firmware operations through the REST interface either by sending curl queries to the URI or by usingthe Graphcore openbmctool.py utility. Table 8.2 describes the commands available.Table 8.2: Firmware operations using REST interface

Command Description

functional Show the ID of the current functional firmware$ curl -k https://<bmcip>/xyz/openbmc_project/software/functional -u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> firmware list

enumerate Generate a JSON formatted list of firmware IDs and their prop-erties.$ curl -k https://<bmcip>/xyz/openbmc_project/software/enumerate -u <bmcuser>:<bmcpass>

activate Activate the firmware with the specified ID. The activation willtake place after next reboot.$ curl -k -H "Content-Type: application/json" -X PUT https://<bmcip>/xyz/openbmc_project/software/<image_id>/attr/→˓Priority -d '{"data": 0}' u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> firmware activate <image_id>

delete Delete firmware with the specified ID from system.$ curl -k -H "Content-Type: application/json" -X POST -d '{"data": []}' https://<bmcip>/xyz/openbmc_project/software/→˓<image_id>/action/Delete -u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> firmware delete <image_id>

flash Flash & activate a new firmware image$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> firmware flash bmc -f <image_loc>

8.3 IPMI

Firmware operations are not available via IPMI.

8.4 Redfish

You can do firmware operations through Redfish by either by sending curl queries or browsing the URI. You canfind firmware information and operations in the UpdateService collection available at https://<bmcip>/redfish/v1/UpdateService. All Redfish endpoints can be traversed in a top-down fashion.Table 8.3 describes the commands available.

Table 8.3: Inventory monitoring using Redfish interface

Version: latest (2021-11-08) 56

Page 60: BMC User Guide

BMC User Guide

Command Description

Firmware list List firmware available on the system.$ curl -k https://<bmcip>/redfish/v1/UpdateService/FirmwareInventory -u <bmcuser>:<bmcpass>

Firmware enumerate Get detailed information about a firmware image$ curl -k https://<bmcip>/redfish/v1/UpdateService/FirmwareInventory/<fw_image> -u <bmcuser>:<bmcpass>

An example of using Redfish to view detailed information about the firmware image “fd6e887a” is shown below:$ curl -k https://<bmcip>/redfish/v1/UpdateService/FirmwareInventory/fd6e887a -u <bmcuser>:<bmcpass>{"@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory","@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/fd6e887a","@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory","Description": "BMC update","Id": "fd6e887a","[email protected]": 1,"Name": "Software Inventory","RelatedItem": [

{"@odata.id": "/redfish/v1/Managers/bmc"

}],"Status": {

"Health": "OK","HealthRollup": "OK","State": "Enabled"

},"Updateable": false,"Version": "2.7.0-1439-gb1b05fe86"}

Version: latest (2021-11-08) 57

Page 61: BMC User Guide

CHAPTER

NINE

USER MANAGEMENT

This section describes how to conduct user management operations using the BMC command line, GUI, RESTand Redfish interfaces. In addition, the BMC supports integrations with an LDAP server.The maximum number of system users is 30. The maximum number of users with IPMI capabilities is 15. Pass-words have to be minimum 8 characters long.Note: The BMC will come with a default user, root.OpenBMC 2.7.0 provides four roles: administrator, operator, user and callback. However, they all have the sameprivileges in this version.

• All roles have access to the web GUI, REST, Redfish and SSH interfaces.• All roles have access to the same operations on GUI, Rest and Redfish.• Only the root user can run BIST, reboot the machine via the command line and use ipum-utils.• Using IPMI, the privilege levels are, in order of capabilities: administrator, operator, user, callback.

Table 9.1: User management summary with capabilities

Tasks

Redfish/REST/Web IPMI Graphcorespe-cific*

Firmwareupgrade

Role

Root All All All AllAdministrator All All None YesOperator All User list. All supported chassis operations. AllDCMI (except config setting). All sensor, SEL,FRU and SDR operations.

None Yes

User All Get chassis status, set POH counter, SEL, SDR,FRU and sensor list. None YesCallback All None None Yes

Note: Graphcore-specific commands include BIST and ipum-utils commands.

Version: latest (2021-11-08) 58

Page 62: BMC User Guide

BMC User Guide

9.1 BMC command line

You can manage users with the standard Linux commands useradd, userdel, usermod and passwd via SSH or aserial console.Warning: If you create users with useradd, they will not be known to the OpenBMC dbus backend and,therefore, will not be reflected in the GUI, IPMI, Redfish or REST interfaces. This method therefore does notsupport unified user management, and you should avoided it except for debug purposes.

9.2 GUI

The user management operations available in the GUI are described in Table 9.2. The GUI page is shown in Fig.9.1.Table 9.2: User management operations

Command Description

List users List usersCreate a user Create a user with an OpenBMC role (administrator, user, callback or operator)Delete a user Delete the user from systemEdit a user Edit the user properties

Version: latest (2021-11-08) 59

Page 63: BMC User Guide

BMC User Guide

Fig. 9.1: GUI: user management operations

9.3 REST API

You can do user management operations through the REST interface either by sending curl queries to the URI orby using the Graphcore openbmctool.py. Table 9.3 describes the commands available.Table 9.3: Inventory monitoring using REST interface

Command Description

list List users on the BMC$ curl -k https://<bmcip>/xyz/openbmc_project/user/list -u <bmcuser>:<bmcpass>

$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass> local_users queryenabled

Version: latest (2021-11-08) 60

Page 64: BMC User Guide

BMC User Guide

9.4 IPMI

The user management operations available via IPMI are described in Table 9.4.Table 9.4: User management operations

Command Description

user summary [<channelnumber>] Print a summary, including number of users on the systemuser list [<channel num-ber>] List usersuser set name <user id><username> Create a user with a with a userid and usernameuser set password<user id> [<password><16|20>]

Create a password for user with <user id>If no password is supplied, you will be prompted to supply oneuser enable <user id> Enable user with <user id>user disable <user id> Disable user with <user id>user priv <user id> <priv-ilege level> [<channelnumber>]

Set privilege level for user with <user id>.The privilege levels are:• 0x1 - Callback• 0x2 - User• 0x3 - Operator• 0x4 - Administrator• 0x5 - OEM Proprietary• 0xF - No Access

Note: The maximum number of IPMI users is 15, and the IDs for these users are from 1-15.The maximum username length for an IPMI user is 16 bytes.For example, adding a new administrator user with user ID 5 and username “test_ipmi”.# <Optional> First check existing users, to see available IDs:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user list

# Add a new user:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user set name 5 test_ipmi

# Set password for the newly created user. Note; it is possible to store the password in 16 or 20 bytes:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user set password 5 test_password 16

# Set privilege level to administrator for user:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user priv 5 0x4 0x1

# Enable the newly created user:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user enable 5

# <Optional> Verify that the newly created user exists with expected privileges:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> user list

Note: By default, users created via IPMI do not have IPMI access. To enable that, issue the following command:

Version: latest (2021-11-08) 61

Page 65: BMC User Guide

BMC User Guide

$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> channel setaccess <channel> <userid> ipmi=on

Example:$ ipmitool -I lanplus -U <existing_user> -P <password> -H <hostip/hostname> channel setaccess 0x1 5 ipmi=on

Note: You need to specify the privilege level of non-administrator roles with -L, because ipmitool defaults toADMINISTRATOR.Example:$ ipmitool -I lanplus -U <existing_operator> -P <password> -H <hostip/hostname> -L OPERATOR user list

9.5 Redfish

You can perform user management through the Redfish interface either by sending curl queries or browsing theURI.You can find the user management operations in the AccountService collection available at https://<bmcip>/redfish/v1/AccountService. Table 9.5 describes the commands available.

Table 9.5: Inventory monitoring using Redfish interface

Command Description

Users list List users available on the BMC.$ curl -k https://<bmcip>/redfish/v1/AccountService/Accounts -u <bmcuser>:<bmcpass>

Example output from the command is shown below. The results of browsing the same endpoints is shown in Fig.9.2.$ curl -k https://<bmcip>/redfish/v1/AccountService/Account -u <bmcuser>:<bmcpass>{

"@odata.context": "/redfish/v1/$metadata#ManagerAccountCollection.ManagerAccountCollection","@odata.id": "/redfish/v1/AccountService/Accounts","@odata.type": "#ManagerAccountCollection.ManagerAccountCollection","Description": "BMC User Accounts","Members": [

{"@odata.id": "/redfish/v1/AccountService/Accounts/root"

}],"[email protected]": 1,"Name": "Accounts Collection"

}

Version: latest (2021-11-08) 62

Page 66: BMC User Guide

BMC User Guide

Fig. 9.2: Redfish user management

9.6 LDAP integration

OpenBMC supports LDAP integration to both OpenLDAP and Active Directory servers.You can set the LDAP configuration by using the busctl commands described in Table 9.6.

Table 9.6: Configure LDAP

Version: latest (2021-11-08) 63

Page 67: BMC User Guide

BMC User Guide

Command Description

Enable LDAP Enable LDAP$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓Object.Enable Enabled b true

<ldaptype> can have the value “openldap” or “active_directory”Set LDAP server URI Set LDAP server URI.$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config LDAPServerURI s "<ldap_server_uri>"

<ldaptype> can have the value “openldap” or “active_directory”Set LDAP Search Scope Set LDAP search scope$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config LDAPSearchScope s "<ldap_search_scope>"

<ldap_search_scope> is in the format xyz.openbmc_project.User.Ldap.Config.SearchScope.subSet LDAP BindDN Set LDAP bind DN$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config LDAPBindDN s "<ldap_binddn>"

Example ldap_bindn string: “uid=testbind,ou=People,dc=domain,dc=test,dc=co”Set LDAP BindDN PW Set LDAP bind DN password$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config LDAPBindDNPassword s "<ldap_binddn_pw>"

Set LDAP BaseDN Set LDAP base DN$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config LDAPBaseDN s "<ldap_base>"

Example ldap_basedn string: “dc=domain,dc=test,dc=co”Set UserNameAttribute Set UserNameAttribute$ busctl set-property xyz.openbmc_project.Ldap.Config /xyz/openbmc_project/user/ldap/<ldaptype> xyz.openbmc_project.→˓User.Ldap.Config UserNameAttribute s "<uattr>"

Example of uattr string: “uid”To use a secure LDAP connection, you need to upload and install client and root certificate authority (CA) certifi-cates on the BMC. You can do this using the commands in Table 9.7.

Table 9.7: Install certificates

Version: latest (2021-11-08) 64

Page 68: BMC User Guide

BMC User Guide

Command Description

Install client cert Install client certificate$ busctl call xyz.openbmc_project.Certs.Manager.Client.Ldap /xyz/openbmc_project/certs/client/ldap xyz.openbmc_project.→˓Certs.Install Install s "<cert.pem>"

If successful, the client certificate is installed in /etc/nslcd/certs/cert.pem

Install Root CA cert Install root CA certificate$ busctl call xyz.openbmc_project.Certs.Manager.Authority.Ldap /xyz/openbmc_project/certs/authority/ldap xyz.openbmc_→˓project.Certs.Install Install s "<cacert.pem>"

If successful, the CA certificate is installed in /etc/ssl/certs/Root-CA.pem

To map privileges from LDAP user groups to local user groups, use the commands in Table 9.8.Table 9.8: Privilege mapping

Command Description

LDAP privilege map Map privileges from LDAP to local groups$ python3 openbmctool.py -H <bmcip> -U <bmcuser> -P <bmcpass>$ ldap privilege-mapper create -g <ldapgroup> -p {priv-admin/priv-user}

To display current LDAP configuration, use the commands in Table 9.9.Table 9.9: LDAP configuration

Command Description

Display LDAP configura-tion Display current LDAP configuration

$ curl -b cjar -k https://<bmcip>/xyz/openbmc_project/user/ldap/enumerate -u <bmcuser>:<bmcpass>

Version: latest (2021-11-08) 65

Page 69: BMC User Guide

CHAPTER

TEN

NETWORK CONFIGURATION

This section describes how to configure network settings via CLI, GUI, REST, IPMI and Redfish in-terface. It is described upstream in https://github.com/openbmc/phosphor-networkd/blob/master/docs/Network-Configuration.md.

10.1 BMC command line

• To get the default gateway of BMC:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.→˓SystemConfiguration DefaultGateway

• To get the default ipv6 gateway of BMC:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.→˓SystemConfiguration DefaultGateway6

• To get the default gateway of BMC:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.→˓SystemConfiguration HostName

DHCP settings:• To check if DNS is enabled:

$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config/dhcp xyz.openbmc_project.→˓Network.DHCPConfiguration DNSEnabled

• To check HostnameEnabled:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config/dhcp xyz.openbmc_project.→˓Network.DHCPConfiguration HostNameEnabled

• To check if NTP is enabled:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config/dhcp xyz.openbmc_project.→˓Network.DHCPConfiguration NTPEnabled

• To check SendHostNameEnabled:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config/dhcp xyz.openbmc_project.→˓Network.DHCPConfiguration SendHostNameEnabled

You can execute the following operations on interface “eth0”:• Check if autonegotiation is enabled:

$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.→˓EthernetInterface AutoNeg

Version: latest (2021-11-08) 66

Page 70: BMC User Guide

BMC User Guide

• Check if DHCP is enabled:$ busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.→˓EthernetInterface DHCPEnabled

10.2 GUI

The network configuration available in the GUI are shown in Fig. 10.1.

Fig. 10.1: GUI: Network setting

10.3 REST API

You can uses the REST interface to query the network configuration, by using openbmctool.py.• Viewing current configuration:

python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> network view-config

• Get hostname:python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> network getHostName

• Print out default gateway on the BMC:

Version: latest (2021-11-08) 67

Page 71: BMC User Guide

BMC User Guide

python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> network getDefaultGW

• Get IPs on the given interface:python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> network getIP -I <interface>

10.4 IPMI

• Print network information:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan print <channel>

• Enable DHCP:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan set <channel> ipsrc dhcp

• Configure static IP:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan set <channel> ipsrc static

• Set IP address:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan set <channel> ipaddr <ipaddr>

• Set netmask:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan set <channel> netmask <x.x.x.x>

• Set default gateway IP address:$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> lan set <channel> defgw ipaddr <ip>

Note: Since the system does not allow unpingable gateway addresses, make sure the gateway address is pingable.

Version: latest (2021-11-08) 68

Page 72: BMC User Guide

CHAPTER

ELEVEN

SERIAL OVER LAN (SOL)

This section describes how to get access to the serial console of the IPU-M2000 gateway over the LAN interface.Serial over LAN (SoL) support is only available using the CLI, GUI and IPMI interfaces.

11.1 BMC command line

On the BMC command line, use the obmc-console-client command to access the gateway serial console. If thechassis is powered on, a prompt appears and authentication is needed to log in.• To exit from obmc-console-client, type: <Return>~~.. (Note: two ~ characters)• To exit from the ssh session to BMC, type: <Return>~.

In order to directly connect to the gateway serial console from a remote machine, use the command:$ ssh root@<BMC-IP> -p 2200

11.2 GUI

To access the IPU-M2000 gateway serial console using the GUI, log into the GUI and navigate to the Servercontrol tab and then the Serial over LAN console tab, as shown in Fig. 11.1.

Version: latest (2021-11-08) 69

Page 73: BMC User Guide

BMC User Guide

Fig. 11.1: GUI: IPU-M2000 serial over LAN

11.3 IPMI

To access the IPU-M2000 gateway serial console using IPMI, use the following command:$ ipmitool -I lanplus -C 3 -p 623 -U <bmcuser> -P <bmcpass> -H <bmcip> sol activate

To exit from the console, type: <Return>~~. (Note: two ~ characters)

Version: latest (2021-11-08) 70

Page 74: BMC User Guide

CHAPTER

TWELVE

DEBUG COLLECTOR

The debug collector provides mechanisms to collect various system log files, and is useful for troubleshooting. Aset of collected logs are referred to as a “dump”.The logs gathered by the debug collector are shown in Table 12.1.

Table 12.1: Debug collector logs

Log name Description

bmc-state.log Contains the value of the OpenBMC BMCState property.chassis-state.log Contains the value of the OpenBMC Chassis PowerState property.cpuinfo Contains information about the CPU on the BMC.disk-usage.log Shows disk usage on BMC, gathered with the df command.dreport.log Contains a summary of the status of different logs collected by the dump-collector.envtest.log Result of system environment test, containing sensor threshold checks, PSU andfans status checks, systemd services checks, and so on.failed-services.log Displays failing services (if any).firmware_version.log Shows IPU-Machine firmware version, including BMC, GW, ICU (MCU) and SysF-PGA.fw-printenv.log Contains the U-Boot environment.gw_cpu_usage.log Load information of GW CPUs.gw_disk_usage.log Shows disk usage on GW, gathered with df command.gw_memory_usage.log Displays GW memory usagegw_uptime.log Displays the output of the uptime command on the GW.hostlogs Contains GW journal.hostnamectl.log Contains hostname, machine ID, OS, kernel and architecture information.host-state.log Displays the value of the OpenBMC HostState property.inventory.log Contains system inventory information.ipaddr.log IP information from BMC.iplink.log IP link information from BMC.ipus-regdump.log A dump of selected IPU status registers, including tr, xb, nlc, pci and ss status.journal-pretty.log Prettified journal log from BMC.meminfo Memory information from BMC.

continues on next page

Version: latest (2021-11-08) 71

Page 75: BMC User Guide

BMC User Guide

Table 12.1 – continued from previous pageLog name Description

obmc-console.log Log from the BMC-GW serial-console.os-release Information gathered from /etc/os-release on BMC.pcie-state.log PCIe boot and state information.summary.log Summary of the dump/debug-collection taken.top.log Log gathered from the top-command on BMC.uptime.log Output from uptime command on BMC.

12.1 REST API

You can use the openbmctool.py to create, list and retrieve dumps.• Create a dump:

$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump create

Note: This command will complete before the dump is actually created and ready for retrieval. Dumpcreation will take approximately 1 min 30 seconds. You can check if the dump is available by using the dumplist command. The maximum number of dumps that can exist on a BMC is two.

• List dumps on the system:$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump list

• Retrieve a dump from the system:$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump retrieve -s <dump_save_path> <dump_→˓number># Example$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump retrieve -s . 1

• Delete a dump from the system:$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump delete [-n [DUMPNUM [DUMPNUM ...]]] {all}# Example$ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump delete -n 1

Version: latest (2021-11-08) 72

Page 76: BMC User Guide

CHAPTER

THIRTEEN

RESET LOST ROOT PASSWORD

This section describes how to reset a forgotten or lost BMC root password.If the firmware version is 1.9.0 or later, then you can recover the password by using the serial port (see Section13.1, BMC command line). if firmware version is earlier than 1.9.0, you will need to perform a factory reset (seeSection 13.2, Factory reset from U-Boot).

13.1 BMC command line

This procedure is only applicable with BMC firmware version 1.9.0 or later.If you have forgotten the BMC root password then physical access to the IPU-Machine is required to reset it. Youneed to use a USB cable to connect the Micro-USB management port of the IPU-Machine to the managementserver (see Fig. 13.1).

Fig. 13.1: IPU-Machine rear side showing the location of the Micro-USB management port (green) indicated by“Mgt”

You can then reset the password by rebooting the machine and interrupting U-Boot from the serial console using,for example, minicom. Once in U-Boot, append rescue_bmc to the bootargs environment variable, and then boot:ast# setenv bootargs console=ttyS4,115200n8 root=/dev/ram rw rescue_bmcast# boot

This will automatically log you in as the root user on the serial console. You can now change the root passwordby using the passwd command.

13.2 Factory reset from U-Boot

You can perform a factory reset from U-Boot, using the following steps:1. Gain physical access to the IPU-Machine and connect your laptop or server to the IPU-Machinemanagementport with a Micro-USB cable (see Fig. 13.1).2. Start a serial communication program, for example minicom. The required settings are:

• Baud rate: 115200• Data bits: 8• Stop bits: 1

Version: latest (2021-11-08) 73

Page 77: BMC User Guide

BMC User Guide

• Enable software flow control if using minicom. Set flow control to “none” if using putty.3. Do an AC power cycle by unplugging the AC cables from the power supplies. Let the system power down,and then reinsert the cables, while having the serial terminal running. When the BMC reboots, enter U-Bootby pressing any key.4. You will now see the ast# prompt. Enter the following commands:

ast# setenv openbmconce factory-resetast# saveast# saveast# reset

5. Factory reset will now be in progress. Once it is complete, let the BMC boot and log in with the defaultcredentials.6. You can now change the root password by using the passwd command.

Version: latest (2021-11-08) 74

Page 78: BMC User Guide

CHAPTER

FOURTEEN

TIME SETTINGS

This section describes how to retrieve or configure time and date settings using the supported BMC interfaces.You can configure the BMC to use two different time synchronization methods: NTP or manual.If the time synchronization method is manual, you must manually set the date and time using the CLI, REST orIPMI interfaces.If the time synchronizationmethod is NTP, the date and time is automatically synchronized using the NTP protocol(with the timesyncd service as theNTP client). This either uses the default systemdNTP servers (time.google.com)or other specified NTP servers.Note: Time zones are not supported by OpenBMC. All times read from BMC are assumed to be in UTC.

14.1 BMC command line

• To get the current date and time, use the date command. Refer to the Linux man pages for details of thiscommand.• To get the current time synchronization method of BMC:

$ busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.→˓Synchronization TimeSyncMethod

• To set the time synchronization method of BMC:# Set BMC time synchronization method to NTP$ busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.→˓Synchronization TimeSyncMethod s "xyz.openbmc_project.Time.Synchronization.Method.NTP"

# Set BMC time synchronization method to Manual$ busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.→˓Synchronization TimeSyncMethod s "xyz.openbmc_project.Time.Synchronization.Method.Manual"

• To confirm that setting of time mode is applied, you can check the “NTP service” status of the output of thetimedatectl command.$ timedatectl

Local time: Sat 2021-06-19 16:14:23 UTCUniversal time: Sat 2021-06-19 16:14:23 UTCRTC time: Sat 2021-06-19 16:14:24Time zone: n/a (UTC, +0000)System clock synchronized: yesNTP service: activeRTC in local TZ: no

If the “NTP service” field is reported as “active” then BMC timesyncd service is syncing time with either a config-ured NTP server or the default one.

Version: latest (2021-11-08) 75

Page 79: BMC User Guide

BMC User Guide

• To manually add NTP servers in CLI, you can use the following command:$ busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.→˓EthernetInterface NTPServers as 1 "<ntp_server>"

14.2 GUI

The time management operations available in the GUI are shown in Fig. 14.1.Note: BMC is the only time owner of the system.

Note: If the BMC time synchronization method is NTP then manually setting the date and time from the GUImight fail the first time. This is due to the time it takes for the timesyncd service to be stopped on BMC andis described in https://github.com/openbmc/phosphor-time-manager#special-note-on-changing-ntp-setting. Asecond try should set the time and date correctly.

Fig. 14.1: GUI: time management operations

14.3 REST API

• To get current time synchronization method of BMC use the following curl command:$ curl -k https://<bmcip>/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod -u <bmcuser>:<bmcpass>

• To set time synchronization method of BMC use the following command:

Version: latest (2021-11-08) 76

Page 80: BMC User Guide

BMC User Guide

# Set BMC time synchronization method to NTP$ curl -k -X PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.NTP" }' https://<bmcip>/xyz/→˓openbmc_project/time/sync_method/attr/TimeSyncMethod -u <bmcuser>:<bmcpass>

# Set BMC time synchronization method to Manual$ curl -k -X PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.Manual" }' https://<bmcip>/xyz/→˓openbmc_project/time/sync_method/attr/TimeSyncMethod -u <bmcuser>:<bmcpass>

• To manually add NTP servers with the CLI, you can use the following command:$ curl -k -X PUT -d '{"data": ["<ntp_server>"] }' https://<bmcip>/xyz/openbmc_project/network/eth0/attr/NTPServers

Note: It is possible to get the BMC time using REST interface using the following command, however the time isreturned as epoch time, that is as microseconds after 1970:01:01.$ curl -b cjar -k https://<bmcip>/xyz/openbmc_project/time/bmc

14.4 IPMI

Time synchronization mode setting is not supported over the IPMI interface. Assuming the BMC is not in NTPmode, you can get or set time using the following IPMI commands:# Set time and date$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> sel time set "DD/MM/YYYY HH:MM:SS"# Get time and date$ ipmitool -I lanplus -U <user> -P <password> -H <hostip/hostname> sel time get

Note: Setting the time over the IPMI interface if the BMC time synchronization method is NTP, will fail. Pleaseuse the CLI or REST interface to set the time synchronization method to manual before setting the time.

14.5 Redfish

Setting the time and date of BMC is not supported.

Version: latest (2021-11-08) 77

Page 81: BMC User Guide

CHAPTER

FIFTEEN

SUMMARY OF SUPPORTED IPMI COMMANDS

The following section contains a list of all commands defined in the IPMI v2.0 spec.Listed below are the description of the commands. Items marked with “M” are mandatory according to the spec.Items marked with “O” are optional.

Table 15.1: Global commands (NetFn: 6h)

Command NetFn Optional/Mandatory Hexcmdvalue

Returns

Get Device ID APP M 1h Device ID:0. Device Rev:0. FWversion: major (byte 3), mi-nor (byte 4). IPMI version:0x2. Additional Device Sup-port : Sensor Device, SEL De-vice, FRU Inventory Device,Chassis Device (0X8d), AuxFirmware Rev Info (4 last bytes,MSB first)Cold Reset APP O 0x02Warm Reset APP O (Not supported) 3hGet Self Test Re-sults APP M 4h Byte 1: 56h : Self Test functionnot implemented in this con-troller.Manufacturing teston APP O (Not supported) 5hSet ACPI PowerState APP O 6hGet ACPI PowerState APP O (Not supported) 7hGet Device GUID APP O 8h See 20.8 in IPMI spec

Table 15.2: Broadcast commands (NetFn: 6h)

Command NetFn Optional/Mandatory Hex cmdvalue

Broadcast ‘Get Device ID’ APP O (Not supported) 1h

Version: latest (2021-11-08) 78

Page 82: BMC User Guide

BMC User Guide

Table 15.3: Messaging commands (NetFn: 6h)

Command NetFn Optional/Mandatory Hex cmdvalue

Set BMC Global Enables APP M (Not supported) 2ehGet BMC Global Enables APP M (Not supported) 2fhClear Message Flags APP M (Not supported) 30hGet Message Flags APP M (Not supported) 31hEnable Message Channel Re-ceive APP O (Not supported) 32hGet Message APP M (Not supported) 33hSend Message APP M (Not supported) 34hRead Event Message Buffer APP O (Not supported) 35hGet System Interface Capabili-ties APP O 36hMaster Write-Read APP M (Not supported) 52hGet System GUID APP O 37hSet System Info APP O (Not supported) 58hGet System Info APP O (Not supported) 59hGet Channel AuthenticationCapabilities APP O 38hGet Channel Cipher Suites APP M (Not supported) 54hGet Session Challenge APP O (Not supported) 39hActivate Session APP O (Not supported) 3AhSet Session Privilege Level APP O (Not supported) 3BhClose Session APP O (Not supported) 3ChGet Session Info APP O (Not supported) 3DhGet AuthCode APP O (Not supported) 3FhSet Channel Access APP O 40hGet Channel Access APP O 41hGet Channel Access APP O 41hGet Channel Info APP O 42hSet Channel Security Keys APP M (Not supported) 56hSet User Access APP O 43hGet User Access APP O 44hSet User Name APP O 45hGet User Name APP O 46hSet User Password APP O 47h

Version: latest (2021-11-08) 79

Page 83: BMC User Guide

BMC User Guide

Table 15.4: Firmware firewall & Command discovery commands (NetFn: 6h)

Command NetFn Optional/Mandatory Hex cmdvalue

Get NetFn Support APP O (Not supported) 9hGet Command Support APP O (Not supported) AhGet Command Sub-functionSupport APP O (Not supported) BhGet Configurable Commands APP O (Not supported) ChGet Configurable CommandsSub-functions APP O (Not supported) DhSet Command Enables APP O (Not supported) 60hGet Command Enables APP O (Not supported) 61hSet Command Sub-functionEnables APP O (Not supported) 62hGet Command Sub-functionEnables APP O (Not supported) 63hGet OEMNetFn IANA Support APP O (Not supported) 64h

Table 15.5: RCMP+ support and Payloads commands (NetFn: 6h)

Command NetFn Optional/Mandatory Hex cmdvalue

Activate Payload APP O (Not supported) 48hDeactivate Payload APP O (Not supported) 49hSuspend/Resume Payload En-cryption Command APP O (Not supported) 55hGet Payload Activation Status APP O (Not supported) 4AhGet Payload Instance Info APP O (Not supported) 4BhGet Payload Instance Info APP O (Not supported) 4BhSet User Payload Access APP O (Not supported) 4ChGet User Payload Access APP O (Not supported) 4DhGet Channel Payload Support APP O 4EhGet Channel Payload VersionCommand APP O 4FhGet Channel OEMPayload InfoCommand APP O 50h

Table 15.6: LAN commands (NetFn: Ch)

Version: latest (2021-11-08) 80

Page 84: BMC User Guide

BMC User Guide

Command NetFn Optional/Mandatory Hex cmd value

Set LAN Configuration Param-eters TRANSPORT M 1hSet LAN Configuration Param-eters TRANSPORT M 2hSuspend BMC ARPs TRANSPORT O (Not supported) 3hGet IP/UDP/RMCP Statistics TRANSPORT O (Not supported) 4h

Table 15.7: IPMI serial/modem commands (NetFn: Ch)

Command NetFn Optional/Mandatory Hex cmdvalue

Set Serial/MODEM Configura-tion TRANSPORT O (Not supported) 10hSet Serial/MODEM Configura-tion TRANSPORT O (Not supported) 11hGet TAP response codes TRANSPORT O (Not supported) 12hSet PPP UDP proxy transmitdata TRANSPORT O (Not supported) 13hGet PPP UDP proxy transmitdata TRANSPORT O (Not supported) 14hSend PPP UDP proxy packet TRANSPORT O (Not supported) 15hGet PPP UDP proxy Receivedata TRANSPORT O (Not supported) 16hSerial/MODEMconnection ac-tive TRANSPORT O (Not supported) 17hCallback TRANSPORT O (Not supported) 18hSet User Callback options TRANSPORT O (Not supported) 1AhGet User Callback options TRANSPORT O (Not supported) 1Bh

Table 15.8: SOL commands (NetFn: Ch)

Command NetFn Optional/Mandatory Hex cmdvalue

SOL activating TRANSPORT O (Not supported) 20hSet SOL Configuration Param-eters TRANSPORT O (Not supported) 21hSet SOL Configuration Param-eters TRANSPORT O (Not supported) 22h

Table 15.9: BMCWatchdog timer commands (NetFn: 6h)

Version: latest (2021-11-08) 81

Page 85: BMC User Guide

BMC User Guide

Command NetFn Optional/Mandatory Hex cmdvalue

Reset watchdog timer APP M 22hSet Watchdog timer APP M 24hSet Watchdog timer APP M 25h

Table 15.10: Chassis commands (NetFn: 0h)

Command NetFn Optional/Mandatory Hex cmdvalue

Get Chassis Capabilities CHASSIS M 00hGet Chassis Status CHASSIS M 01hChassis control CHASSIS M 02hChassis reset CHASSIS O (Not supported) 03hChassis identify CHASSIS O 04hSet Front Panel Button Enables CHASSIS O 0AhSet Chassis Capabilities CHASSIS O (Not supported) 05hSet Power Restore Policy CHASSIS O 06hSet Power Cycle Interval CHASSIS O (Not supported) 0BhGet System Restart Cause CHASSIS O (Not supported) 07hSet System Boot Options CHASSIS O (Not supported) 08hGet System Boot Options CHASSIS O (Not supported) 09hGet POH Counter CHASSIS M 0Fh

Table 15.11: Sensor/Event commands (NetFn: 04h)

Command NetFn Optional/Mandatory Hex cmdvalue

Set Event Receiver SENSOR O (Not supported) 00hGet Event Receiver SENSOR O (Not supported) 01hPlatform Event SENSOR M (Not supported) 02h

Table 15.12: PEF and Alerting commands (NetFn: 04h)

Version: latest (2021-11-08) 82

Page 86: BMC User Guide

BMC User Guide

Command NetFn Optional/Mandatory Hex cmdvalue

Get PEF Capabilities SENSOR M (Not supported) 10hARM PEF Postpone timer SENSOR M (Not supported) 11hSet PEF Configuration Parame-ters SENSOR M (Not supported) 12hGet PEF Configuration Param-eters SENSOR M (Not supported) 13hSet Last Processed Event ID SENSOR M (Not supported) 14hGet Last Processed Event ID SENSOR M (Not supported) 15hAlert immediate SENSOR O (Not supported) 16hPET acknowledge SENSOR O (Not supported) 17h

Table 15.13: SEL commands (NetFn: Ah)

Command NetFn Optional/Mandatory Hex cmdvalue

Get SEL info STORAGE M 40hGet SEL Allocation Info STORAGE O (Not supported) 41hReserve SEL STORAGE O 42hGet SEL Entry STORAGE M 43hAdd SEL Entry STORAGE M 44hPartial Add SEL Entry STORAGE O (Unsupported) 45hDelete SEL Entry STORAGE O 46hClear SEL STORAGE M 47hGet SEL Time STORAGE M 48hSet SEL Time STORAGE M 49hGet SEL Time UTC Offset STORAGE O (Not supported) 5ChSet SEL Time UTC Offset STORAGE O (Not supported) 5DhGet Auxiliary Log Status STORAGE O (Not supported) 5AhSet Auxiliary Log Status STORAGE O (Not supported) 5Bh

Table 15.14: SDR Repository commands (NetFn: Ah)

Command NetFn Optional/Mandatory Hex cmdvalue

Get SDR Repository Info STORAGE O (Not supported) 21hGet SDR Repository AllocationInfo STORAGE M 22h

continues on next page

Version: latest (2021-11-08) 83

Page 87: BMC User Guide

BMC User Guide

Table 15.14 – continued from previous pageCommand NetFn Optional/Mandatory Hex cmd

value

Reserve SDR Repository STORAGE M 22hGet SDR STORAGE M 23hAdd SDR STORAGE O (Not supported) 24hPartial Add SDR STORAGE O (Not supported) 25hDelete SDR STORAGE O (Not supported) 26hClear SDR Repository STORAGE O (Not supported) 27hGet SDR Repository Time STORAGE O (Not supported) 28hSet SDR Repository Time STORAGE O (Not supported) 29hEnter SDR Repository UpdateMode STORAGE O (Not supported) 2AhExit SDR Repository UpdateMode STORAGE O (Not supported) 2BhRun Initialization Agent STORAGE O (Not supported) 2Ch

Table 15.15: FRU Inventory Device commands (NetFn: Ah)

Command NetFn Optional/Mandatory Hex cmdvalue

Get FRU Inventory Area Info STORAGE M (FRU device ID = 0h for BMC’s FRU) 10hRead FRU Data STORAGE M (FRU device ID = 0h for BMC’s FRU) 11hWrite FRU Data STORAGE M (Not supported) 12h

Table 15.16: Sensor device commands (NetFn: 4h)

Command NetFn Optional/Mandatory Hex cmdvalue

Get Device SDR Info SENSOR O 20hGet Device SDR SENSOR O 21hReserve Device SDR Reposi-tory SENSOR O 22hGet Sensor Reading Factors SENSOR O (Not supported) 23hSet Sensor Hysteresis SENSOR O (Not supported) 24hGet Sensor Hysteresis SENSOR O (Not supported) 25hSet Sensor Threshold SENSOR O (Not supported) 26hGet Sensor Threshold SENSOR O 27hSet Sensor Event Enable SENSOR O (Not supported) 28hGet Sensor Event Enable SENSOR O (Not supported) 29h

continues on next pageVersion: latest (2021-11-08) 84

Page 88: BMC User Guide

BMC User Guide

Table 15.16 – continued from previous pageCommand NetFn Optional/Mandatory Hex cmd

value

Re-arm Sensor Events SENSOR O (Not supported) 2AhGet Sensor Event Status SENSOR O (Not supported) 2BhGet Sensor Reading SENSOR M 2DhSet Sensor Type SENSOR O (Not supported) 2EhGet Sensor Type SENSOR O (Not supported) 2FhSet Sensor Reading and EventStatus SENSOR O 30h

Version: latest (2021-11-08) 85

Page 89: BMC User Guide

CHAPTER

SIXTEEN

TRADEMARKS & COPYRIGHT

Graphcore® and Poplar® are registered trademarks of Graphcore Ltd.AI-Float™, Colossus™, Exchange Memory™, Graphcloud™, In-Processor-Memory™, IPU-Core™, IPU-Exchange™,IPU-Fabric™, IPU-Link™, IPU-M2000™, IPU-Machine™, IPU-POD™, IPU-Tile™, PopART™, PopLibs™, PopVision™,PopTorch™, Streaming Memory™ and Virtual-IPU™ are trademarks of Graphcore Ltd.All other trademarks are the property of their respective owners.Copyright © 2016-2020 Graphcore Ltd. All rights reserved.

Version: latest (2021-11-08) 86