• Không có kết quả nào được tìm thấy

Console Redirection with Serial Port Sharing

12.6.2 ‘Teamed’ and Fail-over LAN Channels

13. IPMI Serial/Modem Interface

13.2 Connection Modes

13.2.6 Console Redirection with Serial Port Sharing

A common use for Serial Port Sharing is as a mechanism to allow the serial connection to be shared between the BMC and with BIOS Console Redirection. Serial Port sharing includes commands to help facilitate this

application. This section presents an overview of those commands and how they might be used. This is just a starting point. The actual specification of the BMC with BIOS console redirection is outside the scope of this

13.2.6.1 Detecting Who Answered The Phone

Since console redirection is normally used with a remote console, we’ll start from when the remote console first connects to the system. Depending on the configuration, either the system or the BMC may be the party that ‘answers the call’. Whether the BMC connects or not is determined by the access mode settings set via the Set Channel Access command, plus activation settings in the serial/modem configuration parameters.

There is also a configuration parameter that allows the BMC to wait for a ‘ring interval’ before answering a call in order to give system software an opportunity to connect first.

Thus, when a remote console connects to a given system, it should first try to determine whether it connected with the BMC or with console redirection. This avoids the possibility that the remote console will send IPMI message data down only to have it be mis-interpreted as console-redirection keystrokes.

For Basic Mode and Terminal Mode, the BMC can be configured to periodically issue a Serial/Modem Connection Active message whenever it has the port and right after the port is switched to the BMC. The remote console can wait for this message as a confirmation that the BMC has the port before attempting to send any messages to the BMC. If that message is not received, it can assume that the system answered the phone instead of the BMC.

If PPP is used, PPP communication software on the remote console will typically initiate the PPP negotiation without waiting for the managed system. Because of this, there is less need to send a Serial/Modem

Connection Active message first, since by the time the message is generated the remote console has already sent in characters. Similarly, because there are separate port addresses that would be used for RMCP traffic to the BMC, there’s no strong need for the Serial/Modem Connection Active message to be periodically sent.

Thus, the BMC does not send Serial/Modem Connection Active messages in PPP Mode except when the serial connection is being switched to or from the BMC.

When the serial connection is switched over to the BMC, the Serial/Modem Connection Active message will be delivered to the Primary RMCP port address and IP address of the remote peer that was negotiated during IPCP. If the BMC did not negotiate IPCP, the Serial/Modem Connection Active message will not be sent.

When the serial connection is being switched over to the system, the Serial/Modem Connection Active message will be delivered to the Primary RMCP port address and IP address of the remote peer that was negotiated with IPCP, and to each active session on that PPP channel. If the BMC did not negotiate IPCP, then the Serial/Modem Connection Active message will only be sent to the active sessions.

If remote console software wishes to detect the presence of a BMC, it can do so by sending a Get Channel Authentication Capabilities message after IPCP has been negotiated. [Note that if console redirection uses

‘ASCII’ then the remote console may have to assume that console redirection is occurring if it cannot establish a PPP Link. (Generally, ASCII text console redirection and PPP communication with the BMC don’t share well together)]

If the system includes PPP Link authentication, the remote console could distinguish between whether the system or the BMC established the link based on the peer name that is used in the link negotiation.

13.2.6.2 Connecting to the BMC

The remote console can cause the connection to be switched back to the BMC by the mechanisms listed in Table 13-1, Serial Port Switching Triggers. Whether switching is allowed is based on what the Access Mode setting is for the channel. For example, if the channel is set to ‘pre-boot only’ - then the remote console will not be able to remotely switch the mux over to the BMC if the system is presently in run-time operation.

13.2.6.3 Connecting to the Console Redirection

The Set Serial/Modem Mux command provides the mechanism for a remote console to direct the BMC to switch the serial connection over to the system serial controller. The <ESC>Q sequence can also be enabled for this purpose.

13.2.6.4 Directing the Connection After Power Up / Reset

The remote console can send commands to the BMC to initiate a system power up or reset operation. After that operation, the remote console may want to see console redirection, or it may want to stay connected to the BMC. The Set Serial/Modem Mux command can be used to direct whether the remote console stays

connected to the BMC or not. The Set Serial/Modem Mux command includes an option to allow a mux switch to be requested or to be forced. A mux switch that is requested may be denied (blocked). A BIOS using console redirection would typically request that the mux be switch over to the system during POST, so that the remote console could block that request if necessary. Thus, if the remote console wants to keep the connection, it simply issues a Set Serial/Modem Mux command to block requests to switch the mux to the system before sending the power up or reset command.

13.2.6.5 Interaction with Microsoft ‘Headless’ Operation

Microsoft has specified an interface [MSVT] for text-based console redirection to support pre-boot operations with the operating system. This specification includes escape sequences for activating and deactivating the connection to a ‘service processor’, as well as an escape sequence for hard resetting the system. See [MSVT]

for more information.

IPMI v1.5 includes optional serial/modem configuration parameters for supporting [MSVT] in a system that implements serial port sharing along with [MSVT]. These parameters provide a common way for the [MSVT]

activate/deactivate and reset sequences to be enabled or disabled in the system. Supporting these options in IPMI does not imply that a given implementation is conformant with the [MSVT] specification. Refer to [MSVT] for the full system requirements.

Note that the present [MSVT] specification calls out for a timeout on the escape sequence filtering. If an

<ESC> is received, subsequent characters in the sequence must be received within 20 seconds.

13.2.6.6 Pre-boot Only Mode

The definition of Pre-boot Only access mode is that the BMC serial connection becomes disabled when the system starts to boot in order to guarantee that system software has full use of the serial connection without concern that incoming calls would be able to connect to the BMC. In order to provide emergency

management coverage, someone using pre-boot only mode would typically also configure the watchdog timer and PEF so that a system power down or reset would occur on critical system failures, thus allowing a remote console to connect to the BMC.

The remote console has the ability to use the Set Serial/Modem Mux command to block mux switch requests, but allow mux switch ‘forces’. This is typically used with the Pre-boot Only access mode. At the start of POST BIOS requests the mux. If a remote console is connected, it can block that request in order to continue to communicate with the BMC during POST, if desired, or the remote console can let BIOS take the mux in order to see BIOS console redirection.

At the conclusion of POST and start of boot, BIOS will typically force the mux away from the BMC and to the system. Once the mux has been forced away from the BMC in Pre-boot Only mode, the BMC is not allowed to take the port back until the next time the system is powered down or is reset.

Note that Alerting is not affected by Pre-boot Only mode. Alerting, if enabled, will ‘take over the port’ and

Access command to determine that the BMC is configured to operate in Pre-boot Only mode for the serial connection.

13.2.6.7 Always Available Mode

In Always Available Mode the serial connection is considered to be dedicated to the BMC. In order to avoid confusion with run-time software, BIOS will typically hide or disable the serial port when the OS load process starts. BIOS can know when to do this by reading the access mode setting from the BMC using the Get Channel Access command.

13.2.6.8 Shared Mode

In Shared Mode the BMC is allowed to ‘answer the phone’ but run-time software is also able to use the serial connection when it’s not being used by the BMC. BIOS can use the Get Channel Access command to see when the BMC is configured for Shared mode. In this case, it can leave the serial port enabled for run-time software access. The serial/modem configuration parameters include a ‘ring interval’ parameter that can be used to enable the BMC to only answer the phone if system software doesn’t. This is accomplished by simply setting a ring interval for the BMC that is longer than the time it takes system software to answer.