Intel® is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.
Java™ and all other Java-based marks are trademarks or registered trademarks of Oracle America, Inc. in the U.S. and other countries.
Microsoft®, Windows® and Windows Me® are registered trademarks of Microsoft Corporation; and Windows XP™ is a trademark of
Microsoft Corporation.
PICMG®, CompactPCI®, AdvancedTCA™ and the PICMG, CompactPCI and AdvancedTCA logos are registered trademarks of the PCI
Industrial Computer Manufacturers Group.
UNIX® is a registered trademark of The Open Group in the United States and other countries.
Notice
While reasonable efforts have been made to assure the accuracy of this document, Artesyn assumes no liability resulting from any
omissions in this document, or from the use of the information obtained therein. Artesyn reserves the right to revise this document
and to make changes from time to time in the content hereof without obligation of Artesyn to notify any person of such revision or
changes.
Electronic versions of this material may be read online, downloaded for personal use, or referenced in another document as a URL to
an Artesyn website. The text itself may not be published commercially in print or electronic form, edited, translated, or otherwise
altered without the permission of Artesyn.
It is possible that this publication may contain reference to or information about Artesyn products (machines and programs),
programming, or services that are not available in your country. Such references or information must not be construed to mean that
Artesyn intends to announce such Artesyn products, programming, or services in your country.
Limited and Restricted Rights Legend
If the documentation contained herein is supplied, directly or indirectly, to the U.S. Government, the following notice shall apply
unless otherwise agreed to in writing by Artesyn.
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (b)(3) of the Rights in
Technical Data clause at DFARS 252.227-7013 (Nov. 1995) and of the Rights in Noncommercial Computer Software and
Documentation clause at DFARS 252.227-7014 (Jun. 1995).
Figure 4-2HPI Multishelf Library - Overview of Related HPI Resources and Controls . . . . . . . . 43
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide
7
List of Figures
8
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
About this Manual
Overview of Contents
This manual is divided into the following chapters and appendices.
Chapter 1, System Management Interfaces Overview, on page 13
Provides an overview on HPI-B in System Management Interface Based on BBS HPI-B 2.0
(Centellis 4620/4440) AdvancedTCA systems.
Chapter 2, Software Installation and Configuration, on page 19
Describes how to install and configure HPI-B clients and HPI-B daemons.
Chapter 3, Developing Applications, on page 35
Describes the necessary steps in order to build HPI-B client applications.
Chapter 4, Using HPI-B, on page 37
Describes in detail which HPI-B features are supported.
Appendix A, Example Applications, on page 65
Briefly describes HPI-B example applications, which are delivered as part of the System
Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) HPI-B distribution.
Appendix B, Related Documentation, on page 91
Provides references to other, related documentation.
Abbreviations
This document uses the following abbreviations:
AbbreviationDescription
AMCAdvanced Mezzanine Module
ATCAAdvanced Telecom Computing Architecture
BTBlock Transfer
CGECarrier Grade Edition
CPIOCopy In/Out
CPUCentral Processing Unit
FRUField Replaceable Unit
HPIHardware Platform Interface
IAIntel Architecture
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
9
About this Manual
AbbreviationDescription
IDIdentifier
IPInternet Protocol
IPMI Intelligent Platform Management Interface
LANLocal Area Network
MVLMontavista Linux
OEMOriginal Equipment Manufacturer
PICMGPCI Industrial Computer Manufacturers Group
RMCPRemote Management Control Protocol
RDRResource Data Record
RPMRedHat Package Manager
RPTResource Presence Table
SAFService Availability Forum
About this Manual
SAIService Availability Interface
SAIMService Availability Interface Mapping
SAMShelf Management Alarm Module
SMISerial Management Interface
ShMCShelf Management Controller
Conventions
The following table describes the conventions used throughout this manual.
NotationDescription
0x00000000Typical notation for hexadecimal numbers (digits are
0b0000Same for binary numbers (digits are 0 and 1)
boldUsed to emphasize a word
ScreenUsed for on-screen output and code related elements
10
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
0 through F), for example used for addresses and
offsets
or commands in body text
About this Manual
NotationDescription
Courier + BoldUsed to characterize user input and to separate it
from system output
ReferenceUsed for references and for table and figure
descriptions
File > ExitNotation for selecting a submenu
<text>Notation for variables and keys
[text]Notation for software buttons to click on the screen
and parameter description
...Repeated item for example node 1, node 2, ..., node
12
.
.
.
..Ranges, for example: 0..4 means one of the integers
|Logical OR
Omission of information from example/command
that is not necessary at the time being
0,1,2,3, and 4 (used in registers)
Indicates a hazardous situation which, if not avoided,
could result in death or serious injury
Indicates a hazardous situation which, if not avoided,
may result in minor or moderate injury
Indicates a property damage message
No danger encountered. Pay attention to important
information
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
11
About this Manual
Summary of Changes
This manual has been revised and replaces all prior editions.
Part NumberPublication DateDescription
6806800P21AApril 2012Initial release
6806800P21BJune 2012Added the following tables:
About this Manual
HPI Tags on page 22
Plugin Specific Parameters on page 25
HPI Restart Daemon RDR on page 60
HPI Restart Daemon State on page 61
IPMI Command RDR on page 61
IPMI Command Control on page 61
IPMI Command State on page 62
Boot Bank Control on page 63
Boot Bank State on page 63
Boot Bank RDR on page 62
Updated Limitations with Respect to HPI-B
AdvancedTCA Mapping Specification on page
38.
12
6806800P21CJanuary 2014Updated Table 2-3 on page 22.
6806800P21DJune 2014Rebranded to Artesyn.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Chapter 1
System Management Interfaces Overview
1.1Introduction
Artesyn provides an SAF Hardware Platform Interface (HPI) as part of its AdvancedTCA
platforms. HPI provides an industry standard interface to monitor and control highly available
telecommunications system platforms. The ability to monitor and control these platforms is
provided through a consistent and standard set of programmatic interfaces that are targeted
for adoption by the telecom building block industry to significantly reduce product time-tomarket and development costs while retaining or enhancing total system/network availability.
HPI provides the interface between the middleware software solution stack and the hardware
solution stack, allowing portability of middleware software building blocks across many
different hardware platforms and portability of hardware platforms across many different
middleware software building blocks.
This guide describes the HPI-B implementation targeted at the Artesyn AdvancedTCA Centellis
4620/4440 platform.
1.2Standard Compliances
The Artesyn HPI-B implementation for the Centellis 4620/4440 environment is compliant to
the following standards.
Table 1-1 HPI-B Standards Supported by Artesyn HPI-B Implementation
StandardDescription
SAI-HPI-B.03.02HPI-B base specification. It abstracts hardware platform
characteristics into a data model consisting of entities and
resources.
SAIM-HPI-B.03.02-xTCAHPI-B-AdvancedTCA mapping specification. It provides a vendor
independent hardware platform view of an AdvancedTCA
system.
Although the standards listed above are fulfilled, some specific limitations apply. For details,
refer to Limitations on page 37.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
13
System Management Interfaces Overview
1.3Architecture
The Artesyn HPI implementation is provided in the form of a client-server architecture. In the
Centellis 4620/4440 system environment the server, called HPI daemon, runs on the ATCAF125/F140 switch blade, and the client, which is constituted by an HPI library and an
application which links that library, runs on any node within a shelf. Internally each HPI daemon
is connected to a Shelf Management Alarm module (SAM) in the shelf. The communication
between HPI daemon and SAM is realized via RMCP (Remote Management Control Protocol)
which is an IP-encapsulation of IPMI commands. The communication between HPI daemon
and HPI client is realized by an IP-based remote HPI communication protocol.
An HPI client may access one or more HPI daemons, and on the other hand, an HPI daemon
may be accessed by one or more HPI clients. The following figure illustrates this.
Figure 1-1Overview of HPI Usage in Systems
14
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
1.3.1HPI Library
The HPI library is the primary user interface. It is intended to be used by applications that wish
to control and monitor HPI managed components, such as ATCA shelves, blades and other
FRUs. The HPI library is delivered as shared and as static library and has to be linked with an
application.
There are two types of HPI libraries available:
Single shelf library
Multi shelf library
The single shelf library supports the communication with one HPI daemon only. It is only used
internally, for example by the SNMP subagent and is not intended to be used by user
applications. The multishelf library, on the other hand, supports the communication with one
up to several HPI daemons. This becomes necessary if you wish to deploy redundancy in one
HPI-B based shelf management system or if you wish to manage several shelves. The multishelf
library is the library which you should build your applications on, it is the official interface to
customer applications.
System Management Interfaces Overview
Details about supported combinations of CPU architecture/Linux distribution are given in
Chapter 2, Software Installation and Configuration, on page 19.
1.3.2HPI Daemon
The HPI daemon within an Centellis 4620/4440 system runs on the ATCA-F125/F140 blades
and its main tasks are:
Provide a single access point to control and monitor hardware components in a shelf
Map information provided by the underlying Shelf Manager to HPI
1.3.3SNMP Agent
The Artesyn Embedded Technologies HPI-B distribution includes an SNMP agent. It provides a
management interface which allows you to remotely control and manage hardware
components within the Centellis 4620/4440 shelf. The supported Management Interface Base
(MIB) is the standard SAI-HPI-SNMP-B.01.01.mib as defined by the Service Availability Forum.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
15
System Management Interfaces Overview
The SNMP agent consists of an SNMP master agent and an SNMP subagent. The SNMP master
agent is based on Net-SNMP and handles the communication with an external SNMP manager.
Internally, the SNMP master agent communicates with the SNMP subagent via the AgentX
protocol. The SNMP subagent uses the HPI-B single shelf library and communicates with an
HPI-B daemon. The following figure illustrates the software architecture of the SNMP agent.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
The SNMP agent software is intended to run on an ATCA-F125/F140 blade and should be
preinstalled together with the remaining ATCA-F125/F140 software. If you need to reinstall or
update the SNMP agent software, refer to Installing an SNMP Agent on page 31. For details about
how to configure the SNMP agent, refer to Configuring an SNMP Agent on page 33.
1.4High Availability
The Artesyn HPI-B implementation described in this manual supports the following two
redundancy options:
Active/active
Cold-standby
The active/active option is the default configuration. Both HPI daemons in shelf are active and
run simultaneously. Your application connects to one daemon and if the connection fails it
connects to the second daemon. Note that the current HPI-B implementation does not
replicate any data between the two daemons, this means data consistency is not guaranteed.
System Management Interfaces Overview
Alternatively you may choose to use the cold-standby redundancy option. In this configuration
your application must make sure that only one HPI daemon is active at a time. If the daemon
fails, your application starts up the second, previously inactive daemon and connects to it.
During start-up the HPI daemon scans the current system environment. This way it is ensured
that the daemon reflects the current system configuration.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
17
System Management Interfaces Overview
18
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Chapter 2
Software Installation and Configuration
2.1Overview
This section describes how to set-up HPI-B daemons and clients and how to install all files
needed to run client applications. Generally, all files are delivered in the form of RPMs. The
content of an RPM is reflected in its naming scheme.
The following table describes the used naming scheme of the client and daemon RPMs. The
placeholder "architecture" stands for the supported CPU architecture of the respective blade
where the client or daemon is to run and the following boards or architectures should be
referred as example:
x86
Intel IA-32 bit blades, such as PrAMC-7210/7211
x86_64
Intel IA-64-bit blades, such as the ATCA-7221
ppc_e500v2
PowerPC based blades, such as the ATCA-F125/F140
Table 2-1 RPM Files for HPI-B Clients and Daemons
RPM File NameDescription
bbs-hpib-<version>-
1.<architecture><distribution>-<OS>.rpm
bbs-hpib-daemon-<version>-
1.<architecture><distribution>-<os>.rpm.
The files required for the HPI-B daemon come as part of the ATCA-F125/F140 software.
Depending on the particular ATCA-F125/F140 release, the HPI-B daemon files are already
preinstalled or not. Check the respective documentation of the ATCA-F125/F140 itself and of
the system where the ATCA-F125/F140 is used.
If the HPI-B software is not preinstalled or if you want to upgrade the installed HPI-B software,
then you can obtain the daemon files as an RPM file. The file can be obtained from Artesyn.
This RPM is the HPI-B base package. It contains shared
libraries to be used by HPI-B clients and daemons, as well as
compiled example applications and client configuration
files. This package is required both by HPI-B daemons and
clients.
This RPM contain all files which are related to the HPI-B
daemon: executables, libraries and configuration file.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
19
Software Installation and Configuration
2.2Installing and Configuring the HPI-B Daemon
This section describes how to install and configure an HPI-B daemon.
2.2.1Installing an HPI-B Daemon
As previously mentioned, it depends on the ATCA-F125/F140 release if the HPI-B daemon files
are preinstalled or not. If they are not preinstalled or if you want to upgrade existing HPI-B files,
you need to obtain the desired RPM files and install them manually as follows.
Installing the HPI-B Daemon Files
In order to install/upgrade the HPI-B daemon files on an ATCA-F125/F140 blade, proceed as
follows.
1. Connect to the ATCA-F125/F140 blade where you wish to install the HPI-B daemon
files.
20
2. Copy the RPM file to the ATCA-F125/F140.
3. If applicable, enter rpm -e <Old HPI-B daemon package name> to
uninstall existing daemon files
4. If applicable, enter rpm -e <Old HPI-B client base package name> to
uninstall an installed HPI-B client base package
5. Enter rpm -i <New HPI-B client base package RPM>
This installs the new HPI-B client base package files.
6. Enter rpm -i <New HPI-B daemon RPM>
This installs the new daemon files.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Software Installation and Configuration
The following table lists all HPI-B related directories available on the ATCA-F125/F140 after the
installation.
Table 2-2 Overview of HPI-B Directories and Files on ATCA-F125/F140
DirectoryDescription
/opt/bladeservices/binContains HPI-B daemon binaries and compiled client
Contains configuration files used to configure the HPIB daemon and clients. See Configuring an HPI Daemon
on page 21 for details on configuring the HPI daemon.
2.2.2Configuring an HPI Daemon
At start-up, the HPI daemon reads the following configuration file:
/opt/bladeservices/etc/bbs-hpib/bbs-hpib.conf.
The only entry which you must configure manually once is the IP address and port used to
access the SAMs in the Centellis 4620/4440. Both SAMs have a virtual IP address assigned to
them which is to be used specifically for RMCP-based accesses. This is the IP address which you
must specify in the configuration file.
The corresponding section in the configuration file is called ipmidirect. Within
ipmidirect, you need to adapt the entries addr and port, where addr is the IP address and
port is the port.
In a Centellis 4620/4440 shelf the virtual IP address used to access the SAMs via RMCP is
192.168.24.11 and the port number is 623, by default. Thus, an entry in your configuration file
should look as follows:
handler ipmidirect {
entity_root = "{ADVANCEDTCA_CHASSIS,0}"
name = "lan" # RMCP
addr = "192.168.24.11"
port = "623" # RMCP port
...
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
21
Software Installation and Configuration
Both SAMs are operated in an active/stand-by mode. An internal redundancy mechanism
ensures that the HPI-B daemon is always connected to the currently active SAM. Since a virtual
IP address is used, this is transparent to the HPI-B daemons and HPI-B client applications.
Table 2-3 HPI Tags
TagDescriptionAllowed valuesDefault in Config. file
OPENHPI_INTERACTIVEinteractive daemon
with command line
interface
OPENHPI_CONFIG_REPLICATIONreplicate this
configuration file to
standby
OPENHPI_DEL_SIZE_LIMITsets the maximum size
for the domain event
log
OPENHPI_ON_EPSets the entity path on
which the application is
running. This entity
path will be returned
when
SaHpiResourceIdG
et() is called
OPENHPI_EVT_QUEUE_LIMITsets the maximum
number of events that
are allowed in the
session's event queue
OPENHPI_DEL_SAVEsets whether the
domain event log will
be persisted to disk or
not. The event log is
written to
OPENHPI_VARPATH
value
OPENHPI_DAT_SIZE_LIMITSets the maximum size
for the alarm table
OPENHPI_DAT_USER_LIMITsets the maximum
number of user type
alarm entries allowed in
the alarm table
OPENHPI_LOG_ON_SEVsets the lowest severity
level an event must
meet to be logged in
the domain event log
"YES | NO"[NO] - non-interactive
YES - interactive
"YES | NO"[NO] - no replication
YES - replicate
<0…N>[1000] - max size is 1000
0 - unlimited
"{ADVANCEDTCA_
CHASSIS,<shelf
_id>}"
<0…N>[1000] - max size is 1000
"YES | NO"[NO] - not saved
<0…N>[1000] - max size is 1000
<0…N>[100] - max size is 100100
(Order: Highest to
Lowest)
"CRITICAL |
MAJOR |
MINOR |
INFORMATIONAL|
OK | DEBUG"
[{ADVANCEDTCA_CHASSIS
,0}]
0 - unlimited
[YES] - saved to
OPENHPI_VARPATH
0 - unlimited
[MINOR] - all events with
MINOR and above severity are
logged
CRITICAL | MAJOR |
INFORMATIONAL | OK |
DEBUG - Events with given
severity and above that are
logged.
Built-in
Default
NO
NO
10000
{ADVANCE
DTCA_CHA
SSIS,0}
10000
NO
1000
MINOR
22
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Table 2-3 HPI Tags (continued)
Software Installation and Configuration
TagDescriptionAllowed valuesDefault in Config. file
OPENHPI_AUTO_INSERT_TIMEOUTSets the default auto-
insert timeout. If the
resource is not shelf
manager auto
activated, it starts an
auto insert timer,
otherwise the resource
stays in insertion state
until user explicitly
issues
saHpiResourceAct
iveSet API. (This
information is taken
from PICMG Fru
Activation and Power
Descriptor record)
OPENHPI_AUTO_EXTRACT_TIMEOUTSets the default auto-
extract timeout. If the
resource is not shelf
manager auto
deactivated, it starts an
auto extract timer,
otherwise the resource
stays in extraction state
until user explicitly
issues
saHpiResourceIna
ctiveSet API (This
information is taken
from PICMG Fru
Activation and Power
Descriptor record)
OPENHPI_PATHSearch path for pluginsAny valid search
OPENHPI_VARPATHpath to store user
events
OPENHPI_CONNECTION_PING_INTERVALConnection ping
interval for the clients
OPENHPI_CONNECTION_PING_TIMEOUTConnection timeout for
clients
OPENHPID_MAX_NUMBER_OF_CONNECTIONSmaximum number of
HPI clients
"block |
<0…N>"
"block |
<0…N>"
path
Any valid path[/var/lib/bbs-hpib] - If
<0…N>[500] - 500 milliseconds is the
<0…N>[5000] - 5000 milliseconds is
<0…N>[30] - when the client
[block] - auto insertion
policy never executed until
user issues
saHpiResourceActiveSe
t()
<0…N> Any positive value
would give timeout in
nanoseconds.
[60000000000] - 60000
seconds(in microseconds)
block - auto extraction policy
never executed until user
issues
saHpiResourceInactive
Set()
[/opt/bladeservices/l
ib/bbs-hpib]
OPENHPI_DEL_SAVE is YES,
then user events are stored in
this path by default
default ping interval
the default timeout
connections reach 30, any
further connections are
rejected
Built-in
Default
block
block
/opt/bla
deservic
es/lib/b
bs-hpib
/var/lib
/bbshpib
1000 ms
5000
30
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
23
Software Installation and Configuration
Table 2-3 HPI Tags (continued)
TagDescriptionAllowed valuesDefault in Config. file
OPENHPI_START_SNMPStart SNMP after HPI-B
daemon discovery
OPENHPI_SNMP_SCRIPTSNMP script to run if
OPENHPI_START_SNM
P is yes
OPENHPI_DAEMON_PORTOpenhpi daemon portport number [4743] - default port for HPI-
OPENHPI_LOGFILEPath and Name of the
log file
OPENHPI_LOGFILE_MAXSets the maximum
number of log files to be
created
OPENHPI_LOGFILE_MAX_SIZELog file maximum size<0…N>[500000] - 500 KB is default
OPENHPI_LOGFLAGSFlags that control
logging
OPENHPI_LOG_ERROR_FACILITIES Facilities that should be
logged at error level
OPENHPI_LOG_WARNING_FACILITIESFacilities that should be
logged at warning level
OPENHPI_LOG_INFO_FACILITIESFacilities that should be
resource FRU Power State
will be set to initial state.
This timer is started soon
after executing the Power
Off/Power Cycle/hotswap
operations on the
resource.
"smi | lan"[lan] - connection over LAN
smi- connection over SMI
interface
IP address[192.168.24.11]NA
| straight"
operator"
Any valid file
name
<0…N>[100]
<0…N> [10] - 10 commands by
<0…N>[60000] - 60000 ms60000
[none]none
[admin]admin
[/var/lib/bbshpib/shelf_sel.db]
Commented out by default
Commented out by default
milliseconds
milliseconds
default. After this max is
reached, any other request is
awaited.
"smi" - if HPI is
running on shelf
manager
"lan" - if HPI is
running on
management
controllers other
than shelf
manager
NA
NA
NA
1000
0
26
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Software Installation and Configuration
Table 2-4 Plugin Specific Parameters (continued)
TagDescriptionAllowed valuesDefault in Config. fileBuilt-in Default
ResourcePowerOnTimeoutA timeout after which the
resource FRU Power State
will be set to initial state.
This timer is started soon
after executing the Power
On/hotswap operations
on the resource.
unsolicited_eventsSubscription for
asynchronous event
notification from the shelf
manager
clear_selClear the SEL after reading
events from it
RmcpEnableEnables/disables the
RMCP server
RmcpPortPort on which RMCP
service runs
RmcpMaxConnectionMaximum number of
connections active. After
this count is reached, any
new connections are
rejected
Commented by default,
Please uncomment in the config
file for the tag to take effect.
none
All zeros(16
bytes)
NA
0 - critical
daemon will
assign the default
"critical" severity
for the events of
non-threshold
sensors(discrete/
OEM)
2.3Setting Up HPI Clients
This section describes how to install/configure HPI clients on node blades.
28
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
2.3.1Installing HPI Clients
Procedure
In order to install/upgrade an HPI-B client package on a node blade, proceed as follows.
1. Connect to the node blade where you wish to install the HPI-B client package.
2. Copy the RPM file that you wish to install to the node blade. Refer to Table "RPM Files
for HPI-B Clients and Daemons" on page 19 for details on available RPM files for your
particular node blade.
3. If applicable, enter rpm -e <Old HPI-B client package name> to uninstall
an already installed client package.
4. Enter rpm -i <New HPI-B client RPM file name>
This installs the HPI-B library package.
Software Installation and Configuration
The following table lists the directories and their content available on the blade after installing
the package.
Table 2-5 Overview of HPI-B Directories and Files on Node Blades
DirectoryDescription
/opt/bladeservices/libContains example applications and shared libraries needed to
run clients
/opt/bladeservices/binContains precompiled example applications. They are
controlled via the command line and can easily be identified
through the prefix "hpi" in their names. Use the -h option to
display supported command line parameters.
/opt/bladeservices/e
tc/bbs-hpib
Contains configuration files used to configure HPI client
libraries. See for details.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
29
Software Installation and Configuration
2.3.2Configuring HPI Clients
Before running your client, you need to configure the multishelf library on the node where the
client is to run. The configuration has to be done in the following configuration file:
The multishelf library is intended to be used by your user applications. Some HPI-B example
applications and also the SNMP subagent, however, use the single shelf library instead. The
single shelf HPI-B library is configured via the following configuration file:
/opt/bladeservices/etc/bbs-hpib/bbs-bbs-hpibclient.conf. The
following descriptions apply to the single shelf library as well, except that only one IP address
of an HPI daemon must be specified, as the single shelf library supports the communication
with one HPI daemon only.
Most of the entries should be left as they are. They have been set to values that are appropriate
for most operations. The only settings that need to be adapted are those which are related to
the HPI daemons that the multishelf library wishes to access. The following table shows the
expected syntax of the related entries.
EntryDescription
[Shelf<Domain Name>]This indicates the start of the definition of an HPI
daemon. The chosen domain name appears as name
of the Shelf Management Resource and is used as
Domain tag. See Shelf Management Resource on page
46.
Daemon=<IP address of HPI
daemon>
Port=<port number>This is the port number. The HPI daemon uses 4743 as
This is the IP address used to access an HPI daemon.
port.
Typically you will want to specify both HPI daemons in the shelf in the configuration file so that
your application can establish a connection with the second HPI daemon in case the
connection with the first HPI daemon fails.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Software Installation and Configuration
The following table lists the IP addresses and ports of the HPI daemons in a Centellis 4620/4440
shelf.
Table 2-7 IP Addresses/Ports of HPI Daemons in a Centellis 4620/4440 Shelf
Location of HPI DaemonIP AddressPort
Left ATCA-F125/F140 in a shelf192.168.21.14743
Right ATCA-F125/F140 in a shelf192.168.22.24743
2.4Installing and Configuring an SNMP Agent
The SNMP agent is intended to run on the ATCA-F125/F140 and is bundled with the ATCAF125/F140 Basic Blase Services (BBS) software. This means that under normal conditions there
is no need to install the SNMP software manually. If for some reason you need to manually
install an SNMP agent on an ATCA-F125/F140, follow the installation instructions given below.
You may want to change the default configuration of an SNMP agent. All necessary steps are
described below as well.
For more information on using SNMP agent, refer to HPI-B Subagent User Guide.
2.4.1Installing an SNMP Agent
Procedure
The SNMP agent requires the following software images.
Table 2-8 SNMP Agent - Required Software Images
Software ImageDescription
SNMP subagent packageThis is an RPM with the following file name scheme: bbs-
net-snmp 5.1.2 or higherThis is an open source suite which contains files needed by
the SNMP master agent as well as useful SNMP command line
tools. It is part of the ATCA-F125/F140 BBS software and
therefore there should be no need to install it manually.
HPI-B client packageSince the SNMP subagent is an HPI-B client application, it
relies on the HPI-B client package to be installed. For details
about how to install and configure an HPI-B client package,
refer to Setting Up HPI Clients on page 28.
Make sure that the net-snmp 5.1.2 or higher package as well as the HPI-B client base package
are installed on the ATCA-F125/F140 where you wish to install the SNMP agent. In order to
install the SNMP subagent package, proceed as follows:
1. Connect to the ATCA-F125/F140 blade where you wish to install the HPI-B SNMP subagent
package.
32
2. Copy the package file to the ATCA-F125/F140.
3. If applicable, enter rpm -e <Old HPI-B SNMP subagent package name> to
uninstall an existing SNMP subagent package
4. Enter rpm -i <New HPI-B SNMP subagent package name> to install the new
package.
After the installation of all required packages, the SNMP agent related files can be found in the
following directories on the ATCA-F125/F140:
Table 2-9 Overview of SNMP Agent Related Directories and Files on ATCA-F125/F140
Once the SNMP agent files are installed and the single shelf library used by the SNMP subagent
is configured appropriately as described in the previous sections, you need to configure the
SNMP master agent as follows.
Configuring the SNMP Master Agent
The following configurations can be grouped into the following categories:
General configuration
SNMP V2 and V3 related configuration
Software Installation and Configuration
Trap message configuration
1. Open the SNMP master agent configuration file /etc/snmp/snmpd.conf in a
text editor
2. Make sure that the file contains the following entries:
master agentx
AgentXTimeout 600
AgentXRetries 20
The values specified for AgentXTimeout and AgentXRetries should have at
least the values 600 and 20.
3. In order to configure the SNMP master agent for SNMP V2, add the following line to
snmpd.conf:
com2sec notConfigure default rwcommunity
rwcommunity public
To test the SNMP V2 configuration, save the configuration file and perform a SNMP
walk by entering the following command at the ATCA-F125/F140 command line:
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
33
Software Installation and Configuration
# snmpwalk -v 2c -c public localhost -m
/opt/bladeservices/share/snmp/mibs/SAI-HPI-SNMP-MIBB.01.01.mib hpib0101
4. In order to configure the SNMP master agent for SNMP V3, add the following line to
snmpd.conf:
createUser LocalUser MD5 "LocalUserPassword" DES
"localUserPassword"
rwuser LocalUser
To test the SNMP V3 configuration, save the configuration file and perform a SNMP
walk by entering the following command at the ATCA-F125/F140 command line:
snmpwalk -v3 -n "" -l AuthPriv -u "LocalUser" -a MD5-A
"LocalUserPassword" -x DES -X "LocalUserPassword" -m
/opt/bladeservices/share/snmp/mibs/SAI-HPI-SNMP-MIBB.01.01.mib localhost hpib0101
34
5. If you are using SNMP V2 and want to enable SNMP traps to be sent to a host, enter
the following line to snmpd.conf
trap2sink <Host IP> public
<Host IP> is the IP address of the host where you want the traps to be sent to.
6. If you are using SNMP V3 and want to enable SNMP traps to be sent to a host, enter
the following line to snmpd.conf
trapsess -e <Destination snmp v3 device engine-id> -v 3 -n "" -l
<Authoriation/Encryption detail> -u <User-name> -a MD5 -A
"<Authorization-Password>" -x DES -X "<Encryption Password>" <DestIp>:162
This creates a session with the host where the traps are to be sent to (as required by
SNMP V3).
An example entry might look as follows:
-a MD5 -A "LocalUserPassword" -x DES -X "LocalUserPassword"
192.168.21.1:162
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Developing Applications
3.1Overview
This chapter describes how to develop applications that make use of the HPI-B library.
Depending on the CPU architecture of the target system where you want to run your HPI-B
application and on the operating system, different RPM files are delivered which contain
include files and static libraries needed for the application development. The naming scheme
used for these files is as follows: bbs-hpib-devel-<version>-1.<architecture>-
<distribution>-<os>.rpm
In order to run your HPI-B clients, you furthermore need to install the HPI-B client base package
applicable to the blade where the client is running. See Setting Up HPI Clients on page 28.
The HPI-B client base package contains compiled example applications which illustrate the use
of HPI-B controls. For these example applications the source codes and an example make file
are available as well. You may want to use the source code and the make file as a starting point
for developing your own applications. For further details refer to Appendix A, Example
Applications, on page 65.
Chapter 3
3.2Building the Application
If your development system is based on the same operating system/CPU architecture
environment as the target system, then you can simply install the RPM files on the target
system. If the development system is based on another operating system/CPU architecture
environment and you consequently intend to do cross-compilation, then the RPM files should
be converted to the cpio format and then extracted, using the standard Linux rpm2cpio
tool.
In order to do this, you would for example enter the following at the command prompt:
1.cd <working directory>
2.rpm2cpio <rpm file> | cpio -id
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
35
Developing Applications
After extracting the RPM or CPIO files, you obtain the following directories with the following
contents.
Table 3-1 Development RPMs - Directory Structure
DirectoryContent
/opt/bladeservices/include/bbs-hpibInclude files
opt/bladeservices/lib or
opt/bladeservices/lib64
Static libraries
36
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Using HPI-B
4.1Overview
This chapter provides information which is necessary when writing applications that are based
on the Artesyn HPI-B distribution. It lists limitations with respect to the HPI-B specification and
describes extensions which were added by Artesyn.
4.2Limitations
This section describes those HPI-B features which the Artesyn HPI-B implementation for the
Centellis 4620/4440 environment does not support.
4.2.1Limitations with Respect to HPI-B Base Specification
The following limitations apply with respect to the compatibility with the SAI-HPI-B.01.02
specification. Note that these limitations apply to the current and also to all future Artesyn HPIB releases for Centellis 4620/4440 platforms. There are no plans to implement these features
in the future.
Chapter 4
Firmware Update Management Instrument (FUMI) functionality not supported.
Diagnostic Management Instrument (DIMI) functionality not supported.
Limited saHpiIdrAreaAdd() call
If the space is available, the function saHpiIdrAreaAdd() adds an OEM Inventory Area
including two pre-defined fields as multi-record with a maximum size of 255 Byte. The first
one is a read-only field containing the ManufacturerID (3 bytes). The second field (252
bytes) can be updated by the user. The Artesyn HPI-B implementation of
saHpiIdrAreaAdd() does not support the creation of other types of Inventory Areas.
Limited saHpiIdrAreaDelete() call
Artesyn HPI-B does not allow deleting Inventory Area with saHpiIdrAreaDelete(),
except OEM Multi Records not specified by the PICMG ATCA and AMC specifications.
Unsupported saHpiParamControl() call
Artesyn HPI-B does not support saHpiParamControl().
Unsupported resource event log
Artesyn HPI-B does not support resource event logs.
Unsupported Unicode character set
Artesyn HPI-B does not support the Unicode character set.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
37
Using HPI-B
Unsupported annunciator functionality
Artesyn HPI-B does not support annunciator functionality. Our platforms do not have
these features.
Optional APIs saHpiInitialize() and saHpiFinalize() are not supported.
4.2.2Limitations with Respect to HPI-B AdvancedTCA Mapping
Specification
The following limitations apply with respect to the compatibility with the HPI-B-AdvancedTCA
mapping specification SAIM-HPI-B.01.01-ATCA. Note that these limitations apply to the
current and also to all future Artesyn HPI-B releases. There are no plans to implement these
features in the future.
Only physical slot numbers are supported
Artesyn HPI-B only supports physical slot numbers in entity paths.
Only "shall" and "should" requirements are supported
Artesyn HPI-B only supports the "shall" and "should" requirements of the HPI-toAdvancedTCA mapping specification SAIM-HPI-B.01.01-ATCA.
38
Following Inventory records are not exposed to the HPI users through the HPI Inventory
APIs:
–Radial IPMB-0 Link Mapping Record (PICMG Record Id 15h), version 1
–PICMG Form Factor Information Record (PICMG Record Id 2Eh)
–Shelf Fan Geography Record (PICMG Record Id 1Bh)
–Shelf Configuration Information Inventory
–LED Description Record Fields (PICMG Record Id 2Fh) for AdvancedTCA FRUs.
E-Keying sensors for the Synchronization Clock Bus and the Metallic Test Bus are not
supported.
According to mapping spec, Maximum power capability sensor is deprecated and
provided only for backward compatibility.
The Max value of Assigned Power Sensors for the Managed FRU slots shall not be set. HPI
users can check the Max value for the Assigned Power Sensor of the Managing FRU slots to
determine the total power capability of that slot along with all slots being managed under
the same hardware address.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
4.3Backward Compatibility
This section describes the various aspects that HPI-B user should make a note while migrating
from HPI-B 02.01 based applications to HPI-B 03.02, or in using the HPI-B 02.01 applications
with the HPI-B 03.02 daemon. The following points could impact existing HPI-B client
applications.
It is recommended for the user to note the differences in the specification and then modify
the client applications suitably.
Some management instruments and resources that were mandatory in SAIM-HPI-B.01.01-
ATCA are either made optional or removed in the latest specification.
Some of the RDR data has been modified to better describe the management instruments
in this specification. This modification includes changing entity paths, sensor types, and
control output types on various management instruments. HPI-B user applications
compliant to HPI-B 02.01 specification will receive data as per the B03.02 xTCA mapping
specification. These applications need to be modified to interpret the data correctly.
Using HPI-B
The symbolic names of all defined values are changed. A user program compiled with
previous header files should still be usable with HPI library implementations that are built
using the new symbols defined in this specification. We have taken care of this part by back
porting the Xtca prefix to Atca Prefix.
Following table describes the backward compatibility:
B.03.02B.02.01Yes, functionality as B.03.02 daemon specs
compliance. Refer to the backward compatibility
notes in the Mapping specification.
B.02.01B.03.02Yes, Only B.02.01 functionality.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
39
Using HPI-B
4.4Working with the Multishelf Library
The multishelf HPI library allows your application to connect to and manage several shelves at
the same time. For this purpose the multishelf library provides several HPI controls which allow
the application to manage the connection to shelves and also to dynamically add and remove
shelves to the HPI environment. This section provides all the information that you need to
know in order to use these HPI controls and work with the HPI multishelf library.
4.4.1Overview
HPI uses the concept of domains. Generally, a domain represents one shelf. Furthermore there
is a default domain. It acts as a container for all other domains and does itself not represent
actual hardware.
It is possible for multiple domains to represent the same physical shelf. This is for example the
case in typical AdvancedTCA systems which often provide two shelf managers with an HPI
daemon running on each of them.
40
The following figure illustrates an example configuration with four domains and three shelves.
Figure 4-1Multishelf Library - Representation of Shelves as Domains
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Any FRUs available in a shelf are represented as HPI resources together with Resource Data
Records (RDRs) corresponding to that FRU. Whenever a FRU is added to or removed from a
shelf, the corresponding HPI resource/RDR is added/removed from the HPI domain.
4.4.2Accessing HPI Domains
In order to access an HPI domain, you must open a session via the HPI call
saHpiSessionOpen() and provide as first parameter the domain ID of the corresponding
HPI domain. How to obtain the domain ID is described later within this section about the
multishelf HPI library.
If you want to access several shelves, then you need to open several sessions simultaneously,
one session for each HPI domain which represents a shelf. It is also possible to open several
sessions for one HPI domain/shelf only as well.
When the connection to a shelf is lost, all running HPI calls which access the corresponding
domain return immediately with the error code SA_HPI_ERR_NO_RESPONSE. All open
sessions for the affected domain are automatically closed by the multishelf library. In the
meantime, the library tries to regain access to the shelf. As soon as the connection is
reestablished, the domain is recreated and the application can open another session and
access the domain again. Whenever a domain is created or removed, an HPI event from the HPI
Communication State sensor is generated in the default domain (see Connection State Sensor
on page 47 and HPI Domain Events on page 48).
Using HPI-B
HPI events are handled domain wide. This means that HPI events from a shelf or FRUs in that
shelf are only visible and can only be received within the session that corresponds to that
domain.
4.4.3How Domains and Shelves are Represented
As previously mentioned, each HPI implementation has at least the default domain. It has the
ID 0 assigned to it.
Starting with HPI-B, the default domain contains a Domain Reference Table, which contains
references to all related domains and may be used by applications for discovery of available
domains in the current configuration. For more information about the Domain Reference
Table, refer to the HPI-B specification document of the SAI-HPI-B.02.01 standard.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
41
Using HPI-B
In the Artesyn HPI-B implementation, the default domain furthermore contains multiple HPI
resources which handle connected shelves and their corresponding HPI domains. These HPI
resources were defined and added by Artesyn and are called Domain Management Resource
and Shelf Management Resource.
The Domain Management Resource contains one HPI control and allows applications to
add/remove HPI domains/shelves to the HPI environment. The Shelf Management Resource
contains one HPI control and one HPI sensor and acts as reference to connected daemons.
There is one Shelf Management Resource for each connected daemon. The following figure
shows an example configuration with the HPI resources, controls and sensors which are related
to the handling of multiple shelves/domains in it.
42
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Figure 4-2HPI Multishelf Library - Overview of Related HPI Resources and Controls
Using HPI-B
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
43
Using HPI-B
In the following, the Domain Management Resource and the Shelf Management resource will
be described in detail. A description of typical usage examples/scenarios will be given after
that.
4.4.3.1Domain Management Resource
The Domain Management Resource acts as container for the Domain Management Control
and is defined as follows.
Table 4-2 Definition of Domain Management Resource
SaHpiRptEntryTValue
EntryIdAssigned by HPI
ResourceIdAssigned by HPI
ResourceInfo0 for all values
ResourceEntity{RACK,0} this can be changed with the
This Domain Management control is only writable, not readable, and allows the application to
dynamically add and remove domains.
Adding/removing a domain using this HPI control has the same effect as adding/removing a
shelf by adding/removing an entry in the multishelf library configuration file. Therefore,
whenever you use this HPI control to add/remove a domain, the software automatically
updates the configuration file as well.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Using HPI-B
The RDR and the HPI control are defined as follows.
Table 4-3 Domain Management Control RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_CTRL_RDR
EntityThe same entity like Domain Management
Resource
RdrTypeUnionDefined in Table 4-4.
IdStringMOTHPI_CTRL_NAME_DOMAIN_MANAGEMENT
TypeSAHPI_CTRL_TYPE_OEM
StateUnion - Oem - MldMOTHPI_MANUFACTURER_ID_MOTOROLA
StateUnion - Oem - BodyLengthDepends on the length of the resource name
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
45
Using HPI-B
Table 4-5 Domain Management Control State (continued)
SaHpiCtrlStateTValue
StateUnion - Oem - BodySequence of n bytes, named [0] ... [n], with
4.4.3.2Shelf Management Resource
the following definitions:
[0] - Command
0 - Get state
1 - Create domain (for set state)
2 - Remove domain (for set state)
[1] - [4] - IP address (little endian order)
[5][6] - port (little endian order)
[7] ... [n] - Domain name as null-
terminated string.
The shelf management resource represents one daemon. For each configured daemon, the
default domain creates one shelf management resource. The shelf management resource is
defined as follows.
Table 4-6 Shelf Management Resource
SaHPIRptEntryTValue
EntryIdAssigned by HPI
ResourceIdAssigned by HPI
resourceInfo0 for all values
ResourceEntity{SYS_MNGMT_SOFTWARE domain Id}
ResourceCapabilitiesSAHPI_CAPABILITY_RESOURCE |
SAHPI_CAPABILITY_DOMAIN
ResourceSeveritySAHPI_MAJOR
DomainIdDomain Id when the shelf is reachable
IdStringDomain name
46
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
The shelf management resource contains the following two RDRs:
Domain management control
Read-only HPI control which allows the application to obtain the IP address, port, domain
name and other connection parameters of a particular shelf
Connection status sensor
Contains information about the current status of the connection to a shelf
The definitions of both HPI controls are given in the following.
4.4.3.2.1Domain Management Control
This HPI control is only readable. It has the same structure and definition as the HPI controls
defined in Table "Domain Management Control" on page 45, Table "Domain Management
Control State" on page 45 and Table "Domain Management Control RDR" on page 45.
4.4.3.2.2Connection State Sensor
Using HPI-B
This HPI sensor represents the status of the connection to a shelf. When the connection is
interrupted, an HPI event of type SAHPI_ES_OFF_LINE is generated. When the connection is
reestablished, an HPI event of type SAHPI_ES_ON_LINE is generated. An application can access
a shelf only when the state of this sensor is SAHPI_ES_ON_LINE. The definition of this sensor is
given in the following tables.
Table 4-7 Connection State RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_SENSOR_RDR
EntityThe same entity as domain management resource
RdrTypeUnionMOTHPI_SENSOR_NAME_DOMAIN_CONNECTION
AssertEventsSAHPI_ES_ON_LINE for a connection to a shelf
4.4.3.3HPI Domain Events
Depending on the connection status, the Domain Connection sensor can throw events. The
following table provides details.
Table 4-10 Domain Connection Sensor Events
EventDescription
SAHPI_ES_OFF_LINENo connection
SAHPI_ES_ON_LINEConnection is established. Only now is the
SAHPI_SENSTAT_SCAN_ENABLED
SAHPI_ES_OFF_LINE when there is no
connection to a shelf
domain of the shelf accessible.
48
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
4.4.4Discovering Shelves and Domains
As previously mentioned, one way to discover available domains is to use the Domain
Reference Table. For further details, refer to the SAI-HPI-B.01.02 specification document.
Alternatively, you can use the Shelf Management Resources defined in the default domain. Any
shelves that were added to the HPI environment are represented by one Shelf Management
Resource with the entry ResourceCapability set to SAHPI_CAPABILITY_DOMAIN. So in order to
discover shelves/domains, you simply need to parse the default domain for HPI resources with
the entry ResourceCapability set to SAHPI_CAPABILITY_DOMAIN. Then you can obtain the
respective domain ID by reading the entry DomainId and open a session to the shelf using the
obtained domain ID.
4.4.5Adding and Removing Shelves and Domains
All shelves which are used by the HPI multishelf library are listed in the multishelf library
configuration file. There are two ways of adding and removing shelves:
Using HPI-B
Manually by editing the multishelf configuration file. Changes become effective after the
next restart in this case.
Dynamically by using the HPI domain management control
For a description of how to manually edit the multishelf library configuration file, refer to
Configuring HPI Clients on page 30.
A description of how to dynamically add and remove shelves, is given in the following two
subsections.
4.4.5.1Adding Shelves and Domains
In order to dynamically add a shelf and create a domain, you must invoke the HPI function
saHpiControlStateSet() and provide the following parameters.
ParameterValue
SessionIdHandle to session context.
ResourceIdResource ID of the addressed resource.
CtrlNumNumber of the control for which the state is being
set.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
49
Using HPI-B
After calling saHpiControlStateSet(), a new resource with the domain name you
supplied as parameter is created. Additionally, a hot swap event of type ACTIVE for the created
resource is sent. The newly created shelf is also added to the HPI multishelf configuration file
as a new entry.
All shelves must have different IP addresses.
ParameterValue
CtrlStatePointer to control state as described in Table
"Domain Management Control State" on page 45.
In this control state, fill the field body as follows:,
[0] : 1 (stands for "create domain")
[1] - [4] : IP address of shelf you want to add (little
endian order)
[5] - [6] : port of shelf (little endian order)
[7] - [n] : Domain name
4.4.5.2Removing Shelves and Domains
In order to dynamically remove a shelf/domain, you must invoke the HPI function
saHpiControlStateSet() and provide the following parameters.
ParameterValue
SessionIdHandle to session context.
ResourceIdResource ID of the addressed resource.
CtrlNumNumber of the control for which the state is being
set.
50
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Using HPI-B
ParameterValue
CtrlStatePointer to control state as described in Table
"Domain Management Control State" on page 45.
In this control state, fill the field body as follows:,
[0] : 2 (stands for "remove domain")
[1] - [4] : IP address of shelf you want to add (little
endian order)
[5] - [6] : port of shelf (little endian order)
[7] - [n] : Domain name
If the domain/shelf specified in the call exists, the domain/shelf is removed, an HPI domain
removed event is generated and any sessions that may be open to this domain are closed.
Furthermore the domain shelf resource in the HPI domain is removed and a hot swap even of
type "NOT_PRESENT" is generated.
4.5Using the SNMP Agent
Once the SNMP agent is installed and configured as described in Installing and Configuring an
SNMP Agent on page 31, you can start/stop the SNMP subagent and master agent as described
below.
To start/stop the SNMP subagent, enter # /etc/init.d/hpibsnmp < start > or <stop> on the ATCA-F125/F140.
To start/stop the SNMP master agent, enter # /etc/init.d/snmpd start|stop
To check if the SNMP mast is running, enter: # ps -aux | grep snmp
If it is running, the following should be displayed: /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid.
For a detailed description of the SAI-HPI-B.01.01 MIB refer to the respective specifications
which can be downloaded from the Service Availability Forum’s website at
http://www.saforum.org.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
51
Using HPI-B
4.6Artesyn Extensions
The following describes features which are not specified in the HPI-B specifications, but were
added by Artesyn.
4.6.1HPI Controls for Domain and Shelf Management
This refers to the Domain Management Resource and Shelf Management Resource which were
previously explained. Both are Artesyn-specific extensions. See Working with the Multishelf
Library on page 40.
4.6.2IPMI System Boot Options Support
A FRU may have a payload which is capable of booting an operating system (OS). Usually, a
boot firmware, such as BIOS or U-Boot, is started after the payload is powered up or reset. Via
the System Boot Options Control you can set some options for the boot firmware. The boot
firmware will read these settings from the IPMC.
52
In order to set or get the system boot options, you need to use the HPI Boot Option control.
This control maps the IPMI commands Set System Boot Options and Get System Boot Options to HPI.
The Boot Option Control is only available for AdvancedTCA front blades and the shelf
manager if the respective IPMC supports the Set System Boot Option IPMI command.
Refer to the Intelligent Platform Management Interface Specification v2.0, section 28.12 Set
System Boot Options Command and 28.13 Get System Boot Options Command, for further
details. Furthermore refer to the respective IPMI Programmer’s Reference manuals of the
respective blades.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Table 4-11 Boot Option RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_CTRL_RDR
EntityThe same entity as resource
RdrTypeUnionDefined in next table
IdStringMOTHPI_CTRL_NAME_BOOT_OPTION
When output parameter: Total length of the response data 2
Set operations:
Total length of the request data
StateUnion.Oem.BodyGet operations:
When input parameter:
Byte 0: Parameter selector
Byte 1: Set selector
Byte 2: Block selector
When output parameter:
Response data from the GetSystemBootOptions IPMI
command without the first two bytes
Set operations:
Request data for the IPMI SetSystemBootOptionss
command
54
Example: on most Artesyn blades, the BIOS software is stored twice on a flash device, BIOS
bank 1 and BIOS bank 2. The bank to boot from can be selected with the System Boot Options
Control.
You have to select parameter 96 with the Boot Option Select Control and then set the BIOS 1
(0) or BIOS 2 (1) with the Boot Option Control.
The following example shows how to set BIOS 2 for a resource with the ID 120 using an
example program which is delivered together with the HP-B development package:
hpibootoptions -r 120 96 1
The example program hpibootoptions, which is available in the base RPM package, shows how
an option can be set or got.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
4.6.3POST Type Control
This HPI control allows you to set/get the Power-On Self Test (POST) type of the blade. Two
POST types are configurable: long POST and short POST. Refer to the respective hardware user
manual of the blade for details about both POST types. The definition of the respective HPI
controls is given in the following tables.
Table 4-14 POST Type HPI Control RDR
SaHpiRdrTValueNotes
RecordIdAssigned by HPI implementationUnique identifier for
Union.Discrete.Default
RdrTypeUnion.CtrlRec.OemAssigned by HPI
IdStringMOTHPI_CTRL_NAME_POSTTYPE
SAHPI_CTRL_OEMIndicates that this
0x0
implementation
Table 4-15 POST Type HPI Control Sate Values
SaGPISateTValueNotes
TypeSAHPI_CTRL_TYPE_DISCRETE
control does not
correlate to any of the
given control output
types, and describes a
generic control
output.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
55
Using HPI-B
Table 4-15 POST Type HPI Control Sate Values (continued)
SaGPISateTValueNotes
StateUnion.Discr
ete
Bits 7..0:
0: Short POST
1: Long POST
Bits 15..8: CPU complex number
Bits 31..16: Reserved
4.6.4HPI Logging Support
The actions taken by the HPI daemon are written to a log file. The path and name of the log file
is defined in the configuration file bbs-hpib.conf.
The POST type value is
specified in the least
significant byte.
The CPU number (or SET
Selector byte) is normally
zero. However, for blades
that support more than one
CPU complex, the processor
complex is identified with
this field.
56
To control what kind of information is written to the log file, the log control can be used.
Refer to the header file MotorolaHpi.h for used defines.
Table 4-16 Log RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_CTRL_RDR
EntityThe same entity as logical shelf resource
RdrTypeUnionDefined in next table
IdStringMOTHPI_CTRL_NAME_LOG found in MotorolaHpi.h
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
[MOTHPI_LOG_NUM_FILES_OFFSET] - number of logfile
created
[MOTHPI_LOG_MAX_FILE_SIZE_OFFSET] - maximum
logfile size before creating a new one. This is a 32 bit field in
MSB byte order. Use GetUInt32 in byte_utils.h to get host
byte order.
[MOTHPI_LOG_FILENAME_OFFSET] - log file name.
58
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
4.6.5Failed Slot Restore Control
"Failed Slot Restore Control" control enables the user to initiate a re-discovery of the resource in
the slot and sets the ResourceFailed flag in RPT to false. The ResourceFailed flag in
the RPT Entry of slot resource is set to true if the discovery of the resource in the slot fails, or
the resource in the slot is in failed state. The ResourceFailed flag of the slot resource can be
set to false in any one of the following conditions:
1.Resource in failed state is removed using saHpiResourceFailedRemove().
2.If any of the resource is inserted into the failed slot.
An example application hpislotrestore can be used to set and get the new control "Failed
Slot Restore" state.
Table 4-19 Failed Slot Restore Control RDR
SaHpiRdrTValueNotes
Using HPI-B
RecordIdAssigned by HPI implementation.
RdrType SAHPI_CTRL_RDR
Entity Entity path of the slot resource.
IsFru SAHPI_FALSE
RdrTypeUnion.CtrlRec.NumMOTHPI_CTRL_FAILED_SLOT_RESTORE
e.ReadOnly
RdrTypeUnion.CtrlRec.WriteOnlySAHPI_FALSE
RdrTypeUnion.CtrlRec.OEMAssigned by HPI implementation.
RdrTypeUnion.CtrlRec.IdStringMOTHPI_CTRL_FAILED_SLOT_RESTORE
SAHPI_CTRL_STATE_OFF
SAHPI_CTRL_MODE_MANUAL
SAHPI_TRUE
_NAME
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
59
Using HPI-B
Table 4-20 Failed Slot Restore Control states
SaHpiCtrlStateT ValueNotes
Type SAHPI_CTRL_TYPE_DIGITAL
StateUnion.DigitalSAHPI_CTRL_STATE_PULSE_ON |
SAHPI_CTRL_STATE_OFF
4.6.6HPI Restart Daemon Control
HPI Restart Daemon control enables the user to restart the hpi-b daemon.
hpirestartdaemon client application makes use of this control to restart the daemon.
Table 4-21 HPI Restart Daemon RDR
SaHpiRdrTValue
RecordIdAssigned by HPI implementation
RdrTypeSAHPI_CTRL_RDR
EntityEntity path of 'Daemon Resource'
IPMI command control is used to execute IPMI commands on a given resource id. This control
is created for all the FRUs in the shelf. hpiipmi client application makes use of this control to
get the IPMI commands executed.
Table 4-23 IPMI Command RDR
SaHpiRdrTValue
Using HPI-B
SAHPI_CTRL_STATE_OFF
RecordIdAssigned by HPI implementation
RdrTypeSAHPI_CTRL_RDR
EntityEntity path of the FRU
Ex: {ADVANCEDTCA_CHASSIS,6}{FAN_TRAY_SLOT,1}
{COOLING_UNIT,1}
RdrTypeUnion Defined in next table
IdStringMOTHPI_CTRL_NAME_BOOT_OPTION
Boot Bank control is used to switch the boot bank of Artesyn specific dual-flash-bank boards.
This control is created for all front blades, AMCs, RTMs, and Shelf Managers. hpibootbanks
client application makes use of this control to set/get boot bank parameters.
Table 4-26 Boot Bank RDR
SaHpiRdrTValue
RecordIdAssigned by HPI implementation
Ex: When we issue a 'Get Device ID' command like,
hpiipmi -d 1 -r 43 0 6 1
BodyLength would be 3 (0 6 1)
For the response, the BodyLength would be 16 bytes
Request - all 0's
Response - ipmi command response bytes
62
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Table 4-26 Boot Bank RDR (continued)
SaHpiRdrTValue
RdrTypeSAHPI_CTRL_RDR
EntityEntity path of the managing FRU which owns the control
TypeSAHPI_CTRL_TYPE_OEM
StateUnion.Oem.MIdOHHPI_MANUFACTURER_ID_MOTOROLA
StateUnion.Oem.BodyLength2 ( max - 255 )
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
63
Using HPI-B
Table 4-28 Boot Bank State (continued)
SaHpiCtrlStateT Value
StateUnion.Oem.BodyFor Set or Get, the body will be
Offset 0 - processor id
Offset 1 - bank id
64
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
AExample Applications
A.1Overview
The HPI-B client base package contains precompiled example applications. They are invoked
via the command line and can be configured via command line parameters. Each example
application illustrates a certain feature of HPI-B and makes use of the respective HPI-B function
calls.
After extracting the HPI-B client RPMs, the example applications can be found in the following
directory: /opt/bladeservices/bin. You can obtain information about the command
usage by invoking the application from the command line and providing -h as parameter.
The HPI-B example programs are provided "as is" without any warranty of any kind, either express
or implied. The entire risk as to the quality, operability and execution of the programs is with you.
Should the programs prove to be faulty or incorrect, you assume the cost of all necessary
servicing, repair or correction. In no event Artesyn will be liable to you for any damages, any lost
profits or other special, incidental or consequential damages arising out of the use or inability to
use the programs.
Appendix A
Artesyn reserves the right to revise or remove the programs in subsequent releases without
obligation of Artesyn to notify any person of such revision or changes.
A.2Example Application Source Files
In order to ease application development and help you to get familiar with the HPI-B API usage,
Artesyn provides the source files of the example applications and an example make file. These
files are available as different RPM files, depending on the operating system and CPU
architecture. The naming scheme used for the RPMs is: bbs-hpib-clientsrc-
After installing the RPMs, the source files and the example make file are located in the following
directory: /opt/bladeservices/src/bbs-hpib/clients.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
65
Example Applications
A.3List of Supported Example Applications
The following is an automatically generated output (based on the files contained in
/opt/bladeservices/bin and the output obtained via the -h parameter) that describes
all HPI example applications which were available when this manual was written and the usage
of these applications. Note that in the meantime further example applications may have been
added or the functionality of existing HPI example applications may have been changed
slightly. The current usage and functionality can always be obtained by invoking the example
application with the -h parameter.
#
# Lists the usage of all supported HPI-B example programs.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
81
# hpiposttype
#------------------------------#
Usage: hpiposttype [OPTION]...
HPI example application to control POST type.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-D walk recursivly through DRT
-r RESOURCE_ID use resource with id RESOURCE_ID
-t POSTTYPE set POST Type value
-c CPU_NUM set CPU number [default=0]
-V print version information and exit
Example Applications
82
-h display this help and exit
#------------------------------#
# hpipoweronsequence
#------------------------------#
Usage: hpipoweronsequence [OPTION]...
HPI example application to manage the power on sequence of FRUs during
initial startup.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-D walk recursivly through DRT
-r RESOURCE_ID use resource with id RESOURCE_ID
-p POSITION use POSITION as power on position
-s SLOT_RES_ID set SLOT_RES_ID for specific position
(Requires '-r' and '-p' option)
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Example Applications
-c commit power on sequence to FRU Info
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpireset
#------------------------------#
Usage: hpireset [OPTION]...
HPI example application to reset a FRU resource.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-r RESOURCE_ID use resource with id RESOURCE_ID
-c cold-reset resource (Requires '-r' option)
-w warm-reset resource (Requires '-r' option)
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpiresourceself
#------------------------------#
Usage: hpiresourceself [OPTION]...
HPI example application to print the resource ID and entity path where this
program is running on.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-V print version information and exit
-h display this help and exit
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
83
#------------------------------#
# hpirestartdaemon
#------------------------------#
Usage: hpirestartdaemon [OPTION]...
HPI example application to restart the HPI daemon.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpishaddr
Example Applications
84
#------------------------------#
Usage: hpishaddr [OPTION]...
HPI example application to display and set the shelf address.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-b HEX_STRING set shelf address using binary hex string HEX_STRING
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpishelf
#------------------------------#
Usage: hpishelf [OPTION]...
HPI example application to manage connections to domains.
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Example Applications
Note: Requires multishelf library.
Options:
-c DOMAIN_NAME create domain with name DOMAIN_NAME
-l DOMAIN_NAME delete domain with name DOMAIN_NAME
-i IP_ADDR use IP address IP_ADDR to connect to domain
-p PORT use port PORT to connect to domain
-V print version information and exit
-h display this help and exit
Examples:
Add domain "Gandalf" with IP address 192.168.111.86:
hpishelf -c Gandalf -i 192.168.111.86
Delete domain "Gandalf":
hpishelf -l Gandalf
#------------------------------#
# hpiship
#------------------------------#
Usage: hpiship [OPTION]...
HPI example application to display and set the Shelf Manager IP address.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-n CTRL_NUM use control with number CTRL_NUM
-i IP_ADDR set IP address IP_ADDR
-m NETMASK set netmask NETMASK
-g GW_ADDR set default gateway address GW_ADDR
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
85
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpislotrestore
#------------------------------#
Usage: hpislotrestore [OPTION]...
HPI example application to initiate slot re-discovery
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-D walk recursivly through DRT
-r RESOURCE_ID use resource with id RESOURCE_ID
Example Applications
86
-R restore failed slot
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpisol
#------------------------------#
Usage: hpisol [OPTION]... [PARAM# PARAMS]
HPI example application to manage IPMI v2.0 SOL (Serial over LAN) settings.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-r RESOURCE_ID use resource with id RESOURCE_ID
-V print version information and exit
-h display this help and exit
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Example Applications
Examples:
Show SOL configuration for domain 1:
hpisol -d 1
Set SOL param 1 (SOL Enable) to value 1 for resource 4 on domain 1:
hpisol -d 1 -r 4 1 1
#------------------------------#
# hpitelcoalarm
#------------------------------#
Usage: hpitelcoalarm [OPTION]...
HPI example application to control telco alarms.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-r RESOURCE_ID use resource with id RESOURCE_ID
-i VALUE set minor alarm value
-a VALUE set major alarm value
-c VALUE set critical alarm value
-V print version information and exit
-h display this help and exit
#------------------------------#
# hpitop
#------------------------------#
Usage: hpitop [OPTION]...
HPI example application to display system topology.
Options:
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
87
-d DOMAIN_ID use domain with id DOMAIN_ID
-r RESOURCE_ID use resource with id RESOURCE_ID
-A display everything
-p display RPTs
-s display sensors
-c display controls
-w display watchdogs
-i display inventories
-a display annunciators
-x display debug messages
-V print version information and exit
Example Applications
88
-h display this help and exit
#------------------------------#
# hpiversion
#------------------------------#
Usage: hpiversion [OPTION]...
HPI example application to display the version of the different HPI
components.
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-i ITEM print one of the following version item:
-V print version information and exit
-h display this help and exit
HPI
HPI-ATCA-MAPPING
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
CLIENT
CLIENT_PROTOCOL
MULTISHELF
MULTISHELF-PROTOCOL
DAEMON
DAEMON-PROTOCOL
DAEMON-HA-PROTOCOL
Example Applications
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
89
Example Applications
90
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Appendix B
BRelated Documentation
B.1Artesyn Embedded Technologies - Embedded
Computing Documentation
The publications listed below are referenced in this manual. You can obtain electronic copies of
Artesyn Embedded Technologies - Embedded Computing publications by contacting your
local Artesyn sales office. For released products, you can also visit our Web site for the latest
copies of our product documentation.
1.Go to www.artesyn.com/computing.
2.Under SUPPORT, click TECHNICAL DOCUMENTATION.
3.Under FILTER OPTIONS, click the Document types drop-down list box to select the type of
document you are looking for.
4.In the Search text box, type the product name and click GO.
For additional information, refer to the following table for related specifications. As an
additional help, a source for the listed document is provided. Please note that, while these
sources have been verified, the information is subject to change without notice.
PICMG 3.0 Revision 2.0 Advanced TCA Base
Specification
SAI-HPI-B03.02 Service Availability Forum
Hardware Platform Interface specification
SAIM-HPI-B.03.02-xTCA Service Availability
Forum HPI-to-xTCA Mapping specification
Related Documentation
92
System Management Interface Based on BBS HPI-B 2.0 (Centellis 4620/4440) User’s Guide (6806800P21D)
Artesyn Embedded Technologies, Artesyn and the Artesyn Embedded Technologies logo are trademarks and service marks of Artesyn Embedded Technologies, Inc.
All other product or service names are the property of their respective owners.