• Topic ID: id_15460947
  • Version: 2.0
  • Date: Nov 8, 2018 1:37:21 AM

Serial Over LAN version 2 (5193458) Tutorial

1 Command Line Interface / Serial Over LAN

1.1 Serial Over LAN

The Serial Over LAN (SOL) feature enables suitably designed servers to transparently redirect the serial character stream of a baseboard UART to/from a remote client via the LAN.

The BMC is responsible for controlling the serial hardware MUX, the transformation of serial data to and from network packets, and the transmission and reception of SOL network packets through the NIC TCO port.

A remote SOL client is responsible for initiating the SOL session with the BMC and transformation of console input and output to and from network packets.

1.2 Command Line Interface

A Command Line Interface (CLI) is an integral part of the architecture. The CLI provides the interface to the SOL service as well as an interface for platform control. The user gains access to the CLI from an operating system command line shell, such as Window’s CMD or a Unix shell such as csh or ksh, or from a Telnet style programs that can connect to a socket of type SOCK_STREAM.

The CLI platform control interface provides functionality similar to the DPC console. Platform control commands are accomplished by interpreting command strings within the network proxy, translating them to standard IPMI-Over-LAN frames, and sending them to the BMC in the same fashion as the DPC console.

In addition to platform control, the CLI proxy provides the interface to the SOL character stream.

The SOL and IPMI platform control interfaces use different IPMI sessions. For this reason, the CLI interface is modal and under the control of the user. When in platform control mode, the CLI will display a unique prompt allowing the user to know it is in platform control mode. When in the SOL mode, the CLI does not display a prompt and all information displayed comes directly from the SOL character stream.

1.3 SOL/CLI Client Architecture

To allow access from telnet style programs, primary SOL/CLI services are implemented as a background network task. Throughout this document, this task will be referred to as the network proxy. The network proxy can run on individual management workstations or may be a centralized service that can be used by any management workstation.

A thin veneer program provides the command shell interface to the proxy. This program connects the network proxy to console stdin and stdout for scripting purpose. Throughout this document, this program will be referred to a dpccli. The dpccli program must be run from the command shell of the management workstation.

There are two basic ways to issue CLI commands through the network proxy to a remote server: by using CLI’s console interface, called dpccli; or by using telnet. Windows Hyper-terminal is not supported.

1.3.1 dpccli Client Progam

The dpccli client program provides an interface between the network proxy and a management workstation’s console stdin and stdout. This interface is suitable for running dpccli from a command line shell or in conjunction with scripting languages. To facilitate non-interactive operation, dpccli can take several command line arguments. These include IPMI session establishment parameters and sources for input character streams.

1.3.2 Network Proxy

The Network Proxy is a background service that implements most aspects of the architecture. Because all of its interfaces are socket based, it may be run anywhere in the enterprise and may be used by multiple management workstations. Security is provided through IPMI session authentication with the BMC.

The network proxy stack consists of a Session Manager, a CLI Command Parser, a Transport Manager, and a Remote Service Agent (RSA) Transport. The following sections provide a description of network proxy stack.

2 CLI Command Vocabulary

When a network proxy user first connects, s/he is prompted for the target server name or IP address and IPMI session authentication information. After establishing the IPMI session with the target BMC, the CLI command line parser will be in an interactive platform control mode. In this mode, the parser reads a line of user input and interprets it as a command from its platform control vocabulary. This section outlines the CLI command vocabulary.

The command line parser will recognize any portion of the command string that is unique. In other words, diag may be used in place of the full command name diagint.

2.1 console

The console command will transition the CLI parser from command mode to SOL mode. In this mode, the character stream is passed unaltered through the SOL protocol, allowing the user to interact directly with the console serial port of the server. Any SOL output data that was received and buffered when CLI was in the command mode will be displayed at this time.

The user may switch from console mode to CLI command mode by typing the escape sequence tilde followed by a period (~.) To escape the tilde and have it sent to the console, a second tilde should be typed.

2.2 exit and quit

The user can terminate the CLI session using the exit or quit command. This command will close all IPMI sessions associated with a network proxy user as well as closing the network proxy socket.

2.3 power –state

Displays the current power state of the managed server.

2.4 power -on

The power -on command will initiate a power up sequence on the managed server.

2.5 power -off

The power -off command will initiate a power down sequence on the managed server. By default, a power off command will attempt a graceful shutdown of the operating system before executing the IPMI power-off command.

2.6 reset

The reset command will perform a platform reset. By default, a reset command will attempt a graceful shutdown of the operating system before executing the IPMI reset command.

2.7 sensors [-v] [-F dsv|csv] [-f ok|nc|cr|nr|us] [-T volt|temp|power|fan]

The sensors command displays the current status of platform sensors. The –v option will display sensor values if they are available. The display can be limited to specific sensor groups by listing them as arguments to the command. The –F option will display the record in a Comma Separated Value (CSV) format where a single comma will separate each field or delimiter separated values (dsv), where the delimiter is the '|' character.

The general display format is as follows:

Date | Time | Sensor Type | Sensor # | Status [ | Value | Units ]

The following are examples of both format types using the –v option:

09/13/01 | 10:08:55 | Voltage | #02 | ok | 5.2 | Volts

09/13/01 | 10:08:55 | Temperature | #12 | critical | 102 | Degrees Celsius

09/13/01,10:08:55,Voltage,#02,ok,5.2,Volts

09/13/01,10:08:55,Temperature,#12,critical,102,Degrees Celsius

The –f option allows for filtering the display of events based on status where:

   ok = Operating in normal ranges.

   nc = Non-critical – Warning condition where sensor is outside of normal ranges

   cr = Critical – Potentially fatal condition where sensor is exceeding specified ratings

   nr = Non-recoverable – Potential damage

   us = Unspecified status – Fault detected but severity unspecified

The filter condition is treated as a threshold. That is, if the filter was set for cr, all sensors that have a status of cr, nr, or us will be displayed