Emerson, Business-Critical Continuity, Emerson Network Power and the Emerson Network Power logo are trademarks and service
marks of Emerson Electric Co.
owners.
®
Intel
is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.
™
and all other Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other
2008 Emerson Electric Co. All other product or service names are the property of their respective
Notice
While reasonable efforts have been made to assure the accuracy of this document, Emerson assumes no liability resulting from any
omissions in this document, or from the use of the information obtained therein. Emerson reserves the right to revise this document
and to make changes from time to time in the content hereof without obligation of Emerson 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
a Emerson website. The text itself may not be published commercially in print or electronic form, edited, translated, or otherwise altered
without the permission of Emerson,
It is possible that this publication may contain reference to or information about Emerson 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
Emerson intends to announce such Emerson 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 Emerson.
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 . . . . . . . . . 27
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
7
List of Figures
8
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
About this Manual
Overview of Contents
This manual is divided into the following chapters and appendices.
zChapter 1, System Management Interfaces Overview, on page 13
Provides an overview on HPI-B in Emerson AdvancedTCA systems
zChapter 2, Software Installation and Configuration, on page 17
Describes how to install and configure HPI-B clients and HPI-B daemons.
zChapter 3, Developing Applications, on page 21
Describes the necessary steps in order to build HPI-B client applications
zChapter 4, Using HPI-B, on page 23
Describes in detail which HPI-B features are supported
zAppendix A, Example Applications, on page 39
Briefly describes HPI-B example applications, which are delivered as part of the Emerson
HPI-B distribution
zAppendix B, Related Documentation, on page 51
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
ECCEmbedded Communications Computing
FRUField Replaceable Unit
HPIHardware Platform Interface
IAIntel Architecture
IDIdentifier
IPInternet Protocol
IPMI Intelligent Platform Management Interface
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
9
About this Manual
AbbreviationDescription
LANLocal Area Network
MVLMontavista Linux
OEMOriginal Equipment Manufacturer
PICMGPCI Industrial Computer Manufacturers Group
RMCPRemote Management Control Protocol
RPMRedHat Package Manager
SAFService Availability Forum
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
0b0000Same for binary numbers (digits are 0 and 1)
boldUsed to emphasize a word
ScreenUsed for on-screen output and code related
Courier + BoldUsed to characterize user input and to
ReferenceUsed for references and for table and figure
File > ExitNotation for selecting a submenu
<text>Notation for variables and keys
[text]Notation for software buttons to click on the
...Repeated item for example node 1, node 2,
(digits are 0 through F), for example used for
addresses and offsets
elements or commands in body text
separate it from system output
descriptions
screen and parameter description
..., node 12
10
.
.
.
..Ranges, for example: 0..4 means one of the
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Omission of information from
example/command that is not necessary at
the time being
integers 0,1,2,3, and 4 (used in registers)
NotationDescription
|Logical OR
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
About this Manual
Summary of Changes
This manual has been revised and replaces all prior editions.
Part NumberPublication DateDescription
6806800D85AJuly 2008Early access version
Comments and Suggestions
We welcome and appreciate your comments on our documentation. We want to know what you
think about our manuals and how we can make them better.
Mail comments to us by filling out the following online form:
http://www.emersonnetworkpowerembeddedcomputing.com/ > Contact Us > Online Form
In "Area of Interest" select "Technical Documentation". Be sure to include the title, part number,
and revision of the manual and tell us how you used it.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
11
About this Manual
12
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
System Management Interfaces
Overview
1.1Introduction
Emerson 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-to-market
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 Emerson AdvancedTCA
Centellis 4620 platform.
1.2Standard Compliances
1
The Emerson HPI-B implementation for the Centellis 4620 environment is compliant to the
following standards.
Table 1-1 HPI-B Standards Supported by Emerson HPI-B Implementation
StandardDescription
SAI-HPI-B.01.02HPI-B base specification. It abstracts hardware
SAIM-HPI-B.02.01-ATCAHPI-B-AdvancedTCA mapping specification. It
Although the standards listed above are fulfilled, some specific limitations apply. For details,
refer to Limitationson page 27.
1.3Architecture
The Emerson HPI implementation is provided in the form of a client-server architecture. In the
Centellis 4620 system environment the server, called HPI daemon, runs on the ATCA-F120
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
platform characteristics into a data model
consisting of entities and resources.
provides a vendor independent hardware
platform view of an AdvancedTCA system.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
13
F120
HPI Daemon
SAMs
SAMs
F120
HPI Daemon
HPI Daemon
F120
HPI Daemon
System Management Interfaces OverviewHPI Library
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 IPencapsulation 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
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:
zSingle shelf library
zMulti shelf library
14
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
HPI DaemonSystem Management Interfaces Overview
The single shelf library supports the communication with one HPI daemon only. Since it is only
used internally and is not intended to be used by user applications, it will not be described any
further in this manual. 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.
Details about supported combinations of CPU architecture/Linux distribution are given in
Chapter 2, Software Installation and Configuration, on page 17.
1.3.2HPI Daemon
The HPI daemon within an Centellis 4620 system runs on the ATCA-F120 blades and its main
tasks are:
zProvide a single access point to control and monitor hardware components in a shelf
zMap information provided by the underlying Shelf Manager to HPI
1.4High Availability
The Emerson HPI-B implementation described in this manual supports the following two
redundancy options:
zActive/active
zCold-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.
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 HPI-B (Centellis 4620) User’s Guide (6806800D85A)
15
System Management Interfaces OverviewHigh Availability
16
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
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 can be any of the following:
zx86
Intel IA-32 bit blades, such as PrAMC-7210/7211
zx86_64
Intel IA-64-bit blades, such as the ATCA-7221
2
zppc_e500v2
PowerPC based blades, such as the ATCA-F120
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-F120 software. Depending
on the particular ATCA-F120 release, the HPI-B daemon files are already preinstalled or not.
Check the respective documentation of the ATCA-F120 itself and of the system where the
ATCA-F120 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 Emerson.
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.
2.2Installing and Configuring the HPI-B Daemon
This section describes how to install and configure an HPI-B daemon.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
17
Software Installation and ConfigurationInstalling an HPI-B Daemon
2.2.1Installing an HPI-B Daemon
As previously mentioned, it depends on the ATCA-F120 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-F120 blade, proceed as follows.
1. Connect to the ATCA-F120 blade where you wish to install the HPI-B daemon files.
2. Copy the RPM file to the ATCA-F120.
3. If applicable, enter rpm -e <Ol d 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.
The following table lists all HPI-B related directories available on the ATCA-F120 after the
installation.
Table 2-2 Overview of HPI-B Directories and Files on ATCA-F120
DirectoryDescription
/opt/motorola/binContains HPI-B daemon binaries and compiled client
example applications.
/opt/motorola/etc/bbs-hpibContains configuration files used to configure the HPI-B
daemon and clients. See Configuring an HPI Daemonon
page 18 for details on configuring the HPI daemon.
At start-up, the HPI daemon reads the following configuration file:
/opt/motorola/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. 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.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Setting Up HPI ClientsSoftware Installation and Configuration
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 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
...
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.
2.3Setting Up HPI Clients
This section describes how to install/configure HPI clients on node blades.
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 Tabl e " RP M
Files for HPI-B Clients and Daemons" on page 17 for details on available RPM files
for your particular node blade.
3. If applicable, enter rpm -e <Old HPI-B cl ient 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.
The following table lists the directories and their content available on the blade after installing
the package.
Table 2-3 Overview of HPI-B Directories and Files on Node Blades
DirectoryDescription
/opt/motorola/libContains example applications and shared libraries needed to run
clients
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
19
Software Installation and ConfigurationConfiguring HPI Clients
Table 2-3 Overview of HPI-B Directories and Files on Node Blades (continued)
DirectoryDescription
/opt/motorola/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/motorola/etc/bb
s-hpib
Contains configuration files used to configure HPI client libraries. See
for details.
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:
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.
[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 32.
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.
The following table lists the IP addresses and ports of the HPI daemons in a Centellis 4620
shelf.
Table 2-5 IP Addresses/Ports of HPI Daemons in a Centellis 4620 Shelf
Location of HPI DaemonIP AddressPort
Left ATCA-F120 in a shelf192.168.21.14743
20
Right ATCA-F120 in a shelf192.168.22.24743
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
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 Clientson page 19.
3
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 39.
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
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/motorola/include/bbs-hpibInclude files
opt/motorola//lib or
opt/motorola//lib64
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Static libraries
21
Developing ApplicationsBuilding the Application
22
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Using HPI-B
4.1Overview
This chapter provides information which is necessary when writing applications that are based
on the Emerson HPI-B distribution. It lists limitations with respect to the HPI-B specification and
describes extensions which were added by Emerson.
4.2Limitations
This section describes those HPI-B features which the Emerson HPI-B implementation for the
Centellis 4620 environment does not support.
4
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 Emerson HPIB releases for Centellis 4620 platforms. There are no plans to implement these features in the
future.
zFirmware Update Management Instrument (FUMI) functionality not supported
zDiagnostic Management Instrument (DIMI) functionality not supported
zLimited 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 Emerson HPI-B implementation of
saHpiIdrAreaAdd() does not support the creation of other types of Inventory Areas.
zLimited saHpiIdrAreaDelete() call
Emerson HPI-B does not allow deleting Inventory Area with saHpiIdrAreaDelete(), except
OEM Multi Records not specified by the PICMG ATCA and AMC specifications.
zUnsupported saHpiParamControl() call
Emerson HPI-B does not support saHpiParamControl().
zUnsupported resource event log
Emerson HPI-B does not support resource event logs.
zUnsupported Unicode character set
Emerson HPI-B does not support the Unicode character set.
zUnsupported annunciator functionality
Emerson HPI-B does not support annunciator functionality. Our platforms do not have
these features.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
23
Using HPI-BLimitations with Respect to HPI-B AdvancedTCA Mapping Specification
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 Emerson HPI-B releases. There are no plans to implement these features
in the future.
zOnly physical slot numbers are supported
Emerson HPI-B only supports physical slot numbers in entity paths
zOnly "shall" and "should" requirements are supported
Emerson HPI-B only supports the "shall" and "should" requirements of the HPI-toAdvancedTCA mapping specification SAIM-HPI-B.01.01-ATCA.
4.3Working 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.3.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.
24
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Accessing HPI DomainsUsing HPI-B
The following figure illustrates an example configuration with four domains and three shelves.
Figure 4-1Multishelf Library - Representation of Shelves as Domains
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.3.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 30 and HPI Domain Events on page 31).
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.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
25
Using HPI-BHow Domains and Shelves are Represented
4.3.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.
In the Emerson 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 Emerson and are called Domain Management Resource
and Shelf Management Resource.
26
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
How Domains and Shelves are RepresentedUsing HPI-B
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.
Figure 4-2HPI Multishelf Library - Overview of Related HPI Resources and Controls
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
27
Using HPI-BHow Domains and Shelves are Represented
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.3.3.1Domain Management Resource
The Domain Management Resource acts as container for the Domain Management Control
and is defined as follows.
Table 4-1 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 multishelf library
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.
The RDR and the HPI control are defined as follows.
Table 4-2 Domain Management Control RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_CTRL_RDR
28
EntityThe same entity like Domain Management Resource
RdrTypeUnionDefine in Table 4-3.
IdStringMOTHPI_CTRL_NAME_DOMAIN_MANAGEMENT
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
How Domains and Shelves are RepresentedUsing HPI-B
StateUnion - Oem - BodyLengthDepends on the length of the resource name
StateUnion - Oem - BodySequence of n bytes, named [0] ... [n], with the
4.3.3.2Shelf Management Resource
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-5 Shelf Management Resource
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.
SaHPIRptEntryTValue
EntryIdAssigned by HPI
ResourceIdAssigned by HPI
resourceInfo0 for all values
ResourceEntity{SYS_MNGMT_SOFTWARE domain Id}
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
29
Using HPI-BHow Domains and Shelves are Represented
When the shelf is reachable:
SAHPI_CAPABILITY_DOMAIN
ResourceSeveritySAHPI_MAJOR
DomainIdDomain Id when the shelf is reachable
IdStringDomain name
The shelf management resource contains the following two RDRs:
zDomain 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
zConnection 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.3.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 29, Table "Domain Management
Control State" on page 29 and Table "Domain Management Control RDR" on page 28.
4.3.3.2.2Connection State Sensor
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-6 Connection State RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_SENSOR_RDR
EntityThe same entity as domain management resource
30
RdrTypeUnionMOTHPI_SENSOR_NAME_DOMAIN_CONNEC
TION
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
AssertEventsSAHPI_ES_ON_LINE for a connection to a shelf
SAHPI_ES_OFF_LINE when there is no
connection to a shelf
4.3.3.3HPI Domain Events
Depending on the connection status, the Domain Connection sensor can throw events. The
following table provides details.
Table 4-9 Domain Connection Sensor Events
EventDescription
SAHPI_ES_OFF_LINENo connection
SAHPI_ES_ON_LINEConnection is established. Only now is the
domain of the shelf accessible.
4.3.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.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
31
Using HPI-BAdding and Removing Shelves and Domains
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.3.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:
zManually by editing the multishelf configuration file. Changes become effective after the
next restart in this case.
zDynamically 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 20.
A description of how to dynamically add and remove shelves, is given in the following two
subsections.
4.3.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
CtrlStatePointer to control state as described in Ta bl e
being set.
"Domain Management Control State" on page 29.
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
32
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
Emerson ExtensionsUsing 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.
4.3.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
CtrlStatePointer to control state as described in Ta bl e
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.4Emerson Extensions
The following describes features which are not specified in the HPI-B specifications, but were
added by Emerson.
being set.
"Domain Management Control State" on page 29.
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
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
33
Using HPI-BHPI Controls for Domain and Shelf Management
4.4.1HPI Controls for Domain and Shelf Management
This refers to the Domain Management Resource and Shelf Management Resource which
were previously explained. Both are Emerson-specific extensions. See Working with the
Multishelf Library on page 24.
4.4.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.
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.
Table 4-10 Boot Option RDR
SaHpiRdrTValue
RecordIdAssigned by HPI
RdrTypeSAHPI_CTRL_RDR
EntityThe same entity as resource
RdrTypeUnionDefined in next table
IdStringMOTHPI_CTRL_NAME_BOOT_OPTION
Table 4-11 Boot Option Control
SaHpiCtrlRecTValue
NumMOTHPI_CTRL_NUM_BOOT_OPTION
IgnoreSAHPI_FALSE
OutputTypeSAHPI_CTRL_OEM
TypeSAHPI_CTRL_TYPE_OEM
TypeUnion.Oem.MidMOTHPI_MANUFACTURER_ID_MOTOROLA
Oem0
34
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
IPMI System Boot Options SupportUsing HPI-B
Table 4-12 Boot Option State
SaHpiCtrlStateTValue
TypeSAHPI_CTRL_TYPE_OEM
StateUnion.Oem.MidMOTHPI_MANUFACTURER_ID_MOTOROLA
StateUnion.Oem.BodyLengthGet operations:
When input parameter: 3
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
Example: on most Emerson 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 HPI-B (Centellis 4620) User’s Guide (6806800D85A)
35
Using HPI-BPOST Type Control
4.4.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-13 POST Type HPI Control RDR
SaHpiRdrTValueNotes
RecordIdAssigned by HPI implementationUnique identifier for the
RDR
RdrTypeSAHPI_CTRL_RDR
RdrTypeUnion.CtrlRec.NumMOTHPI_CTRL_NUM_POSTTYPE
RdrTypeUnion.CtrlRec.OutputT
ype
RdrTypeUnion.CtrlRec.TypeSAHPI_CTRL_TYPE_DISCRETE
RdrTypeUnion.CtrlRec.TyoeUni
on.Discrete.Default
RdrTypeUnion.CtrlRec.OemAssigned by HPI implementation
IdStringMOTHPI_CTRL_NAME_POSTTYP
SAHPI_CTRL_OEMIndicates that this control
does not correlate to any of
the given control output
types, and describes a
generic control output.
0x0
E
Table 4-14 POST Type HPI Control Sate Values
SaGPISateTValueNotes
TypeSAHPI_CTRL_TYPE_DISCRETE
StateUnion.DiscreteBits 7..0:
4.4.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.
To control what kind of information is written to the log file, the log control can be used.
0: Short POST
1: Long POST
Bits 15..8: CPU complex number
Bits 31..16: Reserved
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.
36
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
HPI Logging SupportUsing HPI-B
Refer to the header file MotorolaHpi.h for used defines.
Table 4-15 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
[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.
38
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
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/motorola/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 Emerson
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.
A
Emerson reserves the right to revise or remove the programs in subsequent releases
without obligation of Emerson 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,
Emerson 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/motorola/src/bbs-hpib/clients.
A.3List of Supported Example Applications
The following is an automatically generated output (based on the files contained in
/opt/motorola/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 fucntionality can always be obtained by invoking the example application
with the -h parameter.
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
39
Example ApplicationsList of Supported Example Applications
#
# Lists the usage of all supported HPI-B example programs.
#
# Copyright (c) 2007 by Motorola GmbH
# Copyright (c) 2008, Emerson Network Power - Embedded Computing GmbH
#
Usage: hpibootoptions [OPTION]... [PARAM# PARAMS]
HPI example application to manage the system boot options defined in IPMI v2.0 .
Options:
-d DOMAIN_ID use domain with id DOMAIN_ID
-r RESOURCE_ID use resource with id RESOURCE_ID
-c turn on console redirection
(Not applicable on some boards)
-o turn off console redirection
(Not applicable on some boards)
-x perform FRU cold-reset
-V print version information and exit
-h display this help and exit
40
Examples:
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
List of Supported Example ApplicationsExample Applications
Set the system boot option 1 (service partition) to value 2 fo r resource 4 on
domain 0:
hpibootoptions -d 0 -r 4 1 2
Turn on console redirection and perform a cold-reset for resourc e 34 on domain
0:
hpibootoptions -d 0 -r 34 -c -x
Usage: hpihotswap [OPTION]...
HPI example application to invoke hotswap actions.
Note: If calling without options the application switches to interactive mode.
Usage: hpiipmi [OPTION]... LUN NETFN CMD [DATA]
HPI example application to send native IPMI commands using the Motorola/Emerson
specific IPMI control.
LUN, NETFN, CMD and DATA will be interpreted as hexadecimal values
Usage: hpiversion [OPTION]...
HPI example application to display the version of the different HPI componen ts.
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
CLIENT
CLIENT_PROTOCOL
MULTISHELF
MULTISHELF-PROTOCOL
DAEMON
DAEMON-PROTOCOL
DAEMON-HA-PROTOCOL
50
System Management Interface Based on HPI-B (Centellis 4620) User’s Guide (6806800D85A)
BRelated Documentation
B
B.1Emerson Network Power - Embedded Computing
Documents
The Emerson Network Power - Embedded Computing publications listed below are referenced
in this manual. You can obtain electronic copies of Emerson Network Power - Embedded
Computing publications by contacting your local Emerson sales office. For documentation of
final released (GA) products, you can also visit the following website:
www.emersonnetworkpower.com/embeddedcomputing > Resource Center > Technical
Documentation Search. This site provides the most up-to-date copies of Emerson Network
Power - Embedded Computing product documentation.
Table B-1 Emerson Network Power - Embedded Computing Publications
Document Title and SourcePublication Number
Centellis 4620 Release Document
Collection
6806800G48
B.2Related Specifications
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.