Serial Over LAN (SOL)

NVIDIA BlueField BMC Software v24.04

If the external NVIDIA® BlueField® serial connection is not available to the switch (i.e., not connected), BMC software enables access to the BlueField through an internal serial connection redirected over an IP address.

To establish the SOL connection, users may retrieve information from the redfish/v1/Systems/Bluefield schema. Inside the SerialConsole properties (SSH, IPMI), there are various methods that a client can utilize to initiate a serial session with the host through its manager.

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield

Example output:

Copy
Copied!
            

{ ... "SerialConsole": { "IPMI": { "ServiceEnabled": true }, "MaxConcurrentSessions": 15, "SSH": { "HotKeySequenceDisplay": "Press ~. to exit console", "Port": 2200, "ServiceEnabled": truethe } }, ... }

Based on the information provided, it is possible to establish a connection to the system's serial interface using the configured settings. In the following example, an SSH connection is utilized to connect to the system's serial interface:

Copy
Copied!
            

ssh <bmc_ip> -p <port-number>

The port number can be obtain from the SerialConsole schema. In this example, that would be port 2200.

To connect to serial-over-LAN use the following IPMI command from an external server:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <ip-address-of-bmc > -U ADMIN -P ADMIN sol activate

For example:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H 10.10.10.10 -U ADMIN -P ADMIN sol activate [SOL Session operational. Use ~? for help]   Poky (Yocto Project Reference Distro)   2.3.1 bluefield /dev/ttyAMA0   bluefield login:

The IPMI SOL commands are listed in the following table:

No.

Function

Command

Description

1

Get SOL info

Copy
Copied!
            

ipmitool sol info

Copy
Copied!
            

ipmitool sol info 1

Get SOL configuration data

2

Enable SOL access

Copy
Copied!
            

ipmitool sol set set-in-progress set-complete 1

Copy
Copied!
            

ipmitool sol set enabled true 1

Enable the properties to be set via set-in-progress then enable SOL access

3

Activate SOL

Copy
Copied!
            

ipmitool -C 17 -I lanplus -U <username> -P <password> -H <ip_address> sol activate

Where:

  • -U – BMC username

  • -H – BMC IP address

  • -P – BMC password

Activate SOL access to the BlueField console

4

Deactivate SOL

Copy
Copied!
            

ipmitool -C 17 -I lanplus -U <username> -P <password> -H <ip_address> sol deactivate

Deactivate SOL access to the BlueField console

Note

SOL feature can be used even if BlueField is configured to use UART1/ttyAMA1.

SysRq is a special key combination used by Linux to perform various low-level commands. SOL invokes the SysRq feature by sending a serial break signal, followed by the desired key. To enable SysRq, the user must issue the following command on the BlueField:

Copy
Copied!
            

echo 1 > /proc/sys/kernel/sysrq

In the SOL of BMC, the break signal is generated by keys \n~B. So, in an SOL session, the user may enter the \n~B keys to trigger the break and then enter a keycode as the SysRq command.

For example, the following are the outputs when inputting h after generating a break signal in the SOL session:

  • For SOL over IPMI:

    Copy
    Copied!
                

    ipmitool -C 17 -I lanplus -H 10.10.10.10 -U ADMIN -P ADMIN sol activate [SOL Session operational. Use ~? for help]   Poky (Yocto Project Reference Distro)   2.3.1 bluefield /dev/ttyAMA0   bluefield login: bluefield login: ~B [send break] [490472.371785] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)

  • For SOL over SSH (break signal generated with \n~~B):

    Copy
    Copied!
                

    ssh -p 2200 root@10.10.10.10 root@10.10.10.10's password:   bluefield login: [490472.371785] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)

    Note

    In the context of SOL over SSH connections, an additional tilde symbol ('~') is used to navigate through multiple layers of SSH sessions to access the SOL session (e.g., \n~~B ).

© Copyright 2024, NVIDIA. Last updated on May 10, 2024.