12. Serial Interfaces
12.1 Overview
The SerialInterface resource in Redfish represents a physical serial interface, which may support Serial Over LAN (SOL) for remote interaction with the OOB over a WebSocket connection.
12.2 Schema Summary (v1.2.0)
Field | Type | Description |
---|---|---|
Id |
string | Unique identifier of the resource |
Name |
string | Display name |
ServiceEnabled |
boolean | Enables or disables the entire serial interface service |
InterfaceEnabled |
boolean | Enables or disables the specific interface |
RedirectionEnabled |
boolean | Enables or disables SOL for the interface |
BitRate |
integer | Baud rate (e.g., 115200) |
DataBits |
integer | Number of data bits |
Parity |
string | Parity setting (None , Even , Odd , etc.) |
StopBits |
string | Stop bit configuration (One , Two ) |
FlowControl |
string | Flow control mode (None , Hardware , XonXoff ) |
ConnectorType |
string | Connector type (DB9 ,Proprietary , etc.) |
SignalType |
string | Electrical signal type (Rs232 , TTL , etc.) |
Actions |
object | Available Redfish actions (e.g., Connect for SOL) |
12.3 API Endpoints
List Serial Interfaces
Returns a collection of serial interfaces available on the OOB.
URI: /redfish/v1/Managers/BMC/SerialInterfaces
Method: GET
Response:
{
"@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces",
"Members@odata.count": 1,
"Members": [
{
"@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/1"
}
]
}
Get a Specific Interface
Returns detailed information about a specific serial interface.
URI: /redfish/v1/Managers/BMC/SerialInterfaces/{id}
Method: GET
Response:
{
"@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/1",
"Id": "1",
"Name": "Serial Console",
"SignalType": "TTL",
"BitRate": 115200,
"Parity": "None",
"StopBits": "1",
"DataBits": 8,
"ConnectorType": "Proprietary",
"ServiceEnabled": true,
"InterfaceEnabled": true,
"RedirectionEnabled": true,
"Actions": {
"#SerialInterface.Connect": {
"target": "/redfish/v1/Managers/BMC/SerialInterfaces/1/Actions/SerialInterface.Connect"
}
},
"Links": {
"ConnectedVia": {
"@odata.id": "/redfish/v1/Managers/BMC"
}
}
}
Update Serial Interface Settings
This API allows modification of specific properties of a serial interface. A common use case is enabling or disabling the Serial Over LAN (SOL) redirection feature by updating the RedirectionEnabled field.
URI: /redfish/v1/Managers/BMC/SerialInterfaces/{id}
Method: PATCH
Example Request to Enable SOL Body:
Example Request to Disable SOL Body:
Response
HTTP Status Code: 204 No Content
If the operation is successful, a status code 204 No Content
will be returned. You can also issue a GET request afterward to verify the current value of RedirectionEnabled.
HTTP Status Code: 400 Bad Request
If the provided parameters are incorrect or if the SOL session is currently in use, a 400 Bad Request
status code will be returned.
Connect to SOL
Initiates a Serial Over LAN (SOL) session and returns a WebSocket URL for the client.
URI: /redfish/v1/Managers/BMC/SerialInterfaces/{id}/Actions/SerialInterface.Connect
Method: POST
Response
HTTP Status Code: 200
HTTP Status Code: 400 Bad Request
If RedirectionEnabled is false, a 400 Bad
Request status code will be returned.
HTTP Status Code: 409 Conflict
If the SOL session is currently in use, a 409 Conflict
status code will be returned.
12.4 SOL (Serial Over LAN) Workflow
The Serial Over LAN (SOL) feature enables remote access to the system’s serial console through a secure WebSocket connection. Below is a step-by-step guide to how the SOL process works using Redfish APIs:
Step 1: Discover Available Serial Interfaces
Use the following endpoint to list all available serial interfaces managed by the OOB:
This returns a list of interface resources, each with a unique identifier.Step 2: Check Interface Capabilities and Status
Use the GET method to inspect a specific interface:
Ensure the following fields are set appropriately:"ServiceEnabled": true
"InterfaceEnabled": true
"RedirectionEnabled": true
If any of these fields are set to false, the SOL connection will be disallowed.
Step 3: Initiate the SOL Session
To begin a remote SOL session, issue a POST to the following action:
If the interface is available and the settings permit redirection, the OOB responds with the WebSocket URI needed for the SOL session.Step 4: Establish WebSocket Connection
Use the WSS URI provided in the response to open a secure WebSocket connection.
This WebSocket will transmit and receive data as if it were a local serial connection.